problems material type, yade suggest use jcfpm state, what does it mean?
When running the model of clumps using the function " replaceclumps " for my model of spheres with jcpfm material type , the program geometrically makes the spheres can be replaced by clumps but once i run it, this error appears in the terminal.
In [1]: FATAL /build/
Body #573: Body::material type JCFpmMat doesn't correspond to Body::state type State (should be JCFpmState instead).
Please, needing a hand with this, i dont understand what are the characteristics of "state type" and how to solve that error
i tried changing " JCFpmMat" to "JCFpmState" in all the code but it continues not working.
Just in case ,you need it, im sharing the code with you. Thank you in advance
from yade import pack, qt, plot
from numpy import arange
import numpy as np
import random
#DATOS DE ENTRADA
r=0.07
H=1 #altura del muro
B=.45 #base mayor
b=.25 #base menor
L=4 #longitud del muro
#EN SERVICIO
EmpujeTop=2400#Pa
EmpujeBottom=
damp=0.7
aceloutofplane=0
ii=0
# DEFINICION DEL MATERIAL *******
mat1 = JCFpmMat()
mat1.cohesion =0 #Pa32.37e3
mat1.density = 2821 #kg/m3
mat1.frictionAngle = radians(58.74) #rad
mat1.poisson = 0.18
mat1.young = 37.04e9 #Pa
# DEFINICION DE LA JUNTA *******
mat1.jointCohesion = 262000 #Pa
mat1.jointFrict
mat1.jointNorma
mat1.jointShear
#mat1.jointDila
#mat1.jointTens
O.materials.
# GEOMETRIA *******
a=(B-b)*.5
Vol1=pack.
Vol2=pack.
Vol3=pack.
Vol4=Vol1-
Esferas=
O.bodies.
relRadList1 = [.04,.03]
relPosList1 = [[0.035,
#peanut:
relRadList2 = [.05,.05]
relPosList2 = [[0,0,0]
relRadList4 = [0.025,
relPosList4 = [[0,0,0]
#stick:
relRadList3 = [0.05,0.
relPosList3 = [[.04,0,
templates= []
templates.
templates.
templates.
templates.
O.bodies.
# APLICACION DE FUERZAS *******
listSphereA=[]
listSphereB=[]
listSphereC=[]
listSphereD=[]
for x1 in O.bodies:
if isinstance(
listSphereA.
for x2 in O.bodies:
if isinstance(
listSphereB.
for x3 in O.bodies:
if isinstance(
listSphereC.
for x4 in O.bodies:
if isinstance(
listSphereD.
ha=1*H/8.000
hb=3*H/8.000
hc=5*H/8.000
hd=7*H/8.000
m=EmpujeBottom-
Ea=m*ha+EmpujeTop
Eb=m*hb+EmpujeTop
Ec=m*hc+EmpujeTop
Ed=m*hd+EmpujeTop
Fa=Ea*(
Fb=Eb*(
Fc=Ec*(
Fd=Ed*(
def aplicarFuerzaA():
for i in listSphereA:
O.forces.
def aplicarFuerzaB():
for i in listSphereB:
O.forces.
def aplicarFuerzaC():
for i in listSphereC:
O.forces.
def aplicarFuerzaD():
for i in listSphereD:
O.forces.
# CONDICIONES DE BORDE *******
Borde1=
Borde2=
Borde3=
Borde4=
O.bodies.
O.bodies.
O.bodies.
O.bodies.
listSphereBase=[]
#listSphereBord
#listSphereBord
#restringir movimiento en la base
#for y1 in O.bodies:
# if isinstance(
# listSphereBase.
#for y2 in O.bodies:
# if isinstance(
# listSphereBorde
#for y3 in O.bodies:
# if isinstance(
# listSphereBorde
#for i in listSphereBase:
# O.bodies[
#for i in listSphereBorde1:
# O.bodies[
#for i in listSphereBorde2:
# O.bodies[
# DEFINICION DE FUNCIONES *******
listSphereTodo=[]
for m in O.bodies:
if isinstance(
listSphereBas
for i in listSphereTodo:
O.bodies[
def checkUnbalanced():
print ('iter %d, unbalanced forces = %f'%(O.iter, utils.unbalance
print 'Fzas en c/ esfera (N)', Fa, Fb, Fc, Fd
# if unbalancedForce
print ( 'Desplazamiento superior'
listTopBodies=[]
for z1 in O.bodies:
if isinstance(
listTopBodies
w=max(listTopBo
def addPlotData():
plot.addData(
plot.plots=
# ENGINE *******
O.engines=[
ForceResetter(),
InsertionSort
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
NewtonIntegra
PyRunner(
PyRunner(
PyRunner(
PyRunner(
PyRunner(
PyRunner(
VTKRecorder(
]
# DETALLES FINALES *******
O.dt=0.
plot.plot(
plot.live=True # ploteo en tiempo real
qt.Controller() # abre la ventana del controlador
V=qt.View() # abre la ventada de la vista
R=yade.
R.bgColor=
V.screenSize = (900,900) # tamano de pantalla
Question information
- Language:
- English Edit question
- Status:
- Expired
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: