← Back to team overview

yade-users team mailing list archive

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.