Unstable clump

Asked by SayedHessam on 2018-12-28

Hi guys,

I tried to model a single particle crushing test form a clump (used CohfrictMat contact model), for initial step, everything looks good but when I run the model the Clump (cluster) collapses immediately in initial stages. Does anyone know how I can settle this issue?

Many thanks in advance.
Hessam

Part of my code:

# encoding: utf-8

from yade import pack, utils, ymport, export
import numpy as np
import yade.timing
import matplotlib.pyplot as plt
import os.path

try:
    os.mkdir('VTKFiles')
except:
    pass

#cell geomtry
# cell dimentions
sp=ymport.textExt('ClumpSpheres-57Spheres.spheres', 'x_y_z_r',color=(0,0.3,0.6))

mn=[]; mx=[]
for i in [0,1,2]:
    mn.append(min([b.state.pos[i]-1.02*b.shape.radius for b in sp]))
    mx.append(max([b.state.pos[i]+1.02*b.shape.radius for b in sp]))

#Approximate center of Clump
CirRad=max([(-mn[b]+mx[b])/2 for b in [0,1,2]])/2
Circen=((mn[0]+mx[0])/2,(mn[1]+mx[1])/2,(mn[2]+mx[2])/2)

#Changing the dimension of the CLump to desired size.
particleRad = 2e-3
SizeR=particleRad/CirRad

# changing the positions, radiuses of the spheres and the cell dimentions to desired scale.
for b in sp:
    b.state.pos*=SizeR
    b.shape.radius*=SizeR

mn=[SizeR*b for b in mn]
mx=[SizeR*b for b in mx]

displacementRate = 1.6667e-6 # m/s
strainRate = displacementRate/particleRad # m/s

young =3e8
poisson = 0.25
density = 1950
frictionAngle = 20
normalCohesion = 70e9
identifier=str(particleRad)
output='./out/'+identifier
rate = abs(mn[1]-mx[1])*0.01# you should change it
stabilityThreshold=0.01
iterper=1000
shearCohesion=20e9

CohFrictMat=O.materials.append(CohFrictMat(alphaKr=0.6,young=young,poisson=poisson,frictionAngle=radians(20),normalCohesion=70.5e9,shearCohesion=shearCohesion,fragile=True, momentRotationLaw=True,etaRoll=0.1,density=density,isCohesive=True,label='CohFrictMat'))

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

## create walls around the packing
walls=aabbWalls([mn,mx],thickness=0,material='frictionlessWalls')
wallIds=O.bodies.append(walls)

for b in sp:
    O.bodies.append(sphere(b.state.pos,b.shape.radius,material='CohFrictMat'))

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

O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys(),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp")],
                [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom_CohFrictPhys_CohesionMoment(
   useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments
   always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere
   label='cohesiveLaw')]
        ),
 GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5),
 triax,
 VTKRecorder(iterPeriod=iterper,initRun=True, Key=identifier, fileName='VTKFiles/'+'-', recorders=['all']),
 NewtonIntegrator(damping=0.9)
]

O.dt = 0.3 * utils.PWaveTimeStep()

Question information

Language:
English Edit question
Status:
Expired
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
2018-12-28
Last reply:
2019-01-18
Jérôme Duriez (jduriez) said : #1

Hi,

I do not know.. To increase your chances getting a knowledgeable answer, I strongly advice you improve your provided script in the MWE [*] direction. Here, we do not have 'ClumpSpheres-57Spheres.spheres' file, and it is thus impossible for anyone else than you to investigate the problem..

A better solution is actually not to provide us with this file, but rather redesign your code (using a 2 spheres clump ?). We also do not need about the advices of your colleague M.A. ;-)

Shortening the script may even help you to solve directly the problem.

Jérôme

[*] https://www.yade-dem.org/wiki/Howtoask

Launchpad Janitor (janitor) said : #2

This question was expired because it remained in the 'Needs information' state without activity for the last 15 days.