[Yade-users] [Question #688333]: site yade-dem.org does not working
New question #688333 on Yade: https://answers.launchpad.net/yade/+question/688333 https://yade-dem.org/ redirecting to https://yade-dem.org/doc/ and this page contain following information: Index of /doc [ICO] NameLast modified SizeDescription [PARENTDIR] Parent Directory- Apache/2.4.25 (Debian) Server at yade-dem.org Port 443 But there is no access to site. And it is not the first time this error occurs. Can it be fixed? Fixed once and forever? -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #688333]: site yade-dem.org does not working
Question #688333 on Yade changed: https://answers.launchpad.net/yade/+question/688333 Status: Answered => Solved Daria confirmed that the question is solved: Thanks Robert Caulk, 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #689000]: Yade simulation freezes
New question #689000 on Yade: https://answers.launchpad.net/yade/+question/689000 I'm running YADE-OpenFOAM coupling examples. And the simulation freezes at some time (in the middle of calculations) during the yade iteration. How can I view log of yade (better log to screen) of current iteration to understand why the calculation breaks down. There is also more general question: how to make simulation run stable? Also the calculation never finishes by itself: it always freezes at "Finalising parallel run". So I need to kill it. -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Daria posted a new comment: - Yade version: 2020-02-02.git-472f4cb - I'm running icoFoamYade - Is there way to attach files or archive with my case to this question or it is better to copy files content here? I have got problem to set the same simulation end time in Yade and OpenFOAM: in OpenFOAM I set stopAt endTime (it is virtual time in YADE termins) and set a writeInterval (writeControl adjustableRunTime); in YADE I set in VTKRecorder virtPeriod at the same as writeInterval and set run(10) with dynamical time step (I think it is dynamical because otherwise I tried to set O.dt and O.dynDt=False and my calculation stopped unexpectedly) -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Status: Answered => Open Daria is still having a problem: I want to note that one calculation falls down at different times every run, but these times are similar. -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Daria gave more information on the question: controlDict: FoamFile { version 2.0; format ascii; class dictionary; location"system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application icoFoamYade; startFrom startTime; startTime 0; stopAt endTime; endTime 1; deltaT 1e-3; writeControladjustableRunTime;//timeStep; writeInterval 0.02; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression on; timeFormat general; timePrecision 6; runTimeModifiable true; -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Status: Answered => Open Daria is still having a problem: scriptYade.py: from __future__ import print_function import sys from yadeimport import * from yade.utils import * initMPI() #Initialize the mpi environment, always required. fluidCoupling = yade.FoamCoupling(); #Initialize the engine fluidCoupling.getRank();#part of Initialization. #example of spheres in shear flow : two-way point force coupling class simulation(): def __init__(self): epsilon = 1e-08 minval = epsilon maxval = 1-epsilon length = maxval - minval halflength = length / 2 radius = 0.01 radiusEpsilon = 0.001 # O.periodic = True # O.cell.setBox(maxval, maxval, maxval) numspheres=1000 young = 1e6#ice#5e6#1 poisson = 0.2#0.4 density = 1000 O.materials.append(FrictMat(young=young,poisson=poisson,frictionAngle=radians(15),density=density,label='spheremat')) O.materials.append(FrictMat(young=200e9,poisson=0.001,frictionAngle=0,density=0,label='wallmat')) #wall coords, use facets for wall BC: v0 = Vector3(minval,minval,minval) v1 = Vector3(minval,minval,maxval) v2 = Vector3(maxval,minval,minval) v3 = Vector3(maxval,minval,maxval) v4 = Vector3(minval,maxval,minval) v5 = Vector3(minval,maxval,maxval) v6 = Vector3(maxval,maxval,minval) v7 = Vector3(maxval,maxval,maxval) df0 = facet([v0,v1,v2],material='wallmat') O.bodies.append(df0) df1 = facet([v1,v3,v2],material='wallmat') O.bodies.append(df1) uf0 = facet([v4,v5,v6],material='wallmat') O.bodies.append(uf0) uf1 = facet([v5,v7,v6],material='wallmat') O.bodies.append(uf1) lf0 = facet([v0,v1,v5],material='wallmat') O.bodies.append(lf0) lf1 = facet([v1,v5,v4],material='wallmat') O.bodies.append(lf1) rf0 = facet([v2,v3,v7],material='wallmat') O.bodies.append(rf0) rf1 = facet([v2,v7,v6],material='wallmat') O.bodies.append(rf1) ff0 = facet([v1,v5,v4],material='wallmat') O.bodies.append(ff0) ff1 = facet([v5,v7,v4],material='wallmat') O.bodies.append(ff1) bf0 = facet([v0,v4,v2],material='wallmat') O.bodies.append(bf0) bf1 = facet([v4,v6,v2],material='wallmat') O.bodies.append(bf1) #spheres mn, mx= Vector3(minval+2*radius, minval+2*radius, minval+2*radius), Vector3(maxval-2*radius, maxval-2*radius, maxval-2*radius) sp = pack.SpherePack() sp.makeCloud(mn,mx,rMean=radius,rRelFuzz=radiusEpsilon, num=numspheres) O.bodies.append([sphere(center,rad,material='spheremat') for center,rad in sp]) sphereIDs = [b.id for b in O.bodies if type(b.shape)==Sphere] #coupling engine settings fluidCoupling.setNumParticles(len(sphereIDs)) fluidCoupling.setIdList(sphereIDs) fluidCoupling.isGaussianInterp=False #use pimpleFoamYade for gaussianInterp # Integrator newton=NewtonIntegrator(damping=0.0, gravity = (0.0 ,-1.81, 0.0)) # add small damping in case of stability issues.. ~ 0.1 max, also note : If gravity is needed, set it in constant/g dir. # O.dt=1e-5 # O.dynDt=False O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()], allowBiggerThanPeriod=True), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.5, label = "ts"), fluidCoupling, #to be called after timestepper PyRunner(command='sim.printMessage()', iterPeriod= 1, label='outputMessage'), newton, VTKRecorder(fileName='yadep/3d-
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Status: Answered => Open Daria is still having a problem: The case freezes without taking a single YADE step =( A have got one more question: I commented lines # O.periodic = True # O.cell.setBox(maxval, maxval, maxval) to make my boundaries solid (I want particles just to fall down in box) but despite this particles start to appear at top of the box... Some times they also starts to move randomly in such a way that you can't understand in which direction each of them is moving and why. -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Status: Answered => Open Daria is still having a problem: https://github.com/RomanovaDI/snowModelling/wiki There is my case of modeling of the snowdrift formation. It is assumed that snow will accumulate in the corner on the right because of wind and gravity. But in fact it just falls down through bottom. There is periodic condition set in YADE script and if I turns it off calculation drops. Can you help me to set up this case in a way I described (snow is accumulating in the angle at right side because of wind and gravity)? Also I would like to run YADE part of this case in the separate way. I'm doing it using runYade.sh script which is represented in git repository after commenting fluid coupling engine in scriptYade.py; but it shows a lot of errors. How should I modify scriptYade.py to run it using YADE without OpenFOAM coupling? -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Daria posted a new comment: Case was updated on github. It is now working fine also some instructions were added. YADE case without CFD was added. -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Daria posted a new comment: >I think this paragraph is sufficient to explain why the discussion was >abandoned. >https://www.yade-dem.org/wiki/Howtoask It's inefficient to copy the contents of all case files here -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #689000]: Yade simulation freezes
Question #689000 on Yade changed: https://answers.launchpad.net/yade/+question/689000 Status: Expired => Open Daria is still having a problem: There is problems with time settings in example_icoFoamYade again. The same problem is in example_pimpleFoamYade. The last doesn't work at all (I downloaded it from gitlab and started it using instruction, but it freezed after words "Finalising parallel run"). example_icoFoamYade worked till I tried to set more time to calculate, after it calculation freedzes too. Can you explain me how to set end time in example_icoFoam to 1 second for example. -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692315]: Calculation time definition
New question #692315 on Yade: https://answers.launchpad.net/yade/+question/692315 There is problems with time settings in example_icoFoamYade. The same problem is in example_pimpleFoamYade. The last doesn't work at all (I downloaded it from gitlab and started it using instruction, but it freezed after words "Finalising parallel run"). example_icoFoamYade worked till I tried to set more time to calculate, after that calculation freedzed too. Can you explain me how to set end time in example_icoFoam to 1 second for example. Also I tried to comment GlobalStiffnessTimeStepper function and set O.dt manually. It were calculated normally, openfoam printed "End", yade printed "Finalising parallel run" but then it freezed. How to set time normally? -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692332]: Flow around cylinder
New question #692332 on Yade: https://answers.launchpad.net/yade/+question/692332 Is there any function to add cylinder as a body made of wallmat? I tried yade.wrapper.Cylinder(segment=[0,0,1],radius=0.05) but it couldn't be added to list of bodies -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #692332]: Flow around cylinder
Question #692332 on Yade changed: https://answers.launchpad.net/yade/+question/692332 Status: Answered => Open Daria is still having a problem: Thank you, it is working well! Now I don't understand how to set material for this body. Material is defined this way ### O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='wallmat')) ### I tried ### b.mat = 'wallmat' ### but it doesn't work -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #692332]: Flow around cylinder
Question #692332 on Yade changed: https://answers.launchpad.net/yade/+question/692332 Status: Answered => Open Daria is still having a problem: Okay, Thank you very much! There is no more errors in my script, but still it doesn't working. My case just freezes after start with no error. I posted case on github (RomanovaDI/FlowAroundCylinderYadeOpenFOAM) . It is YADE OpenFOAM coupling case -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #692332]: Flow around cylinder
Question #692332 on Yade changed: https://answers.launchpad.net/yade/+question/692332 Daria gave more information on the question: Function ### GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.7, label = "ts"), ### makes O.dt equal to nan, why can it be? (No errors were printed) -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #692332]: Flow around cylinder
Question #692332 on Yade changed: https://answers.launchpad.net/yade/+question/692332 Status: Needs information => Open Daria gave more information on the question: scriptYade.py #Deepak Kunhappan, deepak.kunhap...@3sr-grenoble.fr #Example script of Yade-OpenFOAM coupling. #get the OpenFOAM solver at : https://github.com/dpkn31/Yade-OpenFOAM-coupling #get the latest version of Yade with the FoamCoupling engine here : https://gitlab.com/yade-dev/trunk #Both binary and compiled versions of OpenFOAM-6 can be used. (currently tested for OpenFOAM-6). #Have MPI (preferably OpenMPI) installed. Note : Both OpenFOAM and Yade has to be compiled with the same MPI version. ## # Usage : # # 1. Enable the OpenFOAM coupling engine : (Requires MPI installation) # cmake -DCMAKE_INSTALL_PREFIX= /path/to/install /path/to/sources -DDEBUG=0 -DCHUNKSIZE=1 -DENABLE_MPI=ON # make # make install # # 2. Complile or install OpenFOAM (get binary from here : https://openfoam.org/download/6-ubuntu ) (ubuntu and debian) #Example installation for ubuntu (careful, it may be different on your system!): # apt install software-properties-common # sudo sh -c "wget -O - http://dl.openfoam.org/gpg.key | apt-key add -" # add-apt-repository http://dl.openfoam.org/ubuntu # apt-get update # apt-get install openfoam6 # . /opt/openfoam6/etc/bashrc #Example installation from source (careful, it may be different on your system!): # sudo apt install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev libptscotch-dev # git clone https://github.com/OpenFOAM/OpenFOAM-6.git # source OpenFOAM-6/etc/bashrc # cd OpenFOAM-6 # # export WM_COMPILE_OPTION=Debug # ./Allwmake -j 2 # # 3. Get the Yade-OpenFOAM solver at : https://github.com/dpkn31/Yade-OpenFOAM-coupling # git clone https://github.com/dpkn31/Yade-OpenFOAM-coupling.git # # 4. Enter the dir : Yade-OpenFOAM-coupling # Adapt the file icoFoamYade/icoFoamYade.C on how shear flow velocity (or other parameters) is initialized up to your linking. # A commented out example is in icoFoamYade/icoFoamYade.C line 59 # Compile the solvers and the libs # ./Allclean # ./Allmake # # 5. Once compilation is done, you can run the solver from any dir. Return to this example file directory. # # 6. Create a symbolic link to Yade Install # ln -s /path/to/yade/install/bin/yade-exec yadeimport.py # # 7. Yade side : # #a) In the Yade side, create the scene/simulation similar to this script : # (typical yade script but recast in classes. See : https://yade-dev.gitlab.io/trunk/user.html#importing-yade-in-other-python-applications) #At present only spheres are supported. The coupling module is called as "FoamCoupling", see lines 127-130 on how to # initialize this. # #b) Set the ids of spheres involved in hydrodynamic interaction: #sphereIDs = [b.id for b in O.bodies if type(b.shape)==Sphere] #fluidCoupling.setNumParticles(len(sphereIDs)) #fluidCoupling.setIdList(sphereIDs) # #c) Type of coupling :icoFoamYade is based on simple point force coupling # fluidCoupling.isGaussianInterp=False; # # # 8. OpenFOAM side : # # Set up the OpenFOAM in the usual way. (If you're an experienced OpenFOAM user, skip this) # I will only highlight the steps to run this example. Note that you can use any type of mesh # that is supported by OpenFOAM. (dynamic mesh is not currently supported). # The coupling is set in the solver icoFoamYade.C; # (nothing has to be modified there, except for velocity initialization.) # # a) create the mesh # blockMesh # # b) decompose the mesh: # decomposePar # # c) make dir for VTK dump for yade # mkdir yadep # # d) run the example : # mpiexec -n 1 python3 scriptYade.py : -n 2 icoFoamYade -parallel # # 9. Notes (OpenFOAM side): # to configure the mesh, edit : system/blockMeshDict # to change the number of subdomains, edit : system/decomposeParDict # to change solver settings, edit: system/controlDict # to change solution settings, edit : system/fvSolution (linear solver settings and choice of linear solvers) # to change discretization schemes, edit : system/fvSceme (for gradient and divergence calculation schemes) # to change fluid properties and particle density , edit : constant/transportProperties # to set BCs : edit the files in 0 for each field variables. # # #10. Post-Processing : Paraview or ParaFOAM can be used to visualize the results, you can also use the OpenFOAM #utilities to postprocess the fluid side. # #
Re: [Yade-users] [Question #692332]: Flow around cylinder
Question #692332 on Yade changed: https://answers.launchpad.net/yade/+question/692332 Daria gave more information on the question: Also I don't understand why YADE is making 9 iterations, but OpenFOAM just one. I thought they synchronize (1 iteration YADE for 1 iteration OpenFoam)? -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692440]: nan time step
New question #692440 on Yade: https://answers.launchpad.net/yade/+question/692440 O.dt is equal nan after function GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.7, label = "ts"), scriptYade.py ### from __future__ import print_function import sys from yadeimport import * from yade.wrapper import * from yade.utils import * initMPI() #Initialize the mpi environment, always required. fluidCoupling = yade.FoamCoupling(); #Initialize the engine fluidCoupling.getRank(); #part of Initialization. #example of spheres in shear flow : two-way point force coupling class simulation(): def __init__(self): O.periodic = True O.cell.setBox(0.4,0.4,0.4) numspheres=1000 young = 5e6 density = 1000 mat1 = FrictMat(young=young,poisson=0.5,frictionAngle=radians(15),density=density,label='spheremat') O.materials.append(mat1) mat2 = FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='wallmat') O.materials.append(mat2) epsilon = 1e-08 minval = 0 + epsilon maxval = 0.4 - epsilon #wall coords, use facets for wall BC: v0 = Vector3(minval, minval, minval) v1 = Vector3(minval,minval,maxval) v2 = Vector3(maxval,minval,minval) v3 = Vector3(maxval,minval,maxval) v4 = Vector3(minval,maxval,minval) v5 = Vector3(minval,maxval,maxval) v6 = Vector3(maxval,maxval,minval) v7 = Vector3(maxval, maxval, maxval) lf0 = facet(vertices=[v0,v1,v2], material='wallmat') O.bodies.append(lf0) lf1 = facet(vertices=[v0,v2,v3], material='wallmat') O.bodies.append(lf1) uf0 = facet(vertices=[v4,v5,v6], material='wallmat') O.bodies.append(uf0) uf1 = facet(vertices=[v4,v6,v7], material='wallmat') O.bodies.append(uf1) ff0 = facet(vertices=[v1,v2,v6], material='wallmat') O.bodies.append(ff0) ff1 = facet(vertices=[v1,v6,v5], material='wallmat') O.bodies.append(ff1) bf0 = facet(vertices=[v0,v3,v7], material='wallmat') O.bodies.append(bf0) bf1 = facet(vertices=[v0,v7,v4], material='wallmat') O.bodies.append(bf1) cyl = Cylinder(segment=[0,0,1],radius=0.05) b = Body() b.shape = cyl b.mat = O.materials['wallmat'] O.bodies.append(b) #spheres #mn, mx= Vector3(minval + epsilon, minval + epsilon, minval + epsilon), Vector3(maxval - epsilon, maxval - epsilon, maxval - epsilon) mn, mx= Vector3(minval + epsilon, minval + epsilon, minval + epsilon), Vector3(-0.06, maxval - epsilon, maxval - epsilon) sp = pack.SpherePack(); sp.makeCloud(mn,mx,rMean=0.00075,rRelFuzz=0.10, num=numspheres) O.bodies.append([sphere(center,rad,material='spheremat') for center,rad in sp]) sphereIDs = [b.id for b in O.bodies if type(b.shape)==Sphere] #coupling engine settings fluidCoupling.setNumParticles(len(sphereIDs)) fluidCoupling.setIdList(sphereIDs) fluidCoupling.isGaussianInterp=False; #use pimpleFoamYade for gaussianInterp # Integrator newton=NewtonIntegrator(damping=0.0, gravity = (0.0 ,0.0, 0.0)) # add small damping in case of stability issues.. ~ 0.1 max, also note : If gravity is needed, set it in constant/g dir. #O.dynDt = False #O.dt=1e-4 O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()], allowBiggerThanPeriod=True), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.7, label = "ts"), fluidCoupling, #to be called after timestepper PyRunner(command='sim.printMessage()', iterPeriod= 1, label='outputMessage'), newton, VTKRecorder(fileName='yadep/3d-vtk-',recorders=['spheres'],iterPeriod=100), ] def printMessage(self): print("YADE-ITER = " + str(O.iter) +" **") print("YADE-TIME = " + str(O.time) +" **") def irun(self,num): O.run(num,1) if __name__=="__main__": sim = simulation() sim.irun(10) fluidCoupling.killMPI() import builtins builtins.sim=sim -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692441]: OpenFOAM YADE coupling iterations
New question #692441 on Yade: https://answers.launchpad.net/yade/+question/692441 I have got 9 YADE iterations for 1 OpaneFOAM iteration. But I can't understand, why it is so. In code it looks like 1 OpenFOAM iteration for 1 YADE iteration or few OpenFOAM iterations for 1 YADE iteration. But not several iterations of YADE for 1 iteration OpenFOAM scriptYade.py ### from __future__ import print_function import sys from yadeimport import * from yade.wrapper import * from yade.utils import * initMPI() #Initialize the mpi environment, always required. fluidCoupling = yade.FoamCoupling(); #Initialize the engine fluidCoupling.getRank(); #part of Initialization. #example of spheres in shear flow : two-way point force coupling class simulation(): def __init__(self): O.periodic = True O.cell.setBox(0.4,0.4,0.4) numspheres=1000 young = 5e6 density = 1000 mat1 = FrictMat(young=young,poisson=0.5,frictionAngle=radians(15),density=density,label='spheremat') O.materials.append(mat1) mat2 = FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='wallmat') O.materials.append(mat2) epsilon = 1e-08 minval = 0 + epsilon maxval = 0.4 - epsilon #wall coords, use facets for wall BC: v0 = Vector3(minval, minval, minval) v1 = Vector3(minval,minval,maxval) v2 = Vector3(maxval,minval,minval) v3 = Vector3(maxval,minval,maxval) v4 = Vector3(minval,maxval,minval) v5 = Vector3(minval,maxval,maxval) v6 = Vector3(maxval,maxval,minval) v7 = Vector3(maxval, maxval, maxval) lf0 = facet(vertices=[v0,v1,v2], material='wallmat') O.bodies.append(lf0) lf1 = facet(vertices=[v0,v2,v3], material='wallmat') O.bodies.append(lf1) uf0 = facet(vertices=[v4,v5,v6], material='wallmat') O.bodies.append(uf0) uf1 = facet(vertices=[v4,v6,v7], material='wallmat') O.bodies.append(uf1) ff0 = facet(vertices=[v1,v2,v6], material='wallmat') O.bodies.append(ff0) ff1 = facet(vertices=[v1,v6,v5], material='wallmat') O.bodies.append(ff1) bf0 = facet(vertices=[v0,v3,v7], material='wallmat') O.bodies.append(bf0) bf1 = facet(vertices=[v0,v7,v4], material='wallmat') O.bodies.append(bf1) cyl = Cylinder(segment=[0,0,1],radius=0.05) b = Body() b.shape = cyl b.mat = O.materials['wallmat'] O.bodies.append(b) #spheres #mn, mx= Vector3(minval + epsilon, minval + epsilon, minval + epsilon), Vector3(maxval - epsilon, maxval - epsilon, maxval - epsilon) mn, mx= Vector3(minval + epsilon, minval + epsilon, minval + epsilon), Vector3(-0.06, maxval - epsilon, maxval - epsilon) sp = pack.SpherePack(); sp.makeCloud(mn,mx,rMean=0.00075,rRelFuzz=0.10, num=numspheres) O.bodies.append([sphere(center,rad,material='spheremat') for center,rad in sp]) sphereIDs = [b.id for b in O.bodies if type(b.shape)==Sphere] #coupling engine settings fluidCoupling.setNumParticles(len(sphereIDs)) fluidCoupling.setIdList(sphereIDs) fluidCoupling.isGaussianInterp=False; #use pimpleFoamYade for gaussianInterp # Integrator newton=NewtonIntegrator(damping=0.0, gravity = (0.0 ,0.0, 0.0)) # add small damping in case of stability issues.. ~ 0.1 max, also note : If gravity is needed, set it in constant/g dir. #O.dynDt = False #O.dt=1e-4 O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()], allowBiggerThanPeriod=True), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.7, label = "ts"), fluidCoupling, #to be called after timestepper PyRunner(command='sim.printMessage()', iterPeriod= 1, label='outputMessage'), newton, VTKRecorder(fileName='yadep/3d-vtk-',recorders=['spheres'],iterPeriod=100), ] def printMessage(self): print("YADE-ITER = " + str(O.iter) +" **") print("YADE-TIME = " + str(O.time) +" **") def irun(self,num): O.run(num,1) if __name__=="__main__": sim = simulation() sim.irun(10) fluidCoupling.killMPI() import builtins builtins.sim=sim -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692476]: Streamlined body
New question #692476 on Yade: https://answers.launchpad.net/yade/+question/692476 How to define geometry in case of flow around a cylinder? If you set the geometry the way I do it, then the time step becomes nan. ### def __init__(self): O.periodic = True O.cell.setBox(0.4,0.4,0.4) numspheres=1000 young = 5e6 density = 1000 mat1 = FrictMat(young=young,poisson=0.5,frictionAngle=radians(15),density=density,label='spheremat') O.materials.append(mat1) mat2 = FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='wallmat') O.materials.append(mat2) epsilon = 1e-08 minval = 0 + epsilon maxval = 0.4 - epsilon #wall coords, use facets for wall BC: v0 = Vector3(minval, minval, minval) v1 = Vector3(minval,minval,maxval) v2 = Vector3(maxval,minval,minval) v3 = Vector3(maxval,minval,maxval) v4 = Vector3(minval,maxval,minval) v5 = Vector3(minval,maxval,maxval) v6 = Vector3(maxval,maxval,minval) v7 = Vector3(maxval, maxval, maxval) lf0 = facet(vertices=[v0,v1,v2], material='wallmat') O.bodies.append(lf0) lf1 = facet(vertices=[v0,v2,v3], material='wallmat') O.bodies.append(lf1) uf0 = facet(vertices=[v4,v5,v6], material='wallmat') O.bodies.append(uf0) uf1 = facet(vertices=[v4,v6,v7], material='wallmat') O.bodies.append(uf1) ff0 = facet(vertices=[v1,v2,v6], material='wallmat') O.bodies.append(ff0) ff1 = facet(vertices=[v1,v6,v5], material='wallmat') O.bodies.append(ff1) bf0 = facet(vertices=[v0,v3,v7], material='wallmat') O.bodies.append(bf0) bf1 = facet(vertices=[v0,v7,v4], material='wallmat') O.bodies.append(bf1) ##cylinder## cyl = Cylinder(segment=[0,0,1],radius=0.05) b = Body() b.shape = cyl b.mat = O.materials['wallmat'] O.bodies.append(b) #spheres mn, mx= Vector3(minval + epsilon, minval + epsilon, minval + epsilon), Vector3(-0.06, maxval - epsilon, maxval - epsilon) sp = pack.SpherePack(); sp.makeCloud(mn,mx,rMean=0.00075,rRelFuzz=0.10, num=numspheres) O.bodies.append([sphere(center,rad,material='spheremat') for center,rad in sp]) sphereIDs = [b.id for b in O.bodies if type(b.shape)==Sphere] -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692617]: None of given Law2 functors can handle interaction #108+380, types geom:ScGeom=1 and phys:CohFrictPhys=5 (LawDispatcher::getFunctor2D returned empty functor)
New question #692617 on Yade: https://answers.launchpad.net/yade/+question/692617 I'm trying to simulate cohesion of spheres to cylinder in flow around this cylinder My scriptYade.py: from __future__ import print_function import sys from yadeimport import * from yade.wrapper import * from yade.utils import * initMPI() #Initialize the mpi environment, always required. fluidCoupling = yade.FoamCoupling(); #Initialize the engine fluidCoupling.getRank();#part of Initialization. #example of spheres in shear flow : two-way point force coupling class simulation(): def __init__(self): O.periodic = True O.cell.setBox(1,0.4,0.2) numspheres=1000 young = 5e6 density = 2000 mat1 = CohFrictMat(normalCohesion=1e7, shearCohesion=1e7, young=young, poisson=0.5, frictionAngle=radians(15), density=density, label='spheremat') O.materials.append(mat1) mat2 = CohFrictMat(normalCohesion=1e7, shearCohesion=1e7, young=young, poisson=0.5, frictionAngle=radians(15), density=density, label='wallmat') O.materials.append(mat2) epsilon = 1e-08 minval = 0 + epsilon maxx = 1.0 - epsilon maxy = 0.4 - epsilon maxz = 0.2 - epsilon #wall coords, use facets for wall BC: v0 = Vector3(minval, minval, minval) v1 = Vector3(minval,minval,maxz) v2 = Vector3(maxx,minval,minval) v3 = Vector3(maxx,minval,maxz) v4 = Vector3(minval,maxy,minval) v5 = Vector3(minval,maxy,maxz) v6 = Vector3(maxx,maxy,minval) v7 = Vector3(maxx, maxy, maxz) lf0 = facet(vertices=[v0,v1,v2], material='wallmat') O.bodies.append(lf0) lf1 = facet(vertices=[v1,v2,v3], material='wallmat') O.bodies.append(lf1) uf0 = facet(vertices=[v4,v5,v6], material='wallmat') O.bodies.append(uf0) uf1 = facet(vertices=[v5,v6,v7], material='wallmat') O.bodies.append(uf1) ff0 = facet(vertices=[v0,v2,v6], material='wallmat') O.bodies.append(ff0) ff1 = facet(vertices=[v0,v6,v4], material='wallmat') O.bodies.append(ff1) bf0 = facet(vertices=[v1,v3,v7], material='wallmat') O.bodies.append(bf0) bf1 = facet(vertices=[v1,v7,v5], material='wallmat') O.bodies.append(bf1) oriBody = Quaternion(Vector3(1,0,0),(0)) O.bodies.append(geom.facetCylinder((0.5,0.2,0.1), radius=0.05, height=0.2, orientation=oriBody, segmentsNumber=100, wallMask=4,material='wallmat')) #spheres mn, mx= Vector3(minval + epsilon, minval + epsilon, minval + epsilon), Vector3(0.45, maxy - epsilon, maxz - epsilon) sp = pack.SpherePack(); sp.makeCloud(mn,mx,rMean=0.001,rRelFuzz=0.1, num=numspheres) O.bodies.append([sphere(center,rad,material='spheremat') for center,rad in sp]) sphereIDs = [b.id for b in O.bodies if type(b.shape)==Sphere] #coupling engine settings fluidCoupling.setNumParticles(len(sphereIDs)) fluidCoupling.setIdList(sphereIDs) fluidCoupling.isGaussianInterp=False; #use pimpleFoamYade for gaussianInterp # Integrator newton=NewtonIntegrator(damping=0.0, gravity = (0.0 ,0.0, 0.0)) # add small damping in case of stability issues.. ~ 0.1 max, also note : If gravity is needed, set it in constant/g dir. O.timingEnabled==True O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()], allowBiggerThanPeriod=True), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()], [ Law2_ScGridCoGeom_CohFrictPhys_CundallStrack(), Law2_CylScGeom6D_CohFrictPhys_CohesionMoment(), Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment(), Law2_ScGeom6D_CohFrictPhys_CohesionMoment(), Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment() ] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.5, label = "ts"), fluidCoupling, #to
Re: [Yade-users] [Question #692617]: None of given Law2 functors can handle interaction #108+380, types geom:ScGeom=1 and phys:CohFrictPhys=5 (LawDispatcher::getFunctor2D returned empty functor)
Question #692617 on Yade changed: https://answers.launchpad.net/yade/+question/692617 Status: Open => Solved Daria confirmed that the question is solved: Other geometry interaction solved problem: [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()] -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692907]: Modelling flow around cylinder: particles fall into a closed cylinder
New question #692907 on Yade: https://answers.launchpad.net/yade/+question/692907 I have got case in which flow around cylinder is simulated. This is YADE-OpenFOAM coupling case. I have got closed cylinder, but at some time particles enter it and simulation fails. How can I fix it? scriptYade.py # from __future__ import print_function import sys from yadeimport import * from yade.wrapper import * from yade.utils import * initMPI() #Initialize the mpi environment, always required. fluidCoupling = yade.FoamCoupling(); #Initialize the engine fluidCoupling.getRank();#part of Initialization. #example of spheres in shear flow : two-way point force coupling class simulation(): def __init__(self): O.periodic = True O.cell.setBox(1,0.4,0.2) numspheres=1000 young = 1e10#5e6 young_steel = 2e11 density = 2#2000 density_steel = 7700 poisson = 0.3#0.5 normalCohesion = 1e7 shearCohesion = 1e7 frictionAngle = radians(15) mat1 = CohFrictMat(normalCohesion=normalCohesion, shearCohesion=shearCohesion, young=young, poisson=poisson, frictionAngle=frictionAngle, density=density, momentRotationLaw=True, label='spheremat') O.materials.append(mat1) mat2 = CohFrictMat(normalCohesion=normalCohesion, shearCohesion=shearCohesion, young=young_steel, poisson=poisson, frictionAngle=frictionAngle, density=density_steel, momentRotationLaw=True, label='wallmat') O.materials.append(mat2) epsilon = 1e-08 minval = 0 + epsilon maxx = 1.0 - epsilon maxy = 0.4 - epsilon maxz = 0.2 - epsilon #wall coords, use facets for wall BC: v0 = Vector3(minval, minval, minval) v1 = Vector3(minval,minval,maxz) v2 = Vector3(maxx,minval,minval) v3 = Vector3(maxx,minval,maxz) v4 = Vector3(minval,maxy,minval) v5 = Vector3(minval,maxy,maxz) v6 = Vector3(maxx,maxy,minval) v7 = Vector3(maxx, maxy, maxz) lf0 = facet(vertices=[v0,v1,v2], material='wallmat') O.bodies.append(lf0) lf1 = facet(vertices=[v1,v2,v3], material='wallmat') O.bodies.append(lf1) uf0 = facet(vertices=[v4,v5,v6], material='wallmat') O.bodies.append(uf0) uf1 = facet(vertices=[v5,v6,v7], material='wallmat') O.bodies.append(uf1) ff0 = facet(vertices=[v0,v2,v6], material='wallmat') O.bodies.append(ff0) ff1 = facet(vertices=[v0,v6,v4], material='wallmat') O.bodies.append(ff1) bf0 = facet(vertices=[v1,v3,v7], material='wallmat') O.bodies.append(bf0) bf1 = facet(vertices=[v1,v7,v5], material='wallmat') O.bodies.append(bf1) oriBody = Quaternion(Vector3(1,0,0),(0)) radius = 0.05 O.bodies.append(geom.facetCylinder((0.5,0.2,0.1),radius=radius,height=0.2,orientation=oriBody,segmentsNumber=100,wallMask=4,material='wallmat')) #spheres mn, mx= Vector3(minval + epsilon, minval + epsilon, minval + epsilon), Vector3(maxx / 2 - radius - epsilon, maxy - epsilon, maxz - epsilon) sp = pack.SpherePack(); sp.makeCloud(mn,mx,rMean=0.003,rRelFuzz=0.5, num=numspheres) O.bodies.append([sphere(center,rad,material='spheremat') for center,rad in sp]) mn, mx= Vector3(maxx / 2 + radius + epsilon, minval + epsilon, minval + epsilon), Vector3(maxx - epsilon, maxy - epsilon, maxz - epsilon) sp = pack.SpherePack(); sp.makeCloud(mn,mx,rMean=0.003,rRelFuzz=0.5, num=numspheres) O.bodies.append([sphere(center,rad,material='spheremat') for center,rad in sp]) sphereIDs = [b.id for b in O.bodies if type(b.shape)==Sphere] #coupling engine settings fluidCoupling.setNumParticles(len(sphereIDs)) fluidCoupling.setIdList(sphereIDs) fluidCoupling.isGaussianInterp=False; #use pimpleFoamYade for gaussianInterp # Integrator newton=NewtonIntegrator(damping=0.0, gravity = (0.0 ,0.0, 0.0)) # add small damping in case of stability issues.. ~ 0.1 max, also note : If gravity is needed, set it in constant/g dir. O.timingEnabled==True O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()], allowBiggerThanPeriod=True),
Re: [Yade-users] [Question #692907]: Modelling flow around cylinder: particles fall into a closed cylinder
Question #692907 on Yade changed: https://answers.launchpad.net/yade/+question/692907 Status: Open => Solved Daria confirmed that the question is solved: Radius of cylinder in YADE must be little bigger then in OpenFOAM, in other way there is area which is out of OpenFOAM calculation area in which particles can enter in YADE calculations. This results an error. This area exists because in YADE cylinder is made of planes. ## oriBody = Quaternion(Vector3(1,0,0),(0)) radius = 0.051 O.bodies.append(geom.facetCylinder((0.5,0.2,0.1),radius=radius,height=0.2,orientation=oriBody,segmentsNumber=100,wallMask=4,material='wallmat')) -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #692976]: BoxFactory in OpenFOAM coupling case
New question #692976 on Yade: https://answers.launchpad.net/yade/+question/692976 I'm trying to use BoxFactory in YADE OpenFOAM coupling case. But there is an error on OpenFOAM side. I think that I use incorrect fluid coupling settings. There is my scriptYade.py: ## from __future__ import print_function import sys from yadeimport import * from yade.wrapper import * from yade.utils import * initMPI() #Initialize the mpi environment, always required. fluidCoupling = yade.FoamCoupling(); #Initialize the engine fluidCoupling.getRank();#part of Initialization. #example of spheres in shear flow : two-way point force coupling class simulation(): def __init__(self): O.periodic = True O.cell.setBox(1,0.4,0.2) numspheres=1000 young = 1e10#5e6 young_steel = 2e11 density = 2#2000 density_steel = 7700 poisson = 0.3#0.5 normalCohesion = 1e7 shearCohesion = 1e7 frictionAngle = radians(15) mat1 = CohFrictMat(normalCohesion=normalCohesion, shearCohesion=shearCohesion, young=young, poisson=poisson, frictionAngle=frictionAngle, density=density, momentRotationLaw=True, label='spheremat') O.materials.append(mat1) mat2 = CohFrictMat(normalCohesion=normalCohesion, shearCohesion=shearCohesion, young=young_steel, poisson=poisson, frictionAngle=frictionAngle, density=density_steel, momentRotationLaw=True, label='wallmat') O.materials.append(mat2) epsilon = 1e-08 minval = 0 + epsilon maxx = 1.0 - epsilon maxy = 0.4 - epsilon maxz = 0.2 - epsilon #wall coords, use facets for wall BC: v0 = Vector3(minval, minval, minval) v1 = Vector3(minval,minval,maxz) v2 = Vector3(maxx,minval,minval) v3 = Vector3(maxx,minval,maxz) v4 = Vector3(minval,maxy,minval) v5 = Vector3(minval,maxy,maxz) v6 = Vector3(maxx,maxy,minval) v7 = Vector3(maxx, maxy, maxz) lf0 = facet(vertices=[v0,v1,v2], material='wallmat') O.bodies.append(lf0) lf1 = facet(vertices=[v1,v2,v3], material='wallmat') O.bodies.append(lf1) uf0 = facet(vertices=[v4,v5,v6], material='wallmat') O.bodies.append(uf0) uf1 = facet(vertices=[v5,v6,v7], material='wallmat') O.bodies.append(uf1) ff0 = facet(vertices=[v0,v2,v6], material='wallmat') O.bodies.append(ff0) ff1 = facet(vertices=[v0,v6,v4], material='wallmat') O.bodies.append(ff1) bf0 = facet(vertices=[v1,v3,v7], material='wallmat') O.bodies.append(bf0) bf1 = facet(vertices=[v1,v7,v5], material='wallmat') O.bodies.append(bf1) oriBody = Quaternion(Vector3(1,0,0),(0)) radius = 0.051 O.bodies.append(geom.facetCylinder((0.5,0.2,0.1), radius=radius, height=0.2, orientation=oriBody, segmentsNumber=100, wallMask=4, material='wallmat')) # Integrator newton=NewtonIntegrator(damping=0.0, gravity = (0.0 ,0.0, 0.0)) # add small damping in case of stability issues.. ~ 0.1 max, also note : If gravity is needed, set it in constant/g dir. O.timingEnabled==True O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()], allowBiggerThanPeriod=True), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=True)], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.3, label = "ts"), fluidCoupling, #to be called after timestepper PyRunner(command='sim.printMessage()', iterPeriod= 1, label='outputMessage'), newton, PyRunner(command='sim.particleFlow()', iterPeriod= 1, label='particleFlow'), DomainLimiter(lo=(-30e-3,-30e-3,0),hi=(30e-3,30e-3,60e-3),iterPeriod=200), VTKRecorder(fileName='yadep/3d-vtk-',recorders=['spheres', 'facets', 'intr', 'force'],virtPeriod=0.1) ] def particleFlow(self): bf = BoxFactory(maxParticles=1,extents=(0,