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

Hi guys,

I wrote up a script for a crushing test based on agglomeration method for a 
particle. Now, I have done some CT scan of some particles and made some 
approximate clumps from them. I have all the necessary information such as 
coordination and radius of spheres. Now, I want to replace my clumps in the 
scripts and get the crushing result for each clump but I confused how can 
modify my model because the script is working on particle changes.

I would be most grateful if you could inform me your feedback about it.

Cheers

Clumps info:

radii=[ 7.97811, 8.69978, 10.4289, 5.85062, 8.55203, 12.4151, 9.92967, 9.19176, 
11.3386, 8.07181, 10.6532, 5.72826, 11.7429, 12.9269] #Radii of spheres
pos=[ (-6.48035, 3.55247, -8.64754), (4.19654, -30.2939, -5.88898), (-11.8863, 
3.02991, 3.49314), (-16.05, 4.35961, -12.0493), (8.55047, -38.4968, 2.42227), 
(-12.2287, 16.383, 1.37381), (-9.81063, 27.825, 3.55286), (7.95555, 26.1849, 
2.37576), (5.99463, 16.8463, 2.13356), (6.5052, 6.89517, -5.25018), (12.6215, 
2.943, 1.11183), (13.0267, -7.93328, -5.24526), (-4.13377, -11.7143, -4.90026), 
(7.6676, -21.298, 1.40475) ] #Coordinations

A section of the model:

particleDiameter = 0.6e-3
displacementRate = 1.6667e-6 # m/s
strainRate = displacementRate/particleDiameter # m/s

young =3e8  #elastic modulus [Pa]
poisson = 0.3
density = 5000
relDuctility=30     #relative ductility of bonds in normal direction
mn,mx=Vector3(-0.52e-3, -1e-3,-1e-3),Vector3(0.52e-3, 1e-3, 1e-3) #size of 
particle
finalFricDegree = 25  #Contact friction angle
intRadius= 1.329   #Internal Radius 
sigmaT = 7e6   #Normal shear stress
identifier=str(particleDiameter)
output='./out/'+identifier
rate = strainRate*10000
stabilityThreshold=0.01
iterper=1000   #Periodicity criterion using step number (deactivated if <= 0)
cohesion=20e6

jCFmat = O.materials.append(JCFpmMat(young=young, cohesion=cohesion, 
density=density, frictionAngle=radians(finalFricDegree), 
tensileStrength=sigmaT, poisson=poisson, label='JCFmat'))

#frictionless walls
wallmat = 
O.materials.append(FrictMat(young=80e9,poisson=.45,frictionAngle=radians(finalFricDegree),density=7000,label='frictionlessWalls'))

walls=aabbWalls([mn,mx], material='frictionlessWalls')
wallIds=O.bodies.append(walls)

sp = O.bodies.append(ymport.textExt('sandGrain_0-6mmdiameter.spheres', 
'x_y_z_r',color=(0,0.2,0.7), material='JCFmat'))

triax = TriaxialStressController(       
        thickness=0,
        stressMask=7,
        internalCompaction=False,
        )


O.engines=[
        ForceResetter(),
        
InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius),Bo1_Box_Aabb()]),
        InteractionLoop(
                
[Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=intRadius),Ig2_Box_Sphere_ScGeom()],
                
[Ip2_FrictMat_FrictMat_FrictPhys(),Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=10,
 label='jcf')],
                
[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(Key=identifier, 
smoothJoint=True,label='interactionLaw', 
recordCracks=True),Law2_ScGeom_FrictPhys_CundallStrack()]
        ),      
        
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5),
        triax,
        
VTKRecorder(dead=0,Key=identifier,iterPeriod=iterper,initRun=True,fileName=(output+'-'),recorders=['spheres','intr','stress',
 'bstresses','jcfpm','cracks']),
        NewtonIntegrator(damping=0.9)
]

O.dt = 0.3 * utils.PWaveTimeStep()

-- 
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     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to