YADE appears error in the Ubuntu 16.04

Asked by liukeqi

Hello,
     In the past, I used Ubuntu 14.04 to install YADE(1.07.0) and built a model which used material "cpmmat". It worked fine. But now, I used Ubuntu 16.04 and install YADE(1.20.0) on it by the same way that using the command "sudo apt-get install yade", and use it to run the same *.py code(model). It does not work any more. If I use YADE on Ubuntu 16.04 to run the concrete example in trunk/examples/concrete, it still work fine. I think may be the YADE source code changed(from 1.07.0 to 1.20.0) and my model is incompatible with the new one. The error information and my code is following. Can you give me some suggestions?

************************************* the error information
Welcome to Yade 1.20.0
TCP python prompt on localhost:9000, auth cookie `cdsusy'
XMLRPC info provider on http://localhost:21000
Running script parameter.py
python: /usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h:648: void Eigen::JacobiSVD<MatrixType, QRPreconditioner>::allocate(Eigen::Index, Eigen::Index, unsigned int) [with _MatrixType = Eigen::Matrix<double, 3, 3>; int QRPreconditioner = 2; Eigen::Index = long int]: Assertion `(!(m_computeThinU || m_computeThinV) || (MatrixType::ColsAtCompileTime==Dynamic)) && "JacobiSVD: thin U and V are only available when your matrix has a dynamic number of columns."' failed.
Aborted (core dumped)

************************************* my model code
#!/usr/bin/python # This is server.py file
import string
from yade import plot,qt
from yade.pack import *
from yade import pack, plot

O.materials.append(CpmMat(young=140e9,density=4800,frictionAngle=atan(0.8),poisson=.2,sigmaT=180e8,epsCrackOnset=0.033e-4,relDuctility=11000))
initSize=0.02

sp=pack.randomPeriPack(radius=.000625,initSize=Vector3(initSize,initSize,initSize))
O.periodic=True
sp.toSimulation()

O.dt=1e-7

plot.plots={'ey':('sy',)}
def plotAddData():
 plot.addData(
  sy=p3d.stress[1],
  ey=p3d.strain[1],
  ex=p3d.strain[0]
 )

EnlargeFactor=1.5
EnlargeFactor=1.0
O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=EnlargeFactor,label='bo1s')]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=EnlargeFactor,label='ig2ss')],
  [Ip2_CpmMat_CpmMat_CpmPhys()],[Law2_ScGeom_CpmPhys_Cpm()]),
 NewtonIntegrator(),
 Peri3dController(

       nSteps=4000, # how many time steps the simulation will last
       # after reaching nSteps do doneHook action
       doneHook='print "Simulation with Peri3dController finished."; O.pause()',

       label='p3d'
       ),
 PyRunner(command='plotAddData()',iterPeriod=1),
]

p3d.stressMask=0b100001
p3d.goal=(0,-0.008,0,0,0,0)
O.step()
bo1s.aabbEnlargeFactor=ig2ss.interactionDetectionFactor=1.
O.run(); O.wait()
plot.plot(subPlots=False)

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
Last query:
Last reply:
Revision history for this message
Best Jan Stránský (honzik) said :
#1

Hello,
this is a bug, probably coming from a different version of Eigen library in
Ubuntu 16.04. We will try to correct it.
Cheers
Jan

2016-10-26 14:07 GMT+02:00 liukeqi <email address hidden>:

> New question #403514 on Yade:
> https://answers.launchpad.net/yade/+question/403514
>
> Hello,
> In the past, I used Ubuntu 14.04 to install YADE(1.07.0) and built a
> model which used material "cpmmat". It worked fine. But now, I used Ubuntu
> 16.04 and install YADE(1.20.0) on it by the same way that using the command
> "sudo apt-get install yade", and use it to run the same *.py code(model).
> It does not work any more. If I use YADE on Ubuntu 16.04 to run the
> concrete example in trunk/examples/concrete, it still work fine. I think
> may be the YADE source code changed(from 1.07.0 to 1.20.0) and my model is
> incompatible with the new one. The error information and my code is
> following. Can you give me some suggestions?
>
>
> ************************************* the error information
> Welcome to Yade 1.20.0
> TCP python prompt on localhost:9000, auth cookie `cdsusy'
> XMLRPC info provider on http://localhost:21000
> Running script parameter.py
> python: /usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h:648: void
> Eigen::JacobiSVD<MatrixType, QRPreconditioner>::allocate(Eigen::Index,
> Eigen::Index, unsigned int) [with _MatrixType = Eigen::Matrix<double, 3,
> 3>; int QRPreconditioner = 2; Eigen::Index = long int]: Assertion
> `(!(m_computeThinU || m_computeThinV) || (MatrixType::ColsAtCompileTime==Dynamic))
> && "JacobiSVD: thin U and V are only available when your matrix has a
> dynamic number of columns."' failed.
> Aborted (core dumped)
>
> ************************************* my model code
> #!/usr/bin/python # This is server.py file
> import string
> from yade import plot,qt
> from yade.pack import *
> from yade import pack, plot
>
> O.materials.append(CpmMat(young=140e9,density=4800,
> frictionAngle=atan(0.8),poisson=.2,sigmaT=180e8,epsCrackOnset=0.033e-4,
> relDuctility=11000))
> initSize=0.02
>
> sp=pack.randomPeriPack(radius=.000625,initSize=Vector3(
> initSize,initSize,initSize))
> O.periodic=True
> sp.toSimulation()
>
> O.dt=1e-7
>
> plot.plots={'ey':('sy',)}
> def plotAddData():
> plot.addData(
> sy=p3d.stress[1],
> ey=p3d.strain[1],
> ex=p3d.strain[0]
> )
>
> EnlargeFactor=1.5
> EnlargeFactor=1.0
> O.engines=[
> ForceResetter(),
> InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=
> EnlargeFactor,label='bo1s')]),
> InteractionLoop(
> [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=
> EnlargeFactor,label='ig2ss')],
> [Ip2_CpmMat_CpmMat_CpmPhys()],
> [Law2_ScGeom_CpmPhys_Cpm()]),
> NewtonIntegrator(),
> Peri3dController(
>
> nSteps=4000,
> # how many time steps the simulation will last
> # after reaching
> nSteps do doneHook action
> doneHook='print
> "Simulation with Peri3dController finished."; O.pause()',
>
> label='p3d'
> ),
> PyRunner(command='plotAddData()',iterPeriod=1),
> ]
>
>
>
> p3d.stressMask=0b100001
> p3d.goal=(0,-0.008,0,0,0,0)
> O.step()
> bo1s.aabbEnlargeFactor=ig2ss.interactionDetectionFactor=1.
> O.run(); O.wait()
> plot.plot(subPlots=False)
>
>
>
>
>
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
liukeqi (891979456-h) said :
#2

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

Revision history for this message
Jan Stránský (honzik) said :
#3

Hello,
the problems is fixed in github version. You can use yadedaily (the change
should be available in yadedaily in a few days), compile Yade form source
by yourself, or wait until new yade package is added to Ubuntu (have no
idea about the process).
cheers
Jan

2016-10-27 3:48 GMT+02:00 liukeqi <email address hidden>:

> Question #403514 on Yade changed:
> https://answers.launchpad.net/yade/+question/403514
>
> Status: Answered => Solved
>
> liukeqi confirmed that the question is solved:
> Thanks Jan Stránský, that solved my question.
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>