yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #22214
[Question #688885]: Finding where a bond broke
New question #688885 on Yade:
https://answers.launchpad.net/yade/+question/688885
Hi,
In my model, I have 3D spheres aligned in the x-y plane (100 by 100). Each sphere is bonded with its neighboring spheres. There is a precrack in the model and I am applying a force field within the precrack. Once the model runs, the crack opens up and starts to propagate. Within the simulation I want to do the following:
If a new bond breaks:
El1 = #element#1;
El2 = #element#2;
O.forces.setPermF(El1,(0,0.01000*O.time,0))
O.forces.setPermF(El2,(0,-0.01000*O.time,0))
I hope you understand. Basically, once a bond breaks, I want to apply a force on the 2 element that the bond broke between. I know that I have to write a function script. If you can just tell me how to get the if condition activated once a new bond breaks and how to get the element numbers, that would be off great help.
Thanks!
# SIMULATION LOOP
O.engines=[
PyRunner(command='addPlotData1()',iterPeriod=1),
PyRunner(command='saveData1()',iterPeriod=1000),
PyRunner(command='saveData2()',iterPeriod=1000),
PyRunner(command='ForceBC1()',iterPeriod=1),
PyRunner(command='ForceBC2()',iterPeriod=1),
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR)],
[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1)],
[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM()]
),
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=10,timestepSafetyCoefficient=0.5, defaultDt=utils.PWaveTimeStep()),
NewtonIntegrator(damping= 0.80),
]
--
You received this question notification because your team yade-users is
an answer contact for Yade.