yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #04369
Re: [Question #154219]: Concrete CpmMat CpmPhys
Question #154219 on Yade changed:
https://answers.launchpad.net/yade/+question/154219
Status: Answered => Open
Arthur Mercier is still having a problem:
Non I didn't have this message "Undefined or ambiguous IPhys dispatch
for types FrictMat and FrictMat."
Ok so I define "material=CpmMat" for each body. Just before it closes, it's written:
"5731 FATAL yade.Law2_Dem3DofGeom_CpmPhys_Cpm /home/arthur/yade/yade/pkg/dem/ConcretePM.cpp:206 go: Verification '!isnan(epsCrackOnset)' failed!
6678 FATAL yade.Law2_Dem3DofGeom_CpmPhys_Cpm /home/arthur/yade/yade/pkg/dem/ConcretePM.cpp:206 go: in interaction #7+#24
terminate called without an active exception"
So I tried to define the CpmMat by "myself", so here is my new script:
"import numpy, plot, pack, geom
# radius, number and distance of spheres
rad,num=.1,15; dist=1.9999*rad
idConcrete=O.materials.append(CpmMat(G_over_E='nan',density=4800,poisson=0.25,young=10e9,dmgRateExp=0,dmgTau=-1,epsCrackOnset='nan',isoPrestress=0,neverDamage=False,plRateExp=0,plTau=-1,relDuctility='nan',sigmaT='nan'))
len(O.materials)
# create rectangular box from facets
O.bodies.append(geom.facetBox((.5,-.5,.25),(.5,.5,.5),wallMask=63,material="idConcrete"))
O.bodies.append(geom.facetBox((5,-.5,.25),(.5,.5,.5),wallMask=63,material="idConcrete"))
# one arm
O.bodies.append([utils.sphere((x,.1,0),rad,wire=True,material="idConcrete") for x in numpy.arange(0,55*rad,dist)])
O.dt=.03*utils.PWaveTimeStep()
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
#[Ig2_Sphere_Sphere_L6Geom(distFactor=-1),Ig2_Facet_Sphere_L3Geom()],
#[Ip2_FrictMat_FrictMat_FrictPhys()],
#[Law2_L6Geom_FrictPhys_Linear(charLen=1),Law2_L3Geom_FrictPhys_ElPerfPl()]),
[Ig2_Sphere_Sphere_Dem3DofGeom(),Ig2_Facet_Sphere_Dem3DofGeom()],
#[Ig2_Sphere_Sphere_Dem3DofGeom(),Ig2_Facet_Sphere_Dem3DofGeom()],
[Ip2_CpmMat_CpmMat_CpmPhys()],
[Law2_Dem3DofGeom_CpmPhys_Cpm()]),
GravityEngine(gravity=(0,-20,0)),
ForceEngine(force=(0,0,0),ids=[38]),
NewtonIntegrator(damping=0.1),
]
O.saveTmp()"
I think I made a mistake but I don't know where, it's like if the material isn't define, so I have a lot of problems after that, but the first error message is:
"idConcrete=O.materials.append(CpmMat(G_over_E='nan',density=4800,poisson=0.25,young=10e9,dmgRateExp=0,dmgTau=-1,epsCrackOnset='nan',isoPrestress=0,neverDamage=False,plRateExp=0,plTau=-1,relDuctility='nan',sigmaT='nan'))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/arthur/yade/build/lib/yade-new/py/yade/__init__.pyc in <module>()
----> 1
2
3
4
5
TypeError: No registered converter was able to produce a C++ rvalue of
type double from this Python object of type str"
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.