# RuntimeError: Secondary views not supported

Asked by ehsan benabbas on 2019-10-22

Hello,

I am using Ubuntu 18.04, and Yade 2019-08-08.git-775ae74

Unfortunately there is no question about run time error on forums, so I couldn't find the answer.
Also, I have read the wiki and tutorials, struggle with codes as a beginner in yade and asked some questions. Finally, I slightly changed https://.../script-session1.py. I got some errors such as syntax ones and fixed them and Jan kindly solved some of my questions as well, but I get the following error now:

ehsan@ehsan:~/Desktop$/home/ehsan/yade/install/bin/yade-2019-08-08.git-775ae74 Q.py Welcome to Yade 2019-08-08.git-775ae74 Using python version: 3.6.8 (default, Oct 7 2019, 12:59:55) [GCC 8.3.0] TCP python prompt on localhost:9000, auth cookie `ydeusa' XMLRPC info provider on http://localhost:21000 Running script Q.py The constructor with a shareWidget is deprecated, use the regular contructor instead. Number of elements: 2006 Box Volume: 5.3940427e-317 Box Volume calculated: 1000.0 unbalanced force: 0.028635486048758475 mean stress engine: -49967.412175869984 mean stress (Calculated): -49968.34690148215 porosity= 0.42855173543019676 void ratio= 0.7499396918333777 -----Phase_01: Isotropic compression 50kPa--(^_^)--- unbalanced force: 0.007193260745831804 mean stress engine: -50004.49167253919 mean stress (Calculated): -50003.46882462894 porosity= 0.4280204122032604 void ratio= 0.7483141380131962 -----Phase_01: Isotropic compression 50kPa--(^_^)--- ### Isotropic phase saved ### Traceback (most recent call last): File "/home/ehsan/yade/install/bin/yade-2019-08-08.git-775ae74", line 336, in runScript execfile(script,globals()) File "/usr/lib/python3/dist-packages/past/builtins/misc.py", line 82, in execfile exec_(code, myglobals, mylocals) File "Q.py", line 165, in <module> qt.View() RuntimeError: Secondary views not supported [[ ^L clears screen, ^U kills line. F12 controller, F11 3D view (press "h" in 3D view for help), F10 both, F9 generator, F8 plot. ]] In [1]: ***************************************************************************** This is my code: ############################################################################################################################ ######### TRIAXIAL PROBLEM, Y IS THE VERTICAL AXIS, X IS THE RIGHT AXIS, Z IS THE FRONT AXIS ######### ############################################################################################################################ import numpy as np import math from yade import pack, plot, qt, export, utils from datetime import datetime ###################################################### ######### DEFINING VARIABLES ######### nRead=readParamsFromTable( num_spheres=2000, compFricDegree = 30, key='_triax_base_', unknownOk=True ) from yade.params import table num_spheres=table.num_spheres key=table.key targetPorosity = 0.43 compFricDegree = table.compFricDegree finalFricDegree = 30 rate=-0.02 damp=0.2 stabilityThreshold=0.01 young=15e6 poisson=0.4 mn,mx=Vector3(0,0,0),Vector3(10,10,10) sigmaIso=-50e3 ###################################################### ######### DEFINING MATERIALS ######### O.materials.append(FrictMat(young=young,poisson=poisson,frictionAngle=radians(compFricDegree),density=2600,label='spheres')) O.materials.append(FrictMat(young=young,poisson=poisson,frictionAngle=0,density=0,label='frictionlesswalls')) #################################################### ######### DEFINING PACKING ######### walls=aabbWalls([mn,mx],thickness=0,material='frictionlesswalls') wallIds=O.bodies.append(walls) sp=pack.SpherePack() volume = (mx[0]-mn[0])*(mx[1]-mn[1])*(mx[2]-mn[2]) mean_rad = pow(0.09*volume/num_spheres,0.3333) clumps=False if clumps: volume = (mx[0]-mn[0])*(mx[1]-mn[1])*(mx[2]-mn[2]) mean_rad = pow(0.09*volume/num_spheres,0.3333) c1=pack.SpherePack([((-0.2*mean_rad,0,0),0.5*mean_rad),((0.2*mean_rad,0,0),0.5*mean_rad)]) sp.makeClumpCloud(mn,mx,[c1],periodic=False) sp.toSimulation(material='spheres') O.bodies.updateClumpProperties() else: sp.makeCloud(mn,mx,-1,0.3333,num_spheres,False, 0.95,seed=1) O.bodies.append([sphere(center,rad,material='spheres') for center,rad in sp]) ########################################################## ######### DEFINING TRIAXIAL TEST ######### triax=TriaxialStressController( maxMultiplier=1.+2e4/young, finalMaxMultiplier=1.+2e3/young, thickness = 0, stressMask = 7, internalCompaction=False ) ###################################################### ######### DEFINING FUNCTIONS ######### def checkUnbalanced(): if unbalancedForce()<.05: O.pause() plot.saveDataTxt('bbb.txt.bz2') def history(): plot.addData(e11=-triax.strain[0], e22=-triax.strain[1], e33=-triax.strain[2], ev=-triax.strain[0]-triax.strain[1]-triax.strain[2], s11=-triax.stress(triax.wall_right_id)[0], s22=-triax.stress(triax.wall_top_id)[1], s33=-triax.stress(triax.wall_front_id)[2], i=O.iter,unbalanced=unbalancedForce() ) #################################################### ######### DEFINING ENGINES ######### newton=NewtonIntegrator(damping=damp) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), triax, TriaxialStateRecorder(iterPeriod=100,file='WallStresses'+table.key), newton, PyRunner(iterPeriod=20,command='history()',label='recorder'), PyRunner(command='checkUnbalanced()',realPeriod=2) ] Gl1_Sphere.stripes=True if nRead==0: yade.qt.Controller(), yade.qt.View() print ('Number of elements: ', len(O.bodies)) print ('Box Volume: ', triax.boxVolume) print ('Box Volume calculated: ', volume) ############################################################### ######### APPLYING CONFINING PRESSURE ######### triax.internalCompaction=False setContactFriction=radians(compFricDegree) triax.stressmask=7 triax.goal1=sigmaIso triax.goal2=sigmaIso triax.goal3=sigmaIso while 1: O.run(1000, True) unb=unbalancedForce() meanS=(triax.stress(triax.wall_right_id)[0]+triax.stress(triax.wall_top_id)[1]+triax.stress(triax.wall_front_id)[2])/3 print ('unbalanced force:',unb,' mean stress engine: ',triax.meanStress,' mean stress (Calculated): ',meanS) print ('porosity=',triax.porosity) print ('void ratio=',triax.porosity/(1-triax.porosity)) print ('-----Phase_01: Isotropic compression 50kPa--(^_^)---') if unb<stabilityThreshold and abs(sigmaIso-triax.meanStress)/sigmaIso<0.001: break O.save('confinedPhase'+key+'.xml') print ('### Isotropic phase saved ###') e22Check=triax.strain[1] ###################################################### ######### DEVIATORIC LOADING ######### triax.internalCompaction=False setContactFriction=radians(compFricDegree) triax.stressMask = 5 triax.goal2=rate triax.goal1=sigmaIso triax.goal3=sigmaIso #while 1: #O.run(1000, True) #unb=unbalancedForce() #axialS=triax.stress(triax.wall_top_id)[1] #print ('step=', O.iter, 'unbalanced force:',unb,' sigma2: ',axialS, 'q=', axialS-sigmaIso) #print ('axial deformation (%)', (triax.strain[1]-e22Check)*100) #if abs((triax.strain[1]-e22Check)-0.01)<=0.001: #O.save('firstpoint.xml') # if abs((triax.strain[1]-e22Check)-0.02)<=0.001: # O.save('secondpoint.xml') # if abs((triax.strain[1]-e22Check)-0.03)<=0.001: # O.save('thirdpoint.xml') # if abs((triax.strain[1]-e22Check)-0.05)<=0.001: # O.save('fourthpoint.xml') # if triax.strain[1]-e22Check>=0.3 : # break #O.save('final.xml') ######################################################## ######### RECORD AND PLOT DATA ######### qt.View() O.run(5000,True) plot.plots={'e22':('s11','s22','s33'),'e22':('ev')} plot.labels={'s11':'$\sigma_{11}$' , 's22':'$\sigma_{22}$' , 's33':'$\sigma_{33}$' , 'e11':'$\epsilon_{11}$' , 'e22':'$\epsilon_{22}$' , 'e33':'$\epsilon_{33}$' , 'ev':'$\epsilon_{V}\$'}
plot.plot()
plot.saveDataTxt('results'+key)
plot.saveGnuplot('plotScript'+key)

********************************************************

And also before the error, I get 1 notice as "The constructor with a shareWidget is deprecated, use the regular contructor instead.". I don't know if this affects my code or not.

Could you please let me know if there is any other mistake in this code?

Thank you very much for your help.

## Question information

Language:
English Edit question
Status:
Solved
For:
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
2019-10-23
Last query:
2019-10-23
2019-10-22
 Jan Stránský (honzik) said on 2019-10-22: #1

Hi,

> there is no question about run time error on forums

see [1] (but you are right, for some reason I could not google it but had to find it in email)

solution: do not use qt.View() more than once in your script

cheers
Jan

 ehsan benabbas (ehsanben) said on 2019-10-23: #2

Thanks Jan Stránský, that solved my question.