removed 14 particle MPFEM and 20,000 tabeleting simulation

This commit is contained in:
William Zunker
2024-12-22 17:43:38 -05:00
parent ecb0f9525b
commit 39efb67a7a
3 changed files with 0 additions and 20359 deletions

View File

@ -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}

View File

@ -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