removed 14 particle MPFEM and 20,000 tabeleting simulation
This commit is contained in:
@ -1,184 +0,0 @@
|
||||
############################### SIMULATION SETTINGS ###################################################
|
||||
|
||||
atom_style sphere 1
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
units si
|
||||
newton off
|
||||
neighbor 0.22e-3 bin
|
||||
neigh_modify every 10 delay 2000 check no
|
||||
timestep 0.3e-7
|
||||
processors 2 2 1
|
||||
|
||||
######################### SIMULATION BOUNDING BOX, INTEGRATION, AND, GRAVITY ###########################
|
||||
|
||||
boundary f f f
|
||||
read_data spheres20000.data
|
||||
|
||||
######################################### ADD DIE AND ATOM PARAMETERIZATION ##############################################
|
||||
|
||||
variable atomRadius equal 0.0961e-3*1.25
|
||||
variable atomDiameter equal 2*${atomRadius}
|
||||
variable atomDensity equal 1560
|
||||
variable atomMassAvg equal ${atomDensity}*4.0/3.0*PI*${atomRadius}^3.0
|
||||
variable dieRadius equal 4e-3
|
||||
variable dieHeight equal 1e-2
|
||||
|
||||
########################### PARTICLE MATERIAL PROPERTIES AND FORCE MODEL ###############################
|
||||
|
||||
pair_style granular
|
||||
# mdr = E, nu, Y, gamma, psi_b, CoR
|
||||
# linear_history = k_t, x_gamma,t, mu_s
|
||||
variable YoungsModulus equal 5e9
|
||||
variable YieldStress equal 1.9e8
|
||||
variable PoissonsRatio equal 0.4
|
||||
variable SurfaceEnergy equal 450
|
||||
variable SurfaceEnergyWall equal 0.0
|
||||
variable CoR equal 0.5
|
||||
variable psi_b equal 0.5
|
||||
variable beta equal -ln(${CoR})/sqrt(ln(${CoR})^2+PI^2)
|
||||
variable kt equal 2/7*${YoungsModulus}*${atomRadius}
|
||||
variable kt_wall equal 2/7*${YoungsModulus}*${atomRadius}
|
||||
variable xgammat equal 0.0 #${beta}*sqrt(${atomMassAvg}*${YoungsModulus}*${atomRadius})
|
||||
variable mu_s equal 0.7
|
||||
variable mu_s_wall equal 0.1
|
||||
variable mu_roll equal 0.6
|
||||
variable k_roll equal 2.25*${mu_roll}*${mu_roll}*${YoungsModulus}*${atomRadius}
|
||||
variable gamma_roll equal 0.0 #${beta}*sqrt(${atomMassAvg}*${YoungsModulus}*${atomRadius})
|
||||
|
||||
pair_coeff * * mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergy} ${psi_b} ${CoR} damping none tangential linear_history ${kt} ${xgammat} ${mu_s} rolling sds ${k_roll} ${gamma_roll} ${mu_roll}
|
||||
#pair_coeff * * mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergy} ${psi_b} ${CoR} tangential linear_history ${kt} ${xgammat} ${mu_s} damping none
|
||||
#pair_coeff * * mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergy} ${psi_b} ${CoR} tangential linear_nohistory 0.0 0.0 damping none
|
||||
|
||||
######################################### ADD DIE AND PUNCH WALLS ################################################
|
||||
|
||||
variable disp_upper equal 0.0
|
||||
variable disp_lower equal 0.0
|
||||
variable disp_xPlanePos equal 0.0
|
||||
variable disp_xPlaneNeg equal 0.0
|
||||
|
||||
variable wall_contact_string string "granular mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergyWall} ${psi_b} ${CoR} damping none tangential linear_history ${kt_wall} ${xgammat} ${mu_s_wall} rolling sds ${k_roll} ${gamma_roll} ${mu_roll}"
|
||||
#variable wall_contact_string string "granular mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergyWall} ${psi_b} ${CoR} tangential linear_history ${kt} ${xgammat} ${mu_s} damping none"
|
||||
#variable wall_contact_string string "granular mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergyWall} ${psi_b} ${CoR} tangential linear_nohistory 0.0 0.0 damping none"
|
||||
|
||||
variable dieHeight2 equal 2*${dieHeight}
|
||||
|
||||
region lowerPunch plane 0 0 0 0 0 1 side in units box move NULL NULL v_disp_lower units box
|
||||
region upperPunch plane 0 0 ${dieHeight} 0 0 -1 side in move NULL NULL v_disp_upper units box
|
||||
region die cylinder z 0 0 ${dieRadius} 0 ${dieHeight2} side in units box
|
||||
variable dieRadiusPlus equal ${dieRadius}*1.05
|
||||
variable dieRadiusPlusNeg equal -${dieRadiusPlus}
|
||||
region xPlanePos plane ${dieRadiusPlus} 0 0 -1 0 0 side in units box move v_disp_xPlanePos NULL NULL units box
|
||||
region xPlaneNeg plane ${dieRadiusPlusNeg} 0 0 1 0 0 side in units box move v_disp_xPlaneNeg NULL NULL units box
|
||||
|
||||
fix lowerPunch all wall/gran/region ${wall_contact_string} region lowerPunch contacts
|
||||
fix upperPunch all wall/gran/region ${wall_contact_string} region upperPunch contacts
|
||||
fix die all wall/gran/region ${wall_contact_string} region die contacts
|
||||
fix xPlanePos all wall/gran/region ${wall_contact_string} region xPlanePos contacts
|
||||
fix xPlaneNeg all wall/gran/region ${wall_contact_string} region xPlaneNeg contacts
|
||||
|
||||
compute avgPunchForce all reduce sum f_upperPunch[4]
|
||||
variable avgPunchForce equal c_avgPunchForce
|
||||
compute avgLowerPunchForce all reduce sum f_lowerPunch[4]
|
||||
variable avgLowerPunchForce equal c_avgLowerPunchForce
|
||||
compute fractureForce all reduce sum f_xPlanePos[2]
|
||||
variable fractureForce equal c_fractureForce
|
||||
|
||||
fix print1 all print 1 "${disp_upper} ${avgPunchForce} ${avgLowerPunchForce} ${fractureForce}" file upperPunchDispForce.csv screen no
|
||||
fix printSTL all print 1 "${disp_upper} ${disp_lower}" file punch_disp_STL_generation.csv screen no
|
||||
|
||||
##################################### INSERT PARTICLES ####################################################
|
||||
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 9.81 vector 0 0 -1
|
||||
|
||||
######################################## SCREEN OUTPUT ####################################################
|
||||
|
||||
#variable ax atom fx/mass
|
||||
#variable ay atom fy/mass
|
||||
#variable az atom fz/mass
|
||||
#variable aMag atom sqrt(v_ax*v_ax+v_ay*v_ay+v_az*v_az)
|
||||
#variable force atom sqrt(fx^2+fy^2+fz^2)
|
||||
#compute aMagAvg all reduce ave v_aMag
|
||||
#variable forceToAccelRatio atom v_force/(mass*v_aMag)
|
||||
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom dt step atoms ke vol v_disp_upper #c_aMagAvg
|
||||
thermo 100
|
||||
thermo_modify lost ignore norm no
|
||||
|
||||
##################################### SET UP DUMP OUTPUTS ####################################################
|
||||
|
||||
compute ke all ke/atom
|
||||
variable output_rate equal round(1e-4/dt)
|
||||
#variable output_rate equal 10
|
||||
|
||||
#dump 1 all custom 1 uniaxialCompression id type f_plane_yz_neg[*]
|
||||
#variable az_upperPunch atom f_upperPunch[7]
|
||||
#variable afz_upperPunch atom f_upperPunch[4]
|
||||
#fix log all print 1 "${delta} ${fx_neg}" file uniaxialCompression.csv title "del,fx_yz_neg" screen no
|
||||
|
||||
run 0
|
||||
|
||||
compute sigmaxx all property/atom d_sigmaxx
|
||||
compute sigmayy all property/atom d_sigmayy
|
||||
compute sigmazz all property/atom d_sigmazz
|
||||
compute Velas all property/atom d_Velas
|
||||
compute adhesive_length all property/atom d_adhesive_length
|
||||
|
||||
compute sigmaxx_ave all reduce ave c_sigmaxx
|
||||
compute sigmayy_ave all reduce ave c_sigmayy
|
||||
compute sigmazz_ave all reduce ave c_sigmazz
|
||||
compute Velas_sum all reduce sum c_Velas
|
||||
compute adhesive_length_ave all reduce ave c_adhesive_length
|
||||
|
||||
variable sxx_ave equal c_sigmaxx_ave
|
||||
variable syy_ave equal c_sigmayy_ave
|
||||
variable szz_ave equal c_sigmazz_ave
|
||||
variable Vparticles equal c_Velas_sum
|
||||
variable adh_length_ave equal c_adhesive_length_ave
|
||||
|
||||
fix log all print 1 "${sxx_ave} ${syy_ave} ${szz_ave} ${Vparticles} ${adh_length_ave}" file avgStresses.csv screen no
|
||||
dump dumpParticles all custom ${output_rate} avicelTableting.dump id type mass diameter x y z vx vy vz fx fy fz c_ke c_sigmaxx c_sigmayy c_sigmazz #v_aMag v_force v_forceToAccelRatio
|
||||
#dump dumpParticlesVTK all vtk ${output_rate} post/particles_*.vtk id x y z fx fy fz vx vy vz c_ke radius c_sigmaxx c_sigmayy c_sigmazz
|
||||
|
||||
######################################### RUN SIMULATION ##########################################
|
||||
|
||||
variable upper_punch_stroke equal 0.6905*${dieHeight} # 0.6733
|
||||
variable vel_upper equal 0.25
|
||||
|
||||
variable settling_steps equal round(0.02/dt)
|
||||
variable compression_steps equal 2*round(${upper_punch_stroke}/${vel_upper}/dt)
|
||||
variable ejection_steps equal ${compression_steps}
|
||||
variable free_float_steps equal round(0.02/dt)
|
||||
variable total_steps equal ${settling_steps}+${compression_steps}+${ejection_steps}+${free_float_steps}
|
||||
|
||||
print "Total steps = ${total_steps}"
|
||||
|
||||
##### SETTLING #####
|
||||
|
||||
run ${settling_steps}
|
||||
|
||||
##### Compression & Release #####
|
||||
|
||||
variable punch_frequency equal PI/2/(dt*${compression_steps}/2)
|
||||
variable disp_upper equal -${upper_punch_stroke}*sin(${punch_frequency}*elapsed*dt)
|
||||
variable short_release equal round(${compression_steps}*1.0)
|
||||
run ${short_release} # 189170 upto #
|
||||
|
||||
##### EJECTION #####
|
||||
|
||||
variable punch_frequency equal PI/2/(dt*${ejection_steps})
|
||||
variable disp_lower equal ${dieHeight}*sin(${punch_frequency}*elapsed*dt)
|
||||
variable disp_upper equal 0.9*v_disp_lower
|
||||
run ${ejection_steps}
|
||||
|
||||
##### FREE FLOAT #####
|
||||
|
||||
variable disp_lower equal ${dieHeight}
|
||||
variable disp_upper equal ${dieHeight}*0.9
|
||||
variable max_disp equal ${dieRadius}*0.75
|
||||
#variable disp_xPlanePos equal -${max_disp}*elapsed/${free_float_steps}
|
||||
#variable disp_xPlaneNeg equal -v_disp_xPlanePos
|
||||
run ${free_float_steps}
|
||||
|
||||
@ -1,164 +0,0 @@
|
||||
############################### SIMULATION SETTINGS ###################################################
|
||||
|
||||
atom_style sphere 1
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
units si
|
||||
newton off
|
||||
neighbor 2 bin
|
||||
neigh_modify delay 0
|
||||
timestep 1e-6
|
||||
#processors 1 2 1
|
||||
|
||||
######################### SIMULATION BOUNDING BOX, INTEGRATION, AND, GRAVITY ###########################
|
||||
|
||||
boundary f f f
|
||||
region box block -100 100 -100 100 -100 100 units box
|
||||
create_box 2 box
|
||||
fix integr all nve/sphere
|
||||
|
||||
########################### PARTICLE MATERIAL PROPERTIES AND FORCE MODEL ###############################
|
||||
|
||||
variable atomRadius equal 0.5
|
||||
|
||||
pair_style granular
|
||||
# mdr = E, nu, Y, gamma, psi_b, CoR
|
||||
# linear_history = k_t, x_gamma,t, mu_s
|
||||
variable YoungsModulus equal 1e9
|
||||
variable PoissonsRatio equal 0.3
|
||||
variable YieldStress equal 50e6
|
||||
variable SurfaceEnergy equal 0.0
|
||||
variable psi_b equal 0.5
|
||||
variable CoR equal 0.5
|
||||
variable kt equal 2/7*${YoungsModulus}*${atomRadius}
|
||||
variable xgammat equal 0.0
|
||||
variable mu_s equal 0.5
|
||||
|
||||
pair_coeff * * mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergy} ${psi_b} ${CoR} tangential linear_history ${kt} ${xgammat} ${mu_s} damping none
|
||||
|
||||
######################################### ADD IN PLANES ################################################
|
||||
|
||||
variable boxWidth equal 3
|
||||
variable halfBoxWidth equal ${boxWidth}/2
|
||||
|
||||
variable plane_disp equal 0.0
|
||||
variable plane_disp_neg equal 0.0
|
||||
|
||||
region plane_yz_pos plane ${halfBoxWidth} 0 0 -1 0 0 side in move v_plane_disp_neg NULL NULL units box
|
||||
region plane_yz_neg plane -${halfBoxWidth} 0 0 1 0 0 side in move v_plane_disp NULL NULL units box
|
||||
region plane_xz_pos plane 0 ${halfBoxWidth} 0 0 -1 0 side in move NULL v_plane_disp_neg NULL units box
|
||||
region plane_xz_neg plane 0 -${halfBoxWidth} 0 0 1 0 side in move NULL v_plane_disp NULL units box
|
||||
region plane_xy_pos plane 0 0 ${halfBoxWidth} 0 0 -1 side in move NULL NULL v_plane_disp_neg units box
|
||||
region plane_xy_neg plane 0 0 -${halfBoxWidth} 0 0 1 side in move NULL NULL v_plane_disp units box
|
||||
|
||||
variable wall_contact_string string "granular mdr ${YoungsModulus} ${PoissonsRatio} ${YieldStress} ${SurfaceEnergy} ${psi_b} ${CoR} tangential linear_history ${kt} ${xgammat} ${mu_s} damping none"
|
||||
|
||||
fix plane_yz_pos all wall/gran/region ${wall_contact_string} region plane_yz_pos contacts
|
||||
fix plane_yz_neg all wall/gran/region ${wall_contact_string} region plane_yz_neg contacts
|
||||
fix plane_xz_pos all wall/gran/region ${wall_contact_string} region plane_xz_pos contacts
|
||||
fix plane_xz_neg all wall/gran/region ${wall_contact_string} region plane_xz_neg contacts
|
||||
fix plane_xy_pos all wall/gran/region ${wall_contact_string} region plane_xy_pos contacts
|
||||
fix plane_xy_neg all wall/gran/region ${wall_contact_string} region plane_xy_neg contacts
|
||||
|
||||
compute plane_xy_neg_force all reduce sum f_plane_xy_neg[4]
|
||||
variable plane_xy_neg_force equal c_plane_xy_neg_force
|
||||
|
||||
compute plane_xz_neg_force all reduce sum f_plane_xz_neg[3]
|
||||
variable plane_xz_neg_force equal c_plane_xz_neg_force
|
||||
|
||||
compute plane_yz_neg_force all reduce sum f_plane_yz_neg[2]
|
||||
variable plane_yz_neg_force equal c_plane_yz_neg_force
|
||||
|
||||
fix print1 all print 1 "${plane_disp} ${plane_xy_neg_force} ${plane_xz_neg_force} ${plane_yz_neg_force}" file lammps_macro_force_disp.csv screen no
|
||||
|
||||
##################################### INSERT PARTICLES ####################################################
|
||||
|
||||
# PARTICLE PROPERTIES
|
||||
variable d equal 1
|
||||
variable den equal 1000
|
||||
|
||||
create_atoms 1 single -0.1682 0.1113 0.1492 units box
|
||||
group atomOne id 1
|
||||
set atom 1 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single 0.6234 -0.5134 0.4198 units box
|
||||
group atomTwo id 2
|
||||
set atom 2 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single 0.8958 0.8304 0.1353 units box
|
||||
group atomThree id 3
|
||||
set atom 3 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single -0.1058 -0.9321 -0.2803 units box
|
||||
group atomFour id 4
|
||||
set atom 4 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single -0.7816 0.5089 -0.5358 units box
|
||||
group atomFive id 5
|
||||
set atom 5 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single 0.09169 -0.1675 -0.9413 units box
|
||||
group atomSix id 6
|
||||
set atom 6 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single -0.8324 -0.6242 -0.9531 units box
|
||||
group atomSeven id 7
|
||||
set atom 7 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single -0.8994 -0.6587 0.9025 units box
|
||||
group atomEight id 8
|
||||
set atom 8 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single -0.08605 0.8565 0.8629 units box
|
||||
group atomNine id 9
|
||||
set atom 9 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single 0.7989 0.8445 -0.9942 units box
|
||||
group atomTen id 10
|
||||
set atom 10 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single 0.9317 -0.8971 -0.8523 units box
|
||||
group atomEleven id 11
|
||||
set atom 11 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single -0.979 0.3867 0.7977 units box
|
||||
group atomTwelve id 12
|
||||
set atom 12 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single 0.9926 0.2609 0.9693 units box
|
||||
group atomThirteen id 13
|
||||
set atom 13 diameter ${d} density ${den}
|
||||
|
||||
create_atoms 1 single 0.9814 0.01161 -0.4335 units box
|
||||
group atomFourteen id 14
|
||||
set atom 14 diameter ${d} density ${den}
|
||||
|
||||
######################################## SCREEN OUTPUT ####################################################
|
||||
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom dt step atoms ke c_1 vol
|
||||
thermo 100
|
||||
thermo_modify lost ignore norm no
|
||||
|
||||
##################################### DEFINE WALL MOVEMENT #################################################
|
||||
|
||||
variable disp_max equal 0.45
|
||||
variable ddisp equal 0.00001
|
||||
variable compression_steps equal round(${disp_max}/${ddisp})
|
||||
variable output_rate equal round(${compression_steps}/100)
|
||||
|
||||
##################################### SET UP DUMP OUTPUTS ####################################################
|
||||
|
||||
#dump dmp all vtk ${output_rate} post/triaxial14particles_*.vtk id type mass x y z vx vy vz fx fy fz radius
|
||||
dump dumpParticles all custom ${output_rate} triaxial14particles.dump id type mass x y z vx vy vz fx fy fz radius
|
||||
|
||||
#################################### COMPRESS THE PARTICLES ##################################################
|
||||
|
||||
run 0
|
||||
|
||||
variable plane_disp equal ${ddisp}*elapsed
|
||||
variable plane_disp_neg equal -${ddisp}*elapsed
|
||||
|
||||
run ${compression_steps}
|
||||
|
||||
#################################### UNCOMPRESS THE PARTICLES ################################################
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user