New question #688345 on Yade: https://answers.launchpad.net/yade/+question/688345
Hi, I want to put a precrack in my model. Currently, my model consists of 5 by 6 particles in the xy plane. Each particle is linked with its neighbouring particle. I want to zero out the bonds (a precrack) between particle 11 and 16, 12 and 17, and 13 and 18. How do I do this? Thanks! MY CODE: #MATERIAL PROPERTIES intR = 1.00 #connectivity parameter DENS = 2500.00 #Density (kg/mm^3) YOUNG = 1800.00 #Young's modulus (N/mm^2) FRICT = 7.00 #Friction angle (degrees) ALPHA = 0.10 #Poisson's ratio TENS = 100.00 #Tensile strength (N/mm^2) COH = 100.00 #Shear strength (N/mm^2) iterMax = 1.00 #Max Itteration rate = 0.00 #pull rate O.materials.append(JCFpmMat(type=1,density=DENS,young=YOUNG,poisson=ALPHA,frictionAngle=radians(FRICT),tensileStrength=TENS,cohesion=COH,label='mat1')) # PARTICLES O.bodies.append([ sphere(center=( 1.00, 1.00,0),radius= 0.50,material='mat1'), sphere(center=( 2.00, 1.00,0),radius= 0.50,material='mat1'), sphere(center=( 3.00, 1.00,0),radius= 0.50,material='mat1'), sphere(center=( 4.00, 1.00,0),radius= 0.50,material='mat1'), sphere(center=( 5.00, 1.00,0),radius= 0.50,material='mat1'), sphere(center=( 1.00, 2.00,0),radius= 0.50,material='mat1'), sphere(center=( 2.00, 2.00,0),radius= 0.50,material='mat1'), sphere(center=( 3.00, 2.00,0),radius= 0.50,material='mat1'), sphere(center=( 4.00, 2.00,0),radius= 0.50,material='mat1'), sphere(center=( 5.00, 2.00,0),radius= 0.50,material='mat1'), sphere(center=( 1.00, 3.00,0),radius= 0.50,material='mat1'), sphere(center=( 2.00, 3.00,0),radius= 0.50,material='mat1'), sphere(center=( 3.00, 3.00,0),radius= 0.50,material='mat1'), sphere(center=( 4.00, 3.00,0),radius= 0.50,material='mat1'), sphere(center=( 5.00, 3.00,0),radius= 0.50,material='mat1'), sphere(center=( 1.00, 4.00,0),radius= 0.50,material='mat1'), sphere(center=( 2.00, 4.00,0),radius= 0.50,material='mat1'), sphere(center=( 3.00, 4.00,0),radius= 0.50,material='mat1'), sphere(center=( 4.00, 4.00,0),radius= 0.50,material='mat1'), sphere(center=( 5.00, 4.00,0),radius= 0.50,material='mat1'), sphere(center=( 1.00, 5.00,0),radius= 0.50,material='mat1'), sphere(center=( 2.00, 5.00,0),radius= 0.50,material='mat1'), sphere(center=( 3.00, 5.00,0),radius= 0.50,material='mat1'), sphere(center=( 4.00, 5.00,0),radius= 0.50,material='mat1'), sphere(center=( 5.00, 5.00,0),radius= 0.50,material='mat1'), sphere(center=( 1.00, 6.00,0),radius= 0.50,material='mat1'), sphere(center=( 2.00, 6.00,0),radius= 0.50,material='mat1'), sphere(center=( 3.00, 6.00,0),radius= 0.50,material='mat1'), sphere(center=( 4.00, 6.00,0),radius= 0.50,material='mat1'), sphere(center=( 5.00, 6.00,0),radius= 0.50,material='mat1'), ]) nbSpheres = 30.00 # BOUNDARY CONDITIONS O.bodies[0].state.blockedDOFs = "xyzXYZ" O.bodies[0].state.vel = (0,-0.000010,0) O.bodies[0].state.angVel = (0,0,0) O.bodies[1].state.blockedDOFs = "xyzXYZ" O.bodies[1].state.vel = (0,-0.000010,0) O.bodies[1].state.angVel = (0,0,0) O.bodies[2].state.blockedDOFs = "xyzXYZ" O.bodies[2].state.vel = (0,-0.000010,0) O.bodies[2].state.angVel = (0,0,0) O.bodies[3].state.blockedDOFs = "xyzXYZ" O.bodies[3].state.vel = (0,-0.000010,0) O.bodies[3].state.angVel = (0,0,0) O.bodies[4].state.blockedDOFs = "xyzXYZ" O.bodies[4].state.vel = (0,-0.000010,0) O.bodies[4].state.angVel = (0,0,0) O.bodies[25].state.blockedDOFs = "xyzXYZ" O.bodies[25].state.vel = (0,0.000010,0) O.bodies[25].state.angVel = (0,0,0) O.bodies[26].state.blockedDOFs = "xyzXYZ" O.bodies[26].state.vel = (0,0.000010,0) O.bodies[26].state.angVel = (0,0,0) O.bodies[27].state.blockedDOFs = "xyzXYZ" O.bodies[27].state.vel = (0,0.000010,0) O.bodies[27].state.angVel = (0,0,0) O.bodies[28].state.blockedDOFs = "xyzXYZ" O.bodies[28].state.vel = (0,0.000010,0) O.bodies[28].state.angVel = (0,0,0) O.bodies[29].state.blockedDOFs = "xyzXYZ" O.bodies[29].state.vel = (0,0.000010,0) O.bodies[29].state.angVel = (0,0,0) # FUNCTIONAL COMPONENTS def addPlotData1(): plot.addData(t=O.time,DX1 = O.bodies[25].state.pos[0], DY1 = O.bodies[25].state.pos[1], DZ1 = O.bodies[25].state.pos[2], FX1 = O.forces.f(25)[0], FY1 = O.forces.f(25)[1], FZ1 = O.forces.f(25)[2], DX2 = O.bodies[26].state.pos[0], DY2 = O.bodies[26].state.pos[1], DZ2 = O.bodies[26].state.pos[2], FX2 = O.forces.f(26)[0], FY2 = O.forces.f(26)[1], FZ2 = O.forces.f(26)[2], DX3 = O.bodies[27].state.pos[0], DY3 = O.bodies[27].state.pos[1], DZ3 = O.bodies[27].state.pos[2], FX3 = O.forces.f(27)[0], FY3 = O.forces.f(27)[1], FZ3 = O.forces.f(27)[2], DX4 = O.bodies[28].state.pos[0], DY4 = O.bodies[28].state.pos[1], DZ4 = O.bodies[28].state.pos[2], FX4 = O.forces.f(28)[0], FY4 = O.forces.f(28)[1], FZ4 = O.forces.f(28)[2], DX5 = O.bodies[29].state.pos[0], DY5 = O.bodies[29].state.pos[1], DZ5 = O.bodies[29].state.pos[2], FX5 = O.forces.f(29)[0], FY5 = O.forces.f(29)[1], FZ5 = O.forces.f(29)[2], ) # PRINTING from yade import plot from pprint import pprint # SIMULATION LOOP O.engines=[ PyRunner(command='addPlotData1()',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.10), ] #TIME STEP O.dt=0.5e-4*PWaveTimeStep() #PLOTTING plot.plots={'DY1':('FY1')} plot.plot() -- 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