← Back to team overview

yade-users team mailing list archive

[Question #693030]: Can the modeling method of 'randonDensePack' be used in PFV model?

 

New question #693030 on Yade:
https://answers.launchpad.net/yade/+question/693030

Hello everyone:
I am a beginner in PFV,  i have a bit of problem with modeling in PFV. I changed the modeling method (makeCLoud to randomDensePack) in [1], but this caused an error in my program, and i do not know what caused it. Whether the 'randomDensePack' method cannot be used in the PFV . 

There is my code:
############################
from yade import pack, ymport
import numpy as np
import time

radiuscyl=.05
heightcyl=.25
dP=4.347e3 #Pa
visc=1e-3 #Pa.sec - taken from Catalano, Chareyre, Bathelemy (2014)
density=1000 #kg/m3
g=9.81 #m/s2
spheresRadius = 0.05
young=1e6

O.materials.append(FrictMat(young=young,poisson=0.2,density=1900,label='spheres'))
O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='walls'))
pred=pack.inAlignedBox((0,0,0),(1,1,1))
sp=pack.randomDensePack(pred,radius=spheresRadius,memoizeDb='/tmp/wall.splite',returnSpherePack=True)
sp.toSimulation(color=(0.6,0.5,0.15),material='spheres')
mn,mx=utils.aabbExtrema() # corners of the box that contain the packign. Obtained from aabbExtrema
walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)


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()],label="iloop"
	),
	FlowEngine(dead=1,label="flow"),#introduced as a dead engine for the moment, see 2nd section
	GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
	#triax,
	#PyRunner(dead=1,iterPeriod=2000,command='radiuswelling()',label='swell'),
	#PyRunner(dead=1,iterPeriod=2000,command='degradation()',label='degrada'),
	#SnapshotEngine(iterPeriod=400000,fileBase='Video',label='snapshooter'),
	newton
]

flow.dead=0
flow.defTolerance=0.3
flow.meshUpdateInterval=200
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=10
flow.bndCondIsPressure=[0,0,0,1,0,0]
flow.bndCondValue=[0,0,0,1,0,0]
flow.boundaryUseMaxMin=[0,0,0,0,0,0]
#O.engines=O.engines+[PyRunner(iterPeriod=200,command='flow.saveVtk()')]
O.dt=0.1e-8
O.dynDt=False 
############################

[1]oedometer.py file (the example file for PFV)

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.