forked from lijiext/lammps
Merge branch 'master' into swig-wrappers
This commit is contained in:
commit
cd444eefe2
|
@ -428,10 +428,12 @@ them from a file.
|
|||
|
||||
- Interrupting a calculation with CTRL-C will not terminate the
|
||||
session but rather enforce a timeout to cleanly stop an ongoing
|
||||
run (more info on timeouts is in the timer command documentation).
|
||||
run (more info on timeouts is in the :doc:`timer command <timer>`
|
||||
documentation).
|
||||
|
||||
These enhancements makes the LAMMPS shell an attractive choice for
|
||||
interactive LAMMPS sessions in graphical user interfaces.
|
||||
These enhancements make the LAMMPS shell an attractive choice for
|
||||
interactive LAMMPS sessions in graphical desktop environments
|
||||
(e.g. Gnome, KDE, Cinnamon, XFCE, Windows).
|
||||
|
||||
TAB-expansion
|
||||
^^^^^^^^^^^^^
|
||||
|
|
|
@ -1,22 +1,21 @@
|
|||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: elongate a 2d strip of aluminum py pulling its ends apart
|
||||
# TLSPH example: elongate a 2d strip of aluminum py pulling its ends apart
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable E equal 70.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable rho equal 1 # initial mass density
|
||||
variable E equal 70.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable rho equal 1 # initial mass density
|
||||
variable q1 equal 0.56 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 10.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
|
||||
variable JC_A equal 0.3241 # Johnson Cook parameters
|
||||
variable JC_B equal 0.1138
|
||||
|
@ -39,10 +38,10 @@ variable eosC6 equal 0.0
|
|||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 2
|
||||
units si
|
||||
units si
|
||||
boundary sm sm p # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
@ -50,37 +49,36 @@ newton off
|
|||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 1.0 # lattice spacing for creating particles
|
||||
lattice sq ${l0}
|
||||
region box block -10 10 -10 10 -0.1 0.1 units box
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
group tlsph type 1
|
||||
|
||||
variable l0 equal 1.0 # lattice spacing for creating particles
|
||||
lattice sq ${l0}
|
||||
region box block -10 10 -10 10 -0.1 0.1 units box
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
group tlsph type 1
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable vol_one equal ${l0}^2 # volume of one particle -- assuming unit thickness
|
||||
variable skin equal ${h} # Verlet list range
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable vol_one equal ${l0}^2 # volume of one particle -- assuming unit thickness
|
||||
variable skin equal ${h} # Verlet list range
|
||||
neighbor ${skin} bin
|
||||
set group all volume ${vol_one}
|
||||
set group all volume ${vol_one}
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel0 equal 0.02 # pull velocity
|
||||
region top block EDGE EDGE 9.0 EDGE EDGE EDGE units box
|
||||
region bot block EDGE EDGE EDGE -9.1 EDGE EDGE units box
|
||||
variable vel0 equal 0.02 # pull velocity
|
||||
region top block EDGE EDGE 9.0 EDGE EDGE EDGE units box
|
||||
region bot block EDGE EDGE EDGE -9.1 EDGE EDGE units box
|
||||
group top region top
|
||||
group bot region bot
|
||||
variable vel_up equal ${vel0}*(1.0-exp(-0.01*time))
|
||||
variable vel_down equal -v_vel_up
|
||||
fix veltop_fix top smd/setvelocity 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvelocity 0 v_vel_down 0
|
||||
fix veltop_fix top smd/setvel 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvel 0 v_vel_down 0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
|
@ -89,8 +87,8 @@ fix velbot_fix bot smd/setvelocity 0 v_vel_down 0
|
|||
####################################################################################################
|
||||
pair_style smd/tlsph
|
||||
pair_coeff 1 1 *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} &
|
||||
*EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} &
|
||||
*JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} &
|
||||
*EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} &
|
||||
*JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} &
|
||||
*FAILURE_MAX_PLASTIC_STRAIN 1.2 &
|
||||
*END
|
||||
|
||||
|
@ -104,36 +102,36 @@ fix integration_fix tlsph smd/integrate_tlsph
|
|||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
compute dt_atom all smd/tlsph/dt
|
||||
compute p all smd/plastic/strain
|
||||
compute epsdot all smd/plastic/strain/rate
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute D all smd/tlsph/strain/rate
|
||||
compute E all smd/tlsph/strain
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
compute p all smd/plastic/strain
|
||||
compute epsdot all smd/plastic/strain/rate
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute D all smd/tlsph/strain/rate
|
||||
compute E all smd/tlsph/strain
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
compute shape all smd/tlsph/shape
|
||||
compute damage all smd/damage
|
||||
dump dump_id all custom 100 dump.LAMMPS id type x y z &
|
||||
c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_p &
|
||||
c_E[1] c_E[2] c_E[3] c_E[4] c_E[5] c_E[6] &
|
||||
c_shape[1] c_shape[2] c_shape[3] c_shape[4] c_shape[5] c_shape[6] c_shape[7] &
|
||||
c_D[1] c_D[2] c_D[4] c_damage radius c_epsdot &
|
||||
vx vy vz c_dt_atom
|
||||
dump_modify dump_id first yes
|
||||
compute damage all smd/damage
|
||||
dump dump_id all custom 100 dump.LAMMPS id type x y z &
|
||||
c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_p &
|
||||
c_E[1] c_E[2] c_E[3] c_E[4] c_E[5] c_E[6] &
|
||||
c_shape[1] c_shape[2] c_shape[3] c_shape[4] c_shape[5] c_shape[6] c_shape[7] &
|
||||
c_D[1] c_D[2] c_D[4] c_damage radius c_epsdot &
|
||||
vx vy vz c_dt_atom
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
variable stress equal 0.5*(f_velbot_fix[2]-f_veltop_fix[2])/20
|
||||
variable length equal xcm(top,y)-xcm(bot,y)
|
||||
variable strain equal (v_length-${length})/${length} # engineering strain
|
||||
variable time equal f_dtfix
|
||||
fix stress_curve all print 10 "${time} ${strain} ${stress}" file stress_strain.dat screen no
|
||||
variable stress equal 0.5*(f_velbot_fix[2]-f_veltop_fix[2])/20
|
||||
variable length equal xcm(top,y)-xcm(bot,y)
|
||||
variable strain equal (v_length-${length})/${length} # engineering strain
|
||||
variable time equal f_dtfix
|
||||
fix stress_curve all print 10 "${time} ${strain} ${stress}" file stress_strain.dat screen no
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix time v_strain
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix time v_strain
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
#fix 2 all enforce2d
|
||||
run 25000
|
||||
#fix 2 all enforce2d
|
||||
run 2000
|
|
@ -0,0 +1,242 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: elongate a 2d strip of aluminum py pulling its ends apart
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable E equal 70.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable rho equal 1 # initial mass density
|
||||
variable q1 equal 0.56 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 10.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
|
||||
variable JC_A equal 0.3241 # Johnson Cook parameters
|
||||
variable JC_B equal 0.1138
|
||||
variable JC_N equal 0.42
|
||||
variable JC_C equal 0 #0.002
|
||||
variable JC_M equal 1.34
|
||||
variable JC_epsdot0 equal 1.0e-3 # 1/s = 1/(1000 ms)
|
||||
variable Troom equal 298.15
|
||||
variable Tmelt equal 500.15
|
||||
|
||||
variable eosC0 equal 0.0 # Polynomial EOS parameters
|
||||
variable eosC1 equal 74.2
|
||||
variable eosC2 equal 60.5
|
||||
variable eosC3 equal 36.5
|
||||
variable eosC4 equal 1.96
|
||||
variable eosC5 equal 0.0
|
||||
variable eosC6 equal 0.0
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 2
|
||||
units si
|
||||
boundary sm sm p # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 1.0 # lattice spacing for creating particles
|
||||
lattice sq ${l0}
|
||||
lattice sq 1
|
||||
Lattice spacing in x,y,z = 1.0000000 1.0000000 1.0000000
|
||||
region box block -10 10 -10 10 -0.1 0.1 units box
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-10.000000 -10.000000 -0.1) to (10.000000 10.000000 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 400 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group tlsph type 1
|
||||
400 atoms in group tlsph
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable h equal 2.01*1
|
||||
variable vol_one equal ${l0}^2 # volume of one particle -- assuming unit thickness
|
||||
variable vol_one equal 1^2
|
||||
variable skin equal ${h} # Verlet list range
|
||||
variable skin equal 2.01
|
||||
neighbor ${skin} bin
|
||||
neighbor 2.01 bin
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 1
|
||||
Setting atom values ...
|
||||
400 settings made for volume
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all smd/mass/density 1
|
||||
Setting atom values ...
|
||||
400 settings made for smd/mass/density
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter 2.01
|
||||
Setting atom values ...
|
||||
400 settings made for diameter
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel0 equal 0.02 # pull velocity
|
||||
region top block EDGE EDGE 9.0 EDGE EDGE EDGE units box
|
||||
region bot block EDGE EDGE EDGE -9.1 EDGE EDGE units box
|
||||
group top region top
|
||||
20 atoms in group top
|
||||
group bot region bot
|
||||
20 atoms in group bot
|
||||
variable vel_up equal ${vel0}*(1.0-exp(-0.01*time))
|
||||
variable vel_up equal 0.02*(1.0-exp(-0.01*time))
|
||||
variable vel_down equal -v_vel_up
|
||||
fix veltop_fix top smd/setvel 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvel 0 v_vel_down 0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# We use polynomial EOS for the pressure and the Johnson Cook strength model
|
||||
# An integration point fails (cannot support tension anymore) if the plastic strain exceeds 0.5.
|
||||
####################################################################################################
|
||||
pair_style smd/tlsph
|
||||
pair_coeff 1 1 *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 ${nu} ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 298.15 ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 298.15 500.15 ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 298.15 500.15 1.34 *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix tlsph smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
compute dt_atom all smd/tlsph/dt
|
||||
compute p all smd/plastic/strain
|
||||
compute epsdot all smd/plastic/strain/rate
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute D all smd/tlsph/strain/rate
|
||||
compute E all smd/tlsph/strain
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
compute shape all smd/tlsph/shape
|
||||
compute damage all smd/damage
|
||||
dump dump_id all custom 100 dump.LAMMPS id type x y z c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_p c_E[1] c_E[2] c_E[3] c_E[4] c_E[5] c_E[6] c_shape[1] c_shape[2] c_shape[3] c_shape[4] c_shape[5] c_shape[6] c_shape[7] c_D[1] c_D[2] c_D[4] c_damage radius c_epsdot vx vy vz c_dt_atom
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
variable stress equal 0.5*(f_velbot_fix[2]-f_veltop_fix[2])/20
|
||||
variable length equal xcm(top,y)-xcm(bot,y)
|
||||
variable strain equal (v_length-${length})/${length} # engineering strain
|
||||
variable strain equal (v_length-19)/${length}
|
||||
variable strain equal (v_length-19)/19
|
||||
variable time equal f_dtfix
|
||||
fix stress_curve all print 10 "${time} ${strain} ${stress}" file stress_strain.dat screen no
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix time v_strain
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
#fix 2 all enforce2d
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.02
|
||||
ghost atom cutoff = 4.02
|
||||
binsize = 2.01, bins = 10 10 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair smd/tlsph, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/2d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 12
|
||||
average # of neighbors/particle in group tlsph = 11.01
|
||||
Per MPI rank memory allocation (min/avg/max) = 30.47 | 30.47 | 30.47 Mbytes
|
||||
Step Dt f_dtfix Time v_strain
|
||||
0 1e-16 0 0 0
|
||||
100 0.020705726 2.0498925 2.0705726 4.436443e-05
|
||||
200 0.01898385 4.0324033 3.79677 0.00016515223
|
||||
300 0.019051906 5.9333066 5.7155717 0.00035049273
|
||||
400 0.018996472 7.8305099 7.5985889 0.00060670224
|
||||
500 0.019027435 9.73206 9.5137174 0.000934622
|
||||
600 0.019051342 11.6361 11.430805 0.001332781
|
||||
700 0.019065137 13.54205 13.345596 0.0017999344
|
||||
800 0.019077723 15.449268 15.262178 0.0023347057
|
||||
900 0.019085073 17.357448 17.176565 0.0029358076
|
||||
1000 0.019092376 19.266354 19.092376 0.0036019613
|
||||
1100 0.018942457 21.168409 20.836702 0.0043265389
|
||||
1200 0.017710951 22.995927 21.253142 0.0050558892
|
||||
1300 0.018403356 24.84804 23.924363 0.0058616451
|
||||
1400 0.0186654 26.710384 26.13156 0.0067328424
|
||||
1500 0.019022154 28.58178 28.533231 0.0076688571
|
||||
1600 0.018562934 30.467266 29.700694 0.0086745455
|
||||
1700 0.020657894 32.34779 35.118419 0.0097303803
|
||||
1800 0.018013596 34.258245 32.424473 0.01087327
|
||||
1900 0.018883512 36.128876 35.878672 0.012024842
|
||||
2000 0.01899594 37.998637 37.99188 0.013227222
|
||||
Loop time of 1.35888 on 1 procs for 2000 steps with 400 atoms
|
||||
|
||||
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.2722 | 1.2722 | 1.2722 | 0.0 | 93.62
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00010085 | 0.00010085 | 0.00010085 | 0.0 | 0.01
|
||||
Output | 0.063841 | 0.063841 | 0.063841 | 0.0 | 4.70
|
||||
Modify | 0.021427 | 0.021427 | 0.021427 | 0.0 | 1.58
|
||||
Other | | 0.001282 | | | 0.09
|
||||
|
||||
Nlocal: 400.000 ave 400 max 400 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 8054.00 ave 8054 max 8054 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 8054
|
||||
Ave neighs/atom = 20.135000
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:01
|
|
@ -0,0 +1,242 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: elongate a 2d strip of aluminum py pulling its ends apart
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable E equal 70.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable rho equal 1 # initial mass density
|
||||
variable q1 equal 0.56 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 10.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
|
||||
variable JC_A equal 0.3241 # Johnson Cook parameters
|
||||
variable JC_B equal 0.1138
|
||||
variable JC_N equal 0.42
|
||||
variable JC_C equal 0 #0.002
|
||||
variable JC_M equal 1.34
|
||||
variable JC_epsdot0 equal 1.0e-3 # 1/s = 1/(1000 ms)
|
||||
variable Troom equal 298.15
|
||||
variable Tmelt equal 500.15
|
||||
|
||||
variable eosC0 equal 0.0 # Polynomial EOS parameters
|
||||
variable eosC1 equal 74.2
|
||||
variable eosC2 equal 60.5
|
||||
variable eosC3 equal 36.5
|
||||
variable eosC4 equal 1.96
|
||||
variable eosC5 equal 0.0
|
||||
variable eosC6 equal 0.0
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 2
|
||||
units si
|
||||
boundary sm sm p # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 1.0 # lattice spacing for creating particles
|
||||
lattice sq ${l0}
|
||||
lattice sq 1
|
||||
Lattice spacing in x,y,z = 1.0000000 1.0000000 1.0000000
|
||||
region box block -10 10 -10 10 -0.1 0.1 units box
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-10.000000 -10.000000 -0.1) to (10.000000 10.000000 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 400 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
group tlsph type 1
|
||||
400 atoms in group tlsph
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable h equal 2.01*1
|
||||
variable vol_one equal ${l0}^2 # volume of one particle -- assuming unit thickness
|
||||
variable vol_one equal 1^2
|
||||
variable skin equal ${h} # Verlet list range
|
||||
variable skin equal 2.01
|
||||
neighbor ${skin} bin
|
||||
neighbor 2.01 bin
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 1
|
||||
Setting atom values ...
|
||||
400 settings made for volume
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all smd/mass/density 1
|
||||
Setting atom values ...
|
||||
400 settings made for smd/mass/density
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter 2.01
|
||||
Setting atom values ...
|
||||
400 settings made for diameter
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel0 equal 0.02 # pull velocity
|
||||
region top block EDGE EDGE 9.0 EDGE EDGE EDGE units box
|
||||
region bot block EDGE EDGE EDGE -9.1 EDGE EDGE units box
|
||||
group top region top
|
||||
20 atoms in group top
|
||||
group bot region bot
|
||||
20 atoms in group bot
|
||||
variable vel_up equal ${vel0}*(1.0-exp(-0.01*time))
|
||||
variable vel_up equal 0.02*(1.0-exp(-0.01*time))
|
||||
variable vel_down equal -v_vel_up
|
||||
fix veltop_fix top smd/setvel 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvel 0 v_vel_down 0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# We use polynomial EOS for the pressure and the Johnson Cook strength model
|
||||
# An integration point fails (cannot support tension anymore) if the plastic strain exceeds 0.5.
|
||||
####################################################################################################
|
||||
pair_style smd/tlsph
|
||||
pair_coeff 1 1 *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 ${nu} ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 ${q1} ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 ${q2} ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 ${hg} ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 ${cp} *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL ${eosC0} ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 ${eosC1} ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 ${eosC2} ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 ${eosC3} ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 ${eosC4} ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 ${eosC5} ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 ${eosC6} *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK ${JC_A} ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 ${JC_B} ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 ${JC_N} ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 ${JC_C} ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 ${JC_epsdot0} ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 ${Troom} ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 298.15 ${Tmelt} ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 298.15 500.15 ${JC_M} *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
pair_coeff 1 1 *COMMON 1 70 0.3 0.56 0 10 1 *EOS_POLYNOMIAL 0 74.2 60.5 36.5 1.96 0 0 *JOHNSON_COOK 0.3241 0.1138 0.42 0 0.001 298.15 500.15 1.34 *FAILURE_MAX_PLASTIC_STRAIN 1.2 *END
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix tlsph smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
compute dt_atom all smd/tlsph/dt
|
||||
compute p all smd/plastic/strain
|
||||
compute epsdot all smd/plastic/strain/rate
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute D all smd/tlsph/strain/rate
|
||||
compute E all smd/tlsph/strain
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
compute shape all smd/tlsph/shape
|
||||
compute damage all smd/damage
|
||||
dump dump_id all custom 100 dump.LAMMPS id type x y z c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_p c_E[1] c_E[2] c_E[3] c_E[4] c_E[5] c_E[6] c_shape[1] c_shape[2] c_shape[3] c_shape[4] c_shape[5] c_shape[6] c_shape[7] c_D[1] c_D[2] c_D[4] c_damage radius c_epsdot vx vy vz c_dt_atom
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
variable stress equal 0.5*(f_velbot_fix[2]-f_veltop_fix[2])/20
|
||||
variable length equal xcm(top,y)-xcm(bot,y)
|
||||
variable strain equal (v_length-${length})/${length} # engineering strain
|
||||
variable strain equal (v_length-19)/${length}
|
||||
variable strain equal (v_length-19)/19
|
||||
variable time equal f_dtfix
|
||||
fix stress_curve all print 10 "${time} ${strain} ${stress}" file stress_strain.dat screen no
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix time v_strain
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
#fix 2 all enforce2d
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.02
|
||||
ghost atom cutoff = 4.02
|
||||
binsize = 2.01, bins = 10 10 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair smd/tlsph, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/2d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 12
|
||||
average # of neighbors/particle in group tlsph = 11.01
|
||||
Per MPI rank memory allocation (min/avg/max) = 30.42 | 30.43 | 30.44 Mbytes
|
||||
Step Dt f_dtfix Time v_strain
|
||||
0 1e-16 0 0 0
|
||||
100 0.020705726 2.0498925 2.0705726 4.436443e-05
|
||||
200 0.01898385 4.0324033 3.79677 0.00016515223
|
||||
300 0.019051906 5.9333066 5.7155717 0.00035049273
|
||||
400 0.018996472 7.8305099 7.5985889 0.00060670224
|
||||
500 0.019027435 9.73206 9.5137174 0.000934622
|
||||
600 0.019051342 11.6361 11.430805 0.001332781
|
||||
700 0.019065137 13.54205 13.345596 0.0017999344
|
||||
800 0.019077723 15.449268 15.262178 0.0023347057
|
||||
900 0.019085073 17.357448 17.176565 0.0029358076
|
||||
1000 0.019092376 19.266354 19.092376 0.0036019613
|
||||
1100 0.018942457 21.168409 20.836702 0.0043265389
|
||||
1200 0.017710951 22.995927 21.253142 0.0050558892
|
||||
1300 0.018403356 24.84804 23.924363 0.0058616452
|
||||
1400 0.0186654 26.710384 26.13156 0.0067328424
|
||||
1500 0.019022154 28.58178 28.533231 0.0076688571
|
||||
1600 0.018562934 30.467266 29.700694 0.0086745455
|
||||
1700 0.020657894 32.34779 35.118419 0.0097303803
|
||||
1800 0.018013596 34.258245 32.424473 0.01087327
|
||||
1900 0.018883511 36.128876 35.878671 0.012024842
|
||||
2000 0.018995939 37.998637 37.991879 0.013227222
|
||||
Loop time of 0.443737 on 4 procs for 2000 steps with 400 atoms
|
||||
|
||||
97.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.36926 | 0.37278 | 0.37567 | 0.4 | 84.01
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.013601 | 0.016496 | 0.018179 | 1.4 | 3.72
|
||||
Output | 0.018589 | 0.018805 | 0.019446 | 0.3 | 4.24
|
||||
Modify | 0.0314 | 0.034684 | 0.038016 | 1.3 | 7.82
|
||||
Other | | 0.0009738 | | | 0.22
|
||||
|
||||
Nlocal: 100.000 ave 100 max 100 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 110.250 ave 125 max 96 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
Neighs: 2373.00 ave 2373 max 2373 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 9492
|
||||
Ave neighs/atom = 23.730000
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
|
@ -35,7 +35,7 @@ variable Cp equal 1.0 # heat capacity -- not used here
|
|||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
units si
|
||||
units si
|
||||
dimension 2
|
||||
boundary sm sm p
|
||||
atom_style smd
|
||||
|
@ -53,7 +53,7 @@ variable l0 equal 0.05 # initial particle lattice spacing
|
|||
region box block 0 6 0 8 -0.01 0.01 units box
|
||||
create_box 3 box
|
||||
region water block 0.25 1 0.25 4 EDGE EDGE units box
|
||||
region container block 0.15 5.85 0.15 8 -0.01 0.01 units box side out # container
|
||||
region container block 0.15 5.85 0.15 8 -0.01 0.01 units box side out # container
|
||||
lattice sq ${l0}
|
||||
create_atoms 1 region water
|
||||
group water type 1
|
||||
|
@ -102,11 +102,11 @@ fix gfix all gravity -9.81 vector 0 1 0 # add gravity
|
|||
pair_style hybrid/overlay smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION &
|
||||
smd/tlsph smd/hertz ${contact_scale}
|
||||
pair_coeff 1 1 smd/ulsph *COMMON ${rho_water} ${c0} ${q1} ${Cp} 0 &
|
||||
*EOS_TAIT 7.0 &
|
||||
*END
|
||||
*EOS_TAIT 7.0 &
|
||||
*END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON ${rho_obj} ${E} ${nu} ${q1} ${q2} ${Hg} ${Cp} &
|
||||
*STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} &
|
||||
*EOS_LINEAR &
|
||||
*EOS_LINEAR &
|
||||
*END
|
||||
pair_coeff 3 3 none
|
||||
pair_coeff 1 2 smd/hertz ${contact_stiffness}
|
||||
|
@ -118,7 +118,7 @@ pair_coeff 2 2 smd/hertz ${contact_stiffness}
|
|||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix_water water smd/integrate_ulsph adjust_radius 1.01 10 15
|
||||
fix integration_fix_water water smd/integrate_ulsph adjust_radius 1.01 10 15
|
||||
fix integration_fix_solids solids smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
|
@ -150,7 +150,5 @@ thermo_modify lost ignore
|
|||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
fix balance_fix all balance 1000 0.9 rcb # load balancing for MPI
|
||||
run 40000
|
||||
|
||||
|
||||
fix balance_fix all balance 500 0.9 rcb # load balancing for MPI
|
||||
run 10000
|
|
@ -0,0 +1,369 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# combined TLSPH / ULSPH example
|
||||
#
|
||||
# A column of water is placed in a container and allowed to collapse unter the
|
||||
# influence of gravity. Several solid objects are also placed in the container.
|
||||
# The water flow pushes the solid objects around until the system comes to halt due to
|
||||
# viscous damping. The solid objects have a lower mass density than water and finally float on
|
||||
# the water surface.
|
||||
#
|
||||
# Water is modelled using the Updated Lagrangian formalism. Solid bodies are modelled using the
|
||||
# Total Lagrangian formalism. Contact forces between container, solid bodies, and water prevent
|
||||
# mutual penetration of these physical entities.
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable rho_water equal 1000 # mass density water
|
||||
variable rho_obj equal 300 # mass density solid objects
|
||||
variable c0 equal 10.0 # speed of sound for water
|
||||
variable E equal 5*${c0}*${c0}*${rho_water} # Young's modulus for solid objects
|
||||
variable E equal 5*10*${c0}*${rho_water}
|
||||
variable E equal 5*10*10*${rho_water}
|
||||
variable E equal 5*10*10*1000
|
||||
variable nu equal 0.3 # Poisson ratio for solid objects
|
||||
variable sigma_yield equal 0.1*${E} # plastic yield stress for solid objects
|
||||
variable sigma_yield equal 0.1*500000
|
||||
variable hardening_parameter equal 0 # plastic hardening parameter for solid objects
|
||||
variable contact_stiffness equal 2.5*${c0}^2*${rho_water} # contact force amplitude
|
||||
variable contact_stiffness equal 2.5*10^2*${rho_water}
|
||||
variable contact_stiffness equal 2.5*10^2*1000
|
||||
variable q1 equal 1.0 # artificial viscosity
|
||||
variable q2 equal 0.0 # artificial viscosity
|
||||
variable Hg equal 10 # Hourglass control coefficient for solid objects
|
||||
variable Cp equal 1.0 # heat capacity -- not used here
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
units si
|
||||
dimension 2
|
||||
boundary sm sm p
|
||||
atom_style smd
|
||||
neigh_modify every 5 delay 0 check yes
|
||||
comm_modify vel yes
|
||||
newton off
|
||||
atom_modify map array
|
||||
comm_style tiled
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
# create simulation box, a container, and a water column
|
||||
variable l0 equal 0.05 # initial particle lattice spacing
|
||||
region box block 0 6 0 8 -0.01 0.01 units box
|
||||
create_box 3 box
|
||||
Created orthogonal box = (0.0000000 0.0000000 -0.01) to (6.0000000 8.0000000 0.01)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
region water block 0.25 1 0.25 4 EDGE EDGE units box
|
||||
region container block 0.15 5.85 0.15 8 -0.01 0.01 units box side out # container
|
||||
lattice sq ${l0}
|
||||
lattice sq 0.05
|
||||
Lattice spacing in x,y,z = 0.05 0.05 0.05
|
||||
create_atoms 1 region water
|
||||
Created 1216 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group water type 1
|
||||
1216 atoms in group water
|
||||
create_atoms 3 region container
|
||||
Created 1302 atoms
|
||||
create_atoms CPU = 0.003 seconds
|
||||
group container type 3
|
||||
1302 atoms in group container
|
||||
|
||||
# create some solid objects to be pushed around
|
||||
region obj1 prism 2 2.6 0.25 0.85 EDGE EDGE 0.3 0 0 units box
|
||||
region obj2 block 3 3.6 0.25 0.85 EDGE EDGE units box
|
||||
region obj3 sphere 4.3 0.5 0 0.25 units box
|
||||
create_atoms 2 region obj1
|
||||
Created 146 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
create_atoms 2 region obj2
|
||||
Created 156 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
create_atoms 2 region obj3
|
||||
Created 77 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
group solids type 2
|
||||
379 atoms in group solids
|
||||
group tlsph type 2
|
||||
379 atoms in group tlsph
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.5*${l0} # SPH kernel diameter
|
||||
variable h equal 2.5*0.05
|
||||
variable vol_one equal ${l0}^2 # initial particle volume for 2d simulation
|
||||
variable vol_one equal 0.05^2
|
||||
set group all diameter ${h}
|
||||
set group all diameter 0.125
|
||||
Setting atom values ...
|
||||
2897 settings made for diameter
|
||||
set group all smd/contact/radius ${l0}
|
||||
set group all smd/contact/radius 0.05
|
||||
Setting atom values ...
|
||||
2897 settings made for smd/contact/radius
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 0.0025
|
||||
Setting atom values ...
|
||||
2897 settings made for volume
|
||||
set group all smd/mass/density ${rho_water}
|
||||
set group all smd/mass/density 1000
|
||||
Setting atom values ...
|
||||
2897 settings made for smd/mass/density
|
||||
set group solids smd/mass/density ${rho_obj}
|
||||
set group solids smd/mass/density 300
|
||||
Setting atom values ...
|
||||
379 settings made for smd/mass/density
|
||||
variable contact_scale equal 1.5 # scale factor to increase contact gap between bodies
|
||||
variable skin equal ${h} # Verlet list range
|
||||
variable skin equal 0.125
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.125 bin
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE BOUNDARY CONDITIONS
|
||||
#
|
||||
# note that the the particles constituting the container are simply not integrated in time,
|
||||
# thus these particles never move. This is equivalent to a fixed displacement boundary condition.
|
||||
####################################################################################################
|
||||
fix gfix all gravity -9.81 vector 0 1 0 # add gravity
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# 3 different pair styles are used:
|
||||
# - updated Lagrangian SPH for water
|
||||
# - total Lagrangian SPH for solid objects
|
||||
# - a repulsive Hertzian potential for contact forces between different physical bodies
|
||||
####################################################################################################
|
||||
pair_style hybrid/overlay smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION smd/tlsph smd/hertz ${contact_scale}
|
||||
pair_style hybrid/overlay smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION smd/tlsph smd/hertz 1.5
|
||||
pair_coeff 1 1 smd/ulsph *COMMON ${rho_water} ${c0} ${q1} ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 ${c0} ${q1} ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 10 ${q1} ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 10 1 ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 10 1 1 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON ${rho_obj} ${E} ${nu} ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 ${E} ${nu} ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 ${nu} ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 1 *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 1 *STRENGTH_LINEAR_PLASTIC 50000 ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 1 *STRENGTH_LINEAR_PLASTIC 50000 0 *EOS_LINEAR *END
|
||||
pair_coeff 3 3 none
|
||||
pair_coeff 1 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 2 smd/hertz 250000
|
||||
pair_coeff 1 3 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 3 smd/hertz 250000
|
||||
pair_coeff 2 3 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 2 3 smd/hertz 250000
|
||||
pair_coeff 2 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 2 2 smd/hertz 250000
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix_water water smd/integrate_ulsph adjust_radius 1.01 10 15
|
||||
fix integration_fix_solids solids smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
compute eint all smd/internal/energy
|
||||
compute contact_radius all smd/contact/radius
|
||||
compute S solids smd/tlsph/stress
|
||||
compute nn water smd/ulsph/num/neighs
|
||||
compute epl solids smd/plastic/strain
|
||||
compute vol all smd/vol
|
||||
compute rho all smd/rho
|
||||
|
||||
dump dump_id all custom 100 dump.LAMMPS id type x y fx fy vx vy c_eint c_contact_radius mol c_S[1] c_S[2] c_S[4] mass radius c_epl c_vol c_rho c_nn proc
|
||||
dump_modify dump_id first yes
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
compute alleint all reduce sum c_eint
|
||||
variable etot equal pe+ke+c_alleint+f_gfix # total energy of the system
|
||||
thermo 100
|
||||
thermo_style custom step ke pe v_etot c_alleint f_dtfix dt
|
||||
thermo_modify lost ignore
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
fix balance_fix all balance 500 0.9 rcb # load balancing for MPI
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 5 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.25
|
||||
ghost atom cutoff = 0.25
|
||||
binsize = 0.125, bins = 49 65 1
|
||||
4 neighbor lists, perpetual/occasional/extra = 4 0 0
|
||||
(1) pair smd/ulsph, perpetual, skip from (4)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/tlsph, perpetual, skip from (4)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair smd/hertz, perpetual, skip from (4)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/2d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 20
|
||||
average # of neighbors/particle in group tlsph = 16.1953
|
||||
Per MPI rank memory allocation (min/avg/max) = 33.92 | 33.92 | 33.92 Mbytes
|
||||
Step KinEng PotEng v_etot c_alleint f_dtfix Dt
|
||||
0 0 2061.4431 160890.25 0 0 1e-16
|
||||
100 110.38483 1974.0319 160890.91 83.958227 0.025850826 0.00026152059
|
||||
200 410.9998 1980.3731 160890.98 96.652105 0.052002352 0.00026164496
|
||||
300 862.92747 2032.91 160890.79 103.49371 0.078169741 0.00026169298
|
||||
400 1475.0476 2060.9237 160890.74 132.98616 0.10434325 0.00026167602
|
||||
500 2222.5964 2085.0285 160890.87 179.57 0.13051706 0.00026168892
|
||||
600 3094.6488 2120.0243 160890.99 242.61995 0.1566886 0.00026173387
|
||||
700 4105.8784 2146.5075 160891.07 325.53014 0.18285775 0.00026171391
|
||||
800 5247.7398 2172.2379 160891.16 425.42573 0.20902811 0.00026168535
|
||||
900 6499.9584 2205.5968 160891.26 542.68096 0.2351982 0.00026169831
|
||||
1000 7860.7882 2232.9696 160891.28 673.519 0.2613694 0.00026172796
|
||||
1100 9341.2891 2236.5819 160891.32 809.66021 0.28754068 0.00026172733
|
||||
1200 10912.001 2237.9563 160891.42 957.43887 0.31371344 0.00026172798
|
||||
1300 12552.004 2245.8632 160891.59 1132.7199 0.33988625 0.0002617283
|
||||
1400 14246.853 2262.0913 160891.8 1347.5916 0.36605911 0.00026172825
|
||||
1500 15866.379 2366.879 160892.63 1639.1772 0.39219431 0.00026009533
|
||||
1600 17341.368 2517.4637 160893.05 2086.5435 0.41827701 0.00026165088
|
||||
1700 18867.401 2571.2558 160893.24 2594.7072 0.44444158 0.00026137908
|
||||
1800 20459.221 2547.2114 160893.12 3092.9812 0.47060324 0.0002617438
|
||||
1900 21960.773 2564.3855 160893.58 3629.442 0.49677656 0.00026172693
|
||||
2000 23319.918 2622.9544 160893.92 4259.9621 0.52294912 0.00026172494
|
||||
2100 24377.644 2882.5329 160894.56 4973.9483 0.54911541 0.00026137954
|
||||
2200 25430.827 3039.9698 160895.1 5752.9782 0.57521248 0.00026087071
|
||||
2300 26271.379 3123.1708 160895.67 6746.5541 0.60135585 0.00026159423
|
||||
2400 27059.111 3139.5429 160895.59 7742.1161 0.6275021 0.00026160385
|
||||
2500 27508.933 3368.076 160895.85 8718.2215 0.65366646 0.00026162198
|
||||
2600 28094.936 3418.1261 160894.07 9562.0049 0.67981916 0.0002615721
|
||||
2700 28787.355 3310.3589 160893.77 10267.434 0.70597716 0.0002615586
|
||||
2800 29336.45 3297.5857 160893.38 10825.402 0.73214103 0.00026174244
|
||||
2900 29991.889 3179.6992 160891.61 11184.363 0.75818764 0.00025998806
|
||||
3000 30688.958 3013.4253 160891.61 11366.212 0.78428218 0.00026137377
|
||||
3100 31326.322 2795.4081 160891.15 11492.417 0.81040043 0.00026111003
|
||||
3200 31847.633 2617.773 160890.98 11569.31 0.83655938 0.00026139625
|
||||
3300 32313.831 2444.1933 160890.95 11616.693 0.86271621 0.00026157968
|
||||
3400 32691.546 2310.6105 160890.99 11674.542 0.88887621 0.00026144794
|
||||
3500 32192.445 2870.8241 160890.46 11913.837 0.9150388 0.00026154188
|
||||
3600 32817.36 2517.3965 160895.3 11970.017 0.94119262 0.00026171503
|
||||
3700 31147.98 3146.4192 160888.4 13325.589 0.96476165 0.00020512804
|
||||
3800 29823.459 3988.1418 160898.94 14208.015 0.99059864 0.00025968427
|
||||
3900 28452.626 4228.8969 160905.02 15702.514 1.0158802 0.00024057395
|
||||
4000 27568.981 4385.2884 160905.71 16683.879 1.0396349 0.0002605873
|
||||
4100 27240.819 3813.649 160898.61 17767.991 1.0655522 0.00025821485
|
||||
4200 27150.863 3629.3834 160898.28 18107.953 1.0914009 0.00026010449
|
||||
4300 27134.331 2948.4054 160896.47 18664.208 1.1173095 0.00026013826
|
||||
4400 26571.162 2794.6958 160895.88 19130.289 1.1431826 0.00025962739
|
||||
4500 25871.24 2841.0684 160895.94 19484.233 1.1691267 0.00025898302
|
||||
4600 25449.245 2662.3591 160894.92 19770.669 1.1950856 0.00025957714
|
||||
4700 25225.6 2401.4379 160896.04 19959.29 1.2210258 0.00025930411
|
||||
4800 24363.351 2394.7252 160897.91 20568.393 1.2469465 0.00025909397
|
||||
4900 23268.777 2558.0367 160897.79 21275.551 1.272844 0.00025888676
|
||||
5000 22039.476 2810.8742 160898.56 22035.37 1.2987289 0.0002588652
|
||||
5100 20669.517 2910.051 160899.73 23055.916 1.3246192 0.00025893693
|
||||
5200 19036.065 3098.8498 160899.79 24164.997 1.3505143 0.00025894764
|
||||
5300 17399.525 3280.7348 160898.46 25169.697 1.376407 0.00025890002
|
||||
5400 16126.916 3392.9894 160896.37 25743.497 1.4023122 0.00025923267
|
||||
5500 15388.847 3177.435 160894.77 25962.578 1.4282294 0.00025912999
|
||||
5600 14980.948 2724.2506 160894.07 25957.678 1.4541406 0.00025905524
|
||||
5700 14384.933 2438.1412 160894.21 25895.334 1.4800347 0.00025890247
|
||||
5800 13543.66 2288.3169 160894.71 25919.508 1.5059251 0.00025889292
|
||||
5900 12600.42 2192.65 160894.98 26013.86 1.5318119 0.00025882608
|
||||
6000 11648.248 2143.9198 160894.96 26130.569 1.5576947 0.00025883277
|
||||
6100 10761.864 2121.7963 160894.92 26241.411 1.5835774 0.00025882777
|
||||
6200 9959.5714 2120.1236 160894.95 26348.925 1.6094602 0.00025882797
|
||||
6300 9237.1394 2135.2961 160894.96 26461.367 1.635343 0.00025882787
|
||||
6400 8583.6115 2168.4548 160894.99 26576.994 1.6612257 0.00025882781
|
||||
6500 7963.7449 2220.8972 160895.15 26712.75 1.6871085 0.00025882777
|
||||
6600 7357.548 2285.6468 160895.27 26877.932 1.7129913 0.00025882809
|
||||
6700 6773.6754 2354.0802 160895.3 27059.723 1.7388741 0.00025882734
|
||||
6800 6253.0571 2397.1912 160895.22 27237.433 1.7647569 0.00025882765
|
||||
6900 5832.7247 2402.7609 160895 27380.969 1.7906397 0.00025882771
|
||||
7000 5516.4297 2378.9422 160894.75 27476.491 1.8165224 0.00025882773
|
||||
7100 5271.1627 2357.0086 160894.57 27525.724 1.8424099 0.00025901825
|
||||
7200 5096.0631 2300.66 160894.64 27569.84 1.8683152 0.00025899781
|
||||
7300 4969.7797 2232.2586 160894.64 27618.573 1.8942048 0.00025885715
|
||||
7400 4869.8176 2188.5356 160894.71 27675.257 1.9200895 0.00025884712
|
||||
7500 4808.727 2172.7763 160894.71 27740.697 1.945974 0.00025884589
|
||||
7600 4539.9514 2287.6288 160895.88 27970.304 1.9718584 0.00025884503
|
||||
7700 4529.6955 2235.6214 160895.4 28196.427 1.9977429 0.00025884464
|
||||
7800 4477.9527 2348.3717 160895.47 28374.364 2.0236273 0.00025884449
|
||||
7900 4288.2969 2488.4568 160895.53 28696.463 2.0495118 0.00025884444
|
||||
8000 4153.7247 2662.9557 160896.02 28917.434 2.0753962 0.00025884442
|
||||
8100 4178.1958 2575.103 160895.99 29186.715 2.1012807 0.00025884442
|
||||
8200 4204.5618 2475.0301 160895.28 29450.605 2.1271651 0.00025884442
|
||||
8300 4315.6439 2378.0932 160895.56 29647.245 2.1530496 0.00025884442
|
||||
8400 4431.4266 2326.1925 160895.27 29835.155 2.178934 0.00025884442
|
||||
8500 4628.3002 2311.6485 160895.03 29960.204 2.2048184 0.00025884442
|
||||
8600 4893.5362 2313.4775 160895 30057.182 2.2307029 0.00025884442
|
||||
8700 5243.973 2283.0985 160895.01 30156.886 2.2565873 0.00025884442
|
||||
8800 5637.0332 2255.1708 160895.14 30272.664 2.2824718 0.00025884442
|
||||
8900 6072.5792 2245.488 160895.16 30395.221 2.3083562 0.00025884442
|
||||
9000 6512.8182 2274.8746 160895.33 30538.04 2.3342407 0.00025884442
|
||||
9100 6874.6824 2372.6251 160895.6 30728.839 2.3601294 0.00025922655
|
||||
9200 6883.7477 2587.4645 160896.82 31161.953 2.3860453 0.00025740259
|
||||
9300 7629.5904 2328.0088 160895.79 31341.451 2.4118195 0.0002595483
|
||||
9400 8020.8221 2296.2422 160895.88 31686.827 2.4376763 0.0002585237
|
||||
9500 8406.9256 2366.0621 160895.73 31965.641 2.4635669 0.00025891925
|
||||
9600 8806.1892 2441.5481 160895.85 32227.658 2.4894503 0.00025855469
|
||||
9700 9031.0562 2619.8477 160897.08 32535.074 2.5153342 0.00025891516
|
||||
9800 8813.7912 2933.735 160897.31 33097.937 2.5412258 0.0002589147
|
||||
9900 8761.2124 2904.7802 160897.01 33694.449 2.5670974 0.00025891454
|
||||
10000 8882.8711 2694.9889 160897.39 34132.839 2.5929888 0.00025891448
|
||||
Loop time of 26.9823 on 1 procs for 10000 steps with 2897 atoms
|
||||
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 24.759 | 24.759 | 24.759 | 0.0 | 91.76
|
||||
Neigh | 0.34705 | 0.34705 | 0.34705 | 0.0 | 1.29
|
||||
Comm | 0.0076244 | 0.0076244 | 0.0076244 | 0.0 | 0.03
|
||||
Output | 1.3042 | 1.3042 | 1.3042 | 0.0 | 4.83
|
||||
Modify | 0.49473 | 0.49473 | 0.49473 | 0.0 | 1.83
|
||||
Other | | 0.06985 | | | 0.26
|
||||
|
||||
Nlocal: 2897.00 ave 2897 max 2897 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 38433.0 ave 38433 max 38433 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 38433
|
||||
Ave neighs/atom = 13.266483
|
||||
Neighbor list builds = 286
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:27
|
|
@ -0,0 +1,369 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# combined TLSPH / ULSPH example
|
||||
#
|
||||
# A column of water is placed in a container and allowed to collapse unter the
|
||||
# influence of gravity. Several solid objects are also placed in the container.
|
||||
# The water flow pushes the solid objects around until the system comes to halt due to
|
||||
# viscous damping. The solid objects have a lower mass density than water and finally float on
|
||||
# the water surface.
|
||||
#
|
||||
# Water is modelled using the Updated Lagrangian formalism. Solid bodies are modelled using the
|
||||
# Total Lagrangian formalism. Contact forces between container, solid bodies, and water prevent
|
||||
# mutual penetration of these physical entities.
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable rho_water equal 1000 # mass density water
|
||||
variable rho_obj equal 300 # mass density solid objects
|
||||
variable c0 equal 10.0 # speed of sound for water
|
||||
variable E equal 5*${c0}*${c0}*${rho_water} # Young's modulus for solid objects
|
||||
variable E equal 5*10*${c0}*${rho_water}
|
||||
variable E equal 5*10*10*${rho_water}
|
||||
variable E equal 5*10*10*1000
|
||||
variable nu equal 0.3 # Poisson ratio for solid objects
|
||||
variable sigma_yield equal 0.1*${E} # plastic yield stress for solid objects
|
||||
variable sigma_yield equal 0.1*500000
|
||||
variable hardening_parameter equal 0 # plastic hardening parameter for solid objects
|
||||
variable contact_stiffness equal 2.5*${c0}^2*${rho_water} # contact force amplitude
|
||||
variable contact_stiffness equal 2.5*10^2*${rho_water}
|
||||
variable contact_stiffness equal 2.5*10^2*1000
|
||||
variable q1 equal 1.0 # artificial viscosity
|
||||
variable q2 equal 0.0 # artificial viscosity
|
||||
variable Hg equal 10 # Hourglass control coefficient for solid objects
|
||||
variable Cp equal 1.0 # heat capacity -- not used here
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
units si
|
||||
dimension 2
|
||||
boundary sm sm p
|
||||
atom_style smd
|
||||
neigh_modify every 5 delay 0 check yes
|
||||
comm_modify vel yes
|
||||
newton off
|
||||
atom_modify map array
|
||||
comm_style tiled
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
# create simulation box, a container, and a water column
|
||||
variable l0 equal 0.05 # initial particle lattice spacing
|
||||
region box block 0 6 0 8 -0.01 0.01 units box
|
||||
create_box 3 box
|
||||
Created orthogonal box = (0.0000000 0.0000000 -0.01) to (6.0000000 8.0000000 0.01)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
region water block 0.25 1 0.25 4 EDGE EDGE units box
|
||||
region container block 0.15 5.85 0.15 8 -0.01 0.01 units box side out # container
|
||||
lattice sq ${l0}
|
||||
lattice sq 0.05
|
||||
Lattice spacing in x,y,z = 0.05 0.05 0.05
|
||||
create_atoms 1 region water
|
||||
Created 1216 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group water type 1
|
||||
1216 atoms in group water
|
||||
create_atoms 3 region container
|
||||
Created 1302 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group container type 3
|
||||
1302 atoms in group container
|
||||
|
||||
# create some solid objects to be pushed around
|
||||
region obj1 prism 2 2.6 0.25 0.85 EDGE EDGE 0.3 0 0 units box
|
||||
region obj2 block 3 3.6 0.25 0.85 EDGE EDGE units box
|
||||
region obj3 sphere 4.3 0.5 0 0.25 units box
|
||||
create_atoms 2 region obj1
|
||||
Created 146 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
create_atoms 2 region obj2
|
||||
Created 156 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
create_atoms 2 region obj3
|
||||
Created 77 atoms
|
||||
create_atoms CPU = 0.000 seconds
|
||||
group solids type 2
|
||||
379 atoms in group solids
|
||||
group tlsph type 2
|
||||
379 atoms in group tlsph
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.5*${l0} # SPH kernel diameter
|
||||
variable h equal 2.5*0.05
|
||||
variable vol_one equal ${l0}^2 # initial particle volume for 2d simulation
|
||||
variable vol_one equal 0.05^2
|
||||
set group all diameter ${h}
|
||||
set group all diameter 0.125
|
||||
Setting atom values ...
|
||||
2897 settings made for diameter
|
||||
set group all smd/contact/radius ${l0}
|
||||
set group all smd/contact/radius 0.05
|
||||
Setting atom values ...
|
||||
2897 settings made for smd/contact/radius
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 0.0025
|
||||
Setting atom values ...
|
||||
2897 settings made for volume
|
||||
set group all smd/mass/density ${rho_water}
|
||||
set group all smd/mass/density 1000
|
||||
Setting atom values ...
|
||||
2897 settings made for smd/mass/density
|
||||
set group solids smd/mass/density ${rho_obj}
|
||||
set group solids smd/mass/density 300
|
||||
Setting atom values ...
|
||||
379 settings made for smd/mass/density
|
||||
variable contact_scale equal 1.5 # scale factor to increase contact gap between bodies
|
||||
variable skin equal ${h} # Verlet list range
|
||||
variable skin equal 0.125
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.125 bin
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE BOUNDARY CONDITIONS
|
||||
#
|
||||
# note that the the particles constituting the container are simply not integrated in time,
|
||||
# thus these particles never move. This is equivalent to a fixed displacement boundary condition.
|
||||
####################################################################################################
|
||||
fix gfix all gravity -9.81 vector 0 1 0 # add gravity
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# 3 different pair styles are used:
|
||||
# - updated Lagrangian SPH for water
|
||||
# - total Lagrangian SPH for solid objects
|
||||
# - a repulsive Hertzian potential for contact forces between different physical bodies
|
||||
####################################################################################################
|
||||
pair_style hybrid/overlay smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION smd/tlsph smd/hertz ${contact_scale}
|
||||
pair_style hybrid/overlay smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION smd/tlsph smd/hertz 1.5
|
||||
pair_coeff 1 1 smd/ulsph *COMMON ${rho_water} ${c0} ${q1} ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 ${c0} ${q1} ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 10 ${q1} ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 10 1 ${Cp} 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1000 10 1 1 0 *EOS_TAIT 7.0 *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON ${rho_obj} ${E} ${nu} ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 ${E} ${nu} ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 ${nu} ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 ${q1} ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 ${q2} ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 ${Hg} ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 ${Cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 1 *STRENGTH_LINEAR_PLASTIC ${sigma_yield} ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 1 *STRENGTH_LINEAR_PLASTIC 50000 ${hardening_parameter} *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 300 500000 0.3 1 0 10 1 *STRENGTH_LINEAR_PLASTIC 50000 0 *EOS_LINEAR *END
|
||||
pair_coeff 3 3 none
|
||||
pair_coeff 1 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 2 smd/hertz 250000
|
||||
pair_coeff 1 3 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 3 smd/hertz 250000
|
||||
pair_coeff 2 3 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 2 3 smd/hertz 250000
|
||||
pair_coeff 2 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 2 2 smd/hertz 250000
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix_water water smd/integrate_ulsph adjust_radius 1.01 10 15
|
||||
fix integration_fix_solids solids smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
compute eint all smd/internal/energy
|
||||
compute contact_radius all smd/contact/radius
|
||||
compute S solids smd/tlsph/stress
|
||||
compute nn water smd/ulsph/num/neighs
|
||||
compute epl solids smd/plastic/strain
|
||||
compute vol all smd/vol
|
||||
compute rho all smd/rho
|
||||
|
||||
dump dump_id all custom 100 dump.LAMMPS id type x y fx fy vx vy c_eint c_contact_radius mol c_S[1] c_S[2] c_S[4] mass radius c_epl c_vol c_rho c_nn proc
|
||||
dump_modify dump_id first yes
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
compute alleint all reduce sum c_eint
|
||||
variable etot equal pe+ke+c_alleint+f_gfix # total energy of the system
|
||||
thermo 100
|
||||
thermo_style custom step ke pe v_etot c_alleint f_dtfix dt
|
||||
thermo_modify lost ignore
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
fix balance_fix all balance 500 0.9 rcb # load balancing for MPI
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 5 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.25
|
||||
ghost atom cutoff = 0.25
|
||||
binsize = 0.125, bins = 49 65 1
|
||||
4 neighbor lists, perpetual/occasional/extra = 4 0 0
|
||||
(1) pair smd/ulsph, perpetual, skip from (4)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/tlsph, perpetual, skip from (4)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair smd/hertz, perpetual, skip from (4)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/2d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 20
|
||||
average # of neighbors/particle in group tlsph = 16.1953
|
||||
Per MPI rank memory allocation (min/avg/max) = 33.75 | 34.05 | 34.21 Mbytes
|
||||
Step KinEng PotEng v_etot c_alleint f_dtfix Dt
|
||||
0 0 2061.4431 160890.25 0 0 1e-16
|
||||
100 110.38483 1974.0319 160890.91 83.958227 0.025850826 0.00026152059
|
||||
200 410.9998 1980.3731 160890.98 96.652105 0.052002352 0.00026164496
|
||||
300 862.92747 2032.91 160890.79 103.49371 0.078169741 0.00026169298
|
||||
400 1475.0476 2060.9237 160890.74 132.98616 0.10434325 0.00026167602
|
||||
500 2222.5964 2085.0285 160890.87 179.57 0.13051706 0.00026168892
|
||||
600 3094.6488 2120.0243 160890.99 242.61995 0.1566886 0.00026173387
|
||||
700 4105.8784 2146.5075 160891.07 325.53014 0.18285775 0.00026171391
|
||||
800 5247.7398 2172.2379 160891.16 425.42573 0.20902811 0.00026168535
|
||||
900 6499.9584 2205.5968 160891.26 542.68096 0.2351982 0.00026169831
|
||||
1000 7860.7882 2232.9696 160891.28 673.519 0.2613694 0.00026172796
|
||||
1100 9341.2891 2236.5819 160891.32 809.66021 0.28754068 0.00026172733
|
||||
1200 10912.001 2237.9563 160891.42 957.43887 0.31371344 0.00026172798
|
||||
1300 12552.004 2245.8632 160891.59 1132.7199 0.33988625 0.0002617283
|
||||
1400 14246.853 2262.0913 160891.8 1347.5916 0.36605911 0.00026172825
|
||||
1500 15866.379 2366.879 160892.63 1639.1772 0.39219431 0.00026009533
|
||||
1600 17341.368 2517.4637 160893.05 2086.5435 0.41827701 0.00026165088
|
||||
1700 18867.401 2571.2558 160893.24 2594.7072 0.44444158 0.00026137908
|
||||
1800 20459.221 2547.2114 160893.12 3092.9812 0.47060324 0.0002617438
|
||||
1900 21960.773 2564.3855 160893.58 3629.442 0.49677656 0.00026172693
|
||||
2000 23319.918 2622.9544 160893.92 4259.9621 0.52294912 0.00026172494
|
||||
2100 24377.644 2882.5329 160894.56 4973.9483 0.54911541 0.00026137954
|
||||
2200 25430.827 3039.9698 160895.1 5752.9782 0.57521248 0.00026087071
|
||||
2300 26271.379 3123.1708 160895.67 6746.5541 0.60135585 0.00026159423
|
||||
2400 27059.111 3139.5429 160895.59 7742.1161 0.6275021 0.00026160385
|
||||
2500 27508.933 3368.076 160895.85 8718.2215 0.65366646 0.00026162198
|
||||
2600 28094.936 3418.1261 160894.07 9562.0049 0.67981916 0.0002615721
|
||||
2700 28787.355 3310.3589 160893.77 10267.434 0.70597716 0.0002615586
|
||||
2800 29336.45 3297.5857 160893.38 10825.402 0.73214103 0.00026174244
|
||||
2900 29991.889 3179.6992 160891.61 11184.363 0.75818764 0.00025998806
|
||||
3000 30688.958 3013.4253 160891.61 11366.212 0.78428218 0.00026137377
|
||||
3100 31326.322 2795.4081 160891.15 11492.417 0.81040043 0.00026111003
|
||||
3200 31847.633 2617.773 160890.98 11569.31 0.83655938 0.00026139625
|
||||
3300 32313.831 2444.1932 160890.95 11616.693 0.86271621 0.00026157968
|
||||
3400 32691.546 2310.6105 160890.99 11674.542 0.88887621 0.00026144794
|
||||
3500 32192.445 2870.8241 160890.46 11913.837 0.9150388 0.00026154188
|
||||
3600 32817.36 2517.3965 160895.3 11970.017 0.94119262 0.00026171503
|
||||
3700 31147.98 3146.4192 160888.4 13325.589 0.96476165 0.00020512803
|
||||
3800 29823.459 3988.1418 160898.94 14208.015 0.99059864 0.00025968427
|
||||
3900 28452.626 4228.8969 160905.02 15702.514 1.0158802 0.00024057395
|
||||
4000 27568.981 4385.2883 160905.71 16683.879 1.0396349 0.0002605873
|
||||
4100 27240.818 3813.649 160898.61 17767.991 1.0655522 0.00025821485
|
||||
4200 27150.863 3629.3834 160898.28 18107.953 1.0914009 0.00026010449
|
||||
4300 27134.33 2948.4054 160896.47 18664.208 1.1173095 0.00026013826
|
||||
4400 26571.162 2794.6958 160895.88 19130.289 1.1431826 0.00025962739
|
||||
4500 25871.24 2841.0684 160895.94 19484.233 1.1691267 0.00025898302
|
||||
4600 25449.245 2662.3592 160894.92 19770.669 1.1950856 0.00025957714
|
||||
4700 25225.6 2401.4379 160896.04 19959.29 1.2210258 0.00025930411
|
||||
4800 24363.351 2394.7252 160897.91 20568.393 1.2469465 0.00025909397
|
||||
4900 23268.777 2558.0367 160897.79 21275.551 1.272844 0.00025888676
|
||||
5000 22039.476 2810.8741 160898.56 22035.37 1.2987289 0.0002588652
|
||||
5100 20669.517 2910.051 160899.73 23055.916 1.3246192 0.00025893693
|
||||
5200 19036.065 3098.8499 160899.79 24164.997 1.3505143 0.00025894764
|
||||
5300 17399.525 3280.7348 160898.46 25169.697 1.376407 0.00025890002
|
||||
5400 16126.916 3392.9894 160896.37 25743.496 1.4023122 0.00025923267
|
||||
5500 15388.847 3177.4351 160894.77 25962.578 1.4282294 0.00025912999
|
||||
5600 14980.949 2724.2506 160894.07 25957.678 1.4541406 0.00025905524
|
||||
5700 14384.933 2438.1412 160894.21 25895.334 1.4800347 0.00025890247
|
||||
5800 13543.66 2288.3169 160894.71 25919.508 1.5059251 0.00025889292
|
||||
5900 12600.419 2192.6499 160894.98 26013.86 1.5318119 0.00025882608
|
||||
6000 11648.247 2143.9198 160894.96 26130.569 1.5576947 0.00025883277
|
||||
6100 10761.864 2121.7962 160894.92 26241.412 1.5835774 0.00025882777
|
||||
6200 9959.5712 2120.1235 160894.95 26348.925 1.6094602 0.00025882797
|
||||
6300 9237.1393 2135.296 160894.96 26461.367 1.635343 0.00025882787
|
||||
6400 8583.6121 2168.4542 160894.99 26576.994 1.6612257 0.00025882781
|
||||
6500 7963.7472 2220.8952 160895.15 26712.75 1.6871085 0.00025882777
|
||||
6600 7357.5525 2285.645 160895.27 26877.93 1.7129913 0.00025882809
|
||||
6700 6773.6829 2354.0838 160895.3 27059.712 1.7388741 0.00025882734
|
||||
6800 6253.0639 2397.1935 160895.22 27237.424 1.7647569 0.00025882765
|
||||
6900 5832.7325 2402.7565 160895 27380.966 1.7906397 0.00025882771
|
||||
7000 5516.4341 2378.9426 160894.75 27476.487 1.8165224 0.00025882773
|
||||
7100 5271.1656 2357.0101 160894.57 27525.721 1.8424099 0.00025901825
|
||||
7200 5096.0661 2300.6606 160894.64 27569.838 1.8683152 0.00025899781
|
||||
7300 4969.7828 2232.2569 160894.64 27618.571 1.8942048 0.00025885715
|
||||
7400 4869.8207 2188.5342 160894.71 27675.254 1.9200895 0.00025884712
|
||||
7500 4808.7304 2172.7734 160894.71 27740.694 1.945974 0.00025884589
|
||||
7600 4539.9554 2287.6262 160895.88 27970.299 1.9718584 0.00025884503
|
||||
7700 4529.6991 2235.6187 160895.4 28196.422 1.9977429 0.00025884464
|
||||
7800 4477.9563 2348.37 160895.47 28374.358 2.0236273 0.00025884449
|
||||
7900 4288.3014 2488.457 160895.53 28696.456 2.0495118 0.00025884444
|
||||
8000 4153.7215 2662.9637 160896.02 28917.429 2.0753962 0.00025884442
|
||||
8100 4178.193 2575.1107 160895.99 29186.71 2.1012807 0.00025884442
|
||||
8200 4204.5591 2475.0319 160895.28 29450.604 2.1271651 0.00025884442
|
||||
8300 4315.6393 2378.0944 160895.56 29647.245 2.1530496 0.00025884442
|
||||
8400 4431.42 2326.1965 160895.27 29835.156 2.178934 0.00025884442
|
||||
8500 4628.293 2311.6543 160895.03 29960.205 2.2048184 0.00025884442
|
||||
8600 4893.5297 2313.4828 160895 30057.185 2.2307029 0.00025884442
|
||||
8700 5243.9676 2283.1015 160895.01 30156.89 2.2565873 0.00025884442
|
||||
8800 5637.0288 2255.1729 160895.14 30272.669 2.2824718 0.00025884442
|
||||
8900 6072.5778 2245.4877 160895.16 30395.226 2.3083562 0.00025884442
|
||||
9000 6512.8195 2274.8733 160895.33 30538.044 2.3342407 0.00025884442
|
||||
9100 6874.6866 2372.6178 160895.6 30728.848 2.3601294 0.0002592265
|
||||
9200 6883.747 2587.4625 160896.82 31161.961 2.3860453 0.00025740262
|
||||
9300 7629.5733 2328.0119 160895.79 31341.47 2.4118195 0.0002595483
|
||||
9400 8020.8094 2296.2399 160895.88 31686.846 2.4376763 0.00025852365
|
||||
9500 8406.9195 2366.0657 160895.73 31965.648 2.4635669 0.00025891926
|
||||
9600 8806.1858 2441.5546 160895.85 32227.66 2.4894503 0.00025855472
|
||||
9700 9031.0664 2619.8307 160897.08 32535.083 2.5153342 0.00025891516
|
||||
9800 8813.7579 2933.7362 160897.31 33097.97 2.5412258 0.0002589147
|
||||
9900 8761.1593 2904.8099 160897.01 33694.479 2.5670974 0.00025891454
|
||||
10000 8882.8378 2695.0029 160897.39 34132.865 2.5929888 0.00025891448
|
||||
Loop time of 29.8501 on 4 procs for 10000 steps with 2897 atoms
|
||||
|
||||
59.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 15.651 | 18.012 | 20.1 | 38.3 | 60.34
|
||||
Neigh | 0.082616 | 0.1133 | 0.14896 | 7.2 | 0.38
|
||||
Comm | 0.98751 | 1.5704 | 2.2966 | 38.0 | 5.26
|
||||
Output | 0.80062 | 0.83063 | 0.90213 | 4.6 | 2.78
|
||||
Modify | 6.6226 | 8.727 | 11.077 | 53.8 | 29.24
|
||||
Other | | 0.5967 | | | 2.00
|
||||
|
||||
Nlocal: 724.250 ave 726 max 723 min
|
||||
Histogram: 1 0 0 2 0 0 0 0 0 1
|
||||
Nghost: 217.750 ave 295 max 74 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Neighs: 10752.8 ave 22829 max 1748 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 43011
|
||||
Ave neighs/atom = 14.846738
|
||||
Neighbor list builds = 286
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:29
|
|
@ -9,12 +9,11 @@
|
|||
#
|
||||
####################################################################################################
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable c0 equal 10.0 # speed of sound for fluid
|
||||
variable rho equal 1.0e-6 # initial mass density
|
||||
variable c0 equal 10.0 # speed of sound for fluid
|
||||
variable rho equal 1.0e-6 # initial mass density
|
||||
variable q1 equal 0.06 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 0.0 # hourglass control coefficient
|
||||
|
@ -26,7 +25,7 @@ variable contact_stiffness equal 0.1*${K}
|
|||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 3
|
||||
units si
|
||||
units si
|
||||
boundary f f f # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
|
@ -38,31 +37,31 @@ newton off
|
|||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 5.0 # lattice spacing for creating particles
|
||||
lattice sc ${l0}
|
||||
region box block -110 60 -30 220 -90 130 units box
|
||||
create_box 2 box
|
||||
region particles cylinder y 0 -30 47 135 200 units box
|
||||
create_atoms 1 region particles
|
||||
variable l0 equal 5.0 # lattice spacing for creating particles
|
||||
lattice sc ${l0}
|
||||
region box block -110 60 -30 220 -90 130 units box
|
||||
create_box 2 box
|
||||
region particles cylinder y 0 -30 47 135 200 units box
|
||||
create_atoms 1 region particles
|
||||
group water type 1
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable vol_one equal ${l0}^3 # volume of one particle -- assuming unit thickness
|
||||
variable skin equal 0.1*${h} # Verlet list range
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable vol_one equal ${l0}^3 # volume of one particle -- assuming unit thickness
|
||||
variable skin equal 0.1*${h} # Verlet list range
|
||||
neighbor ${skin} bin
|
||||
variable cr equal ${l0}/2
|
||||
set group all smd/contact/radius ${cr}
|
||||
set group all volume ${vol_one}
|
||||
set group all volume ${vol_one}
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE GRAVITY BOUNDARY CONDITION
|
||||
####################################################################################################
|
||||
fix gfix all gravity 0.01 vector 0.0 -1. 0.0
|
||||
fix gfix all gravity 0.01 vector 0.0 -1. 0.0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
|
@ -72,13 +71,11 @@ fix gfix all gravity 0.01 vector 0.0 -1. 0.0
|
|||
pair_style hybrid/overlay smd/tri_surface 1.0 &
|
||||
smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION
|
||||
pair_coeff 1 1 smd/ulsph *COMMON ${rho} ${c0} ${q1} ${cp} ${hg} &
|
||||
*EOS_TAIT 2 &
|
||||
*END
|
||||
*EOS_TAIT 2 &
|
||||
*END
|
||||
pair_coeff 2 2 none
|
||||
pair_coeff 1 2 smd/tri_surface ${contact_stiffness}
|
||||
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# LOAD STL SURFACE
|
||||
####################################################################################################
|
||||
|
@ -97,15 +94,15 @@ fix integration_fix all smd/integrate_ulsph adjust_radius 1.01 10 15
|
|||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
variable dumpFreq equal 100
|
||||
compute rho all smd/rho
|
||||
compute nn all smd/ulsph/num/neighs # number of neighbors for each particle
|
||||
compute rho all smd/rho
|
||||
compute nn all smd/ulsph/num/neighs # number of neighbors for each particle
|
||||
compute contact_radius all smd/contact/radius
|
||||
compute surface_coords surface smd/triangle/vertices
|
||||
|
||||
|
||||
dump dump_id water custom ${dumpFreq} dump.LAMMPS id type x y z vx vy vz &
|
||||
c_rho c_nn c_contact_radius proc
|
||||
dump_modify dump_id first yes
|
||||
dump dump_id water custom ${dumpFreq} dump.LAMMPS id type x y z vx vy vz &
|
||||
c_rho c_nn c_contact_radius proc
|
||||
dump_modify dump_id first yes
|
||||
|
||||
dump surf_dump surface custom 999999999 surface.LAMMPS id type mol x y z &
|
||||
c_surface_coords[1] c_surface_coords[2] c_surface_coords[3] &
|
||||
|
@ -119,12 +116,12 @@ dump_modify surf_dump first yes
|
|||
compute eint all smd/internal/energy
|
||||
compute alleint all reduce sum c_eint
|
||||
variable etot equal pe+ke+c_alleint+f_gfix # total energy of the system
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix pe ke v_etot
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix pe ke v_etot
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
balance 1.1 rcb
|
||||
fix balance_fix all balance 1000 1.1 rcb
|
||||
run 20000
|
||||
fix balance_fix all balance 200 1.1 rcb
|
||||
run 5000
|
|
@ -0,0 +1,335 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# ULSPH example: water flow through a complex geometry read from a .STL file
|
||||
#
|
||||
# The boundary dump file (see below) can be converted into VTK format using the conversion
|
||||
# tool dump2vtk_tris from the tools/smd directory.
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable c0 equal 10.0 # speed of sound for fluid
|
||||
variable rho equal 1.0e-6 # initial mass density
|
||||
variable q1 equal 0.06 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 0.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
variable K equal ${c0}*${rho}^2
|
||||
variable K equal 10*${rho}^2
|
||||
variable K equal 10*1e-06^2
|
||||
variable contact_stiffness equal 0.1*${K}
|
||||
variable contact_stiffness equal 0.1*1e-11
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 3
|
||||
units si
|
||||
boundary f f f # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
comm_style tiled
|
||||
neigh_modify every 10 delay 0 check yes exclude type 2 2 one 10000
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 5.0 # lattice spacing for creating particles
|
||||
lattice sc ${l0}
|
||||
lattice sc 5
|
||||
Lattice spacing in x,y,z = 5.0000000 5.0000000 5.0000000
|
||||
region box block -110 60 -30 220 -90 130 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-110.00000 -30.000000 -90.000000) to (60.000000 220.00000 130.00000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
region particles cylinder y 0 -30 47 135 200 units box
|
||||
create_atoms 1 region particles
|
||||
Created 3878 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group water type 1
|
||||
3878 atoms in group water
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable h equal 2.01*5
|
||||
variable vol_one equal ${l0}^3 # volume of one particle -- assuming unit thickness
|
||||
variable vol_one equal 5^3
|
||||
variable skin equal 0.1*${h} # Verlet list range
|
||||
variable skin equal 0.1*10.05
|
||||
neighbor ${skin} bin
|
||||
neighbor 1.005 bin
|
||||
variable cr equal ${l0}/2
|
||||
variable cr equal 5/2
|
||||
set group all smd/contact/radius ${cr}
|
||||
set group all smd/contact/radius 2.5
|
||||
Setting atom values ...
|
||||
3878 settings made for smd/contact/radius
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 125
|
||||
Setting atom values ...
|
||||
3878 settings made for volume
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all smd/mass/density 1e-06
|
||||
Setting atom values ...
|
||||
3878 settings made for smd/mass/density
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter 10.05
|
||||
Setting atom values ...
|
||||
3878 settings made for diameter
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE GRAVITY BOUNDARY CONDITION
|
||||
####################################################################################################
|
||||
fix gfix all gravity 0.01 vector 0.0 -1. 0.0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# We use polynomial EOS for the pressure and the Johnson Cook strength model
|
||||
# An integration point fails (cannot support tension anymore) if the plastic strain exceeds 0.5.
|
||||
####################################################################################################
|
||||
pair_style hybrid/overlay smd/tri_surface 1.0 smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION
|
||||
pair_coeff 1 1 smd/ulsph *COMMON ${rho} ${c0} ${q1} ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 ${c0} ${q1} ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 ${q1} ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 0.06 ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 0.06 1 ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 0.06 1 0 *EOS_TAIT 2 *END
|
||||
pair_coeff 2 2 none
|
||||
pair_coeff 1 2 smd/tri_surface ${contact_stiffness}
|
||||
pair_coeff 1 2 smd/tri_surface 1e-12
|
||||
|
||||
####################################################################################################
|
||||
# LOAD STL SURFACE
|
||||
####################################################################################################
|
||||
fix stl_surface_fix all smd/wall_surface boundary.stl 2 65535
|
||||
run 0 # This is important! Always run for 0 timesteps directly after loading STL file!
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 11.055
|
||||
ghost atom cutoff = 11.055
|
||||
binsize = 5.5275, bins = 31 46 40
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair smd/tri_surface, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/ulsph, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
scanning triangle pairs ...
|
||||
... fix smd/wall_surface finished reading triangulated surface
|
||||
fix smd/wall_surface created 9472 atoms
|
||||
>>========>>========>>========>>========>>========>>========>>========>>========
|
||||
Per MPI rank memory allocation (min/avg/max) = 10.41 | 10.41 | 10.41 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 0 0 0 0
|
||||
Loop time of 1.19209e-06 on 1 procs for 0 steps with 13350 atoms
|
||||
|
||||
251.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.192e-06 | | |100.00
|
||||
|
||||
Nlocal: 13350.0 ave 13350 max 13350 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
group surface type 2
|
||||
9472 atoms in group surface
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix force_fix surface setforce 0 0 0
|
||||
fix dtfix all smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix all smd/integrate_ulsph adjust_radius 1.01 10 15
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
variable dumpFreq equal 100
|
||||
compute rho all smd/rho
|
||||
compute nn all smd/ulsph/num/neighs # number of neighbors for each particle
|
||||
compute contact_radius all smd/contact/radius
|
||||
compute surface_coords surface smd/triangle/vertices
|
||||
|
||||
|
||||
dump dump_id water custom ${dumpFreq} dump.LAMMPS id type x y z vx vy vz c_rho c_nn c_contact_radius proc
|
||||
dump dump_id water custom 100 dump.LAMMPS id type x y z vx vy vz c_rho c_nn c_contact_radius proc
|
||||
dump_modify dump_id first yes
|
||||
|
||||
dump surf_dump surface custom 999999999 surface.LAMMPS id type mol x y z c_surface_coords[1] c_surface_coords[2] c_surface_coords[3] c_surface_coords[4] c_surface_coords[5] c_surface_coords[6] c_surface_coords[7] c_surface_coords[8] c_surface_coords[9]
|
||||
dump_modify surf_dump first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
compute eint all smd/internal/energy
|
||||
compute alleint all reduce sum c_eint
|
||||
variable etot equal pe+ke+c_alleint+f_gfix # total energy of the system
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix pe ke v_etot
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
balance 1.1 rcb
|
||||
Balancing ...
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 11.055
|
||||
ghost atom cutoff = 11.055
|
||||
binsize = 5.5275, bins = 31 46 40
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair smd/tri_surface, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/ulsph, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
fix balance_fix all balance 200 1.1 rcb
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 11.055
|
||||
ghost atom cutoff = 11.055
|
||||
binsize = 5.5275, bins = 31 46 40
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair smd/tri_surface, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/ulsph, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.94 | 16.94 | 16.94 Mbytes
|
||||
Step Dt f_dtfix PotEng KinEng v_etot
|
||||
0 1e-16 0 0 0 7373.6969
|
||||
100 0.070241957 7.4813056 0 0.0013565713 7373.6969
|
||||
200 0.070241957 14.505501 0 0.0050998019 7373.6969
|
||||
300 0.070241957 21.529697 0 0.011234756 7373.6969
|
||||
400 0.070241957 28.553893 0 0.019761435 7373.6969
|
||||
500 0.068651004 35.521974 2.9536075e-17 0.030501647 7373.6969
|
||||
600 0.063567733 42.018915 1.5012312e-20 0.042319821 7373.6969
|
||||
700 0.06328517 48.362291 4.2726605e-17 0.054476749 7373.6969
|
||||
800 0.062612972 54.677804 2.9574077e-16 0.061321338 7373.6964
|
||||
900 0.061046594 60.843808 2.4764809e-15 0.059143351 7373.6941
|
||||
1000 0.060891431 66.91066 9.0780396e-16 0.051813676 7373.6909
|
||||
1100 0.060874371 72.951879 1.5743441e-15 0.044736442 7373.6887
|
||||
1200 0.061243012 79.052117 1.3268705e-16 0.038992873 7373.6875
|
||||
1300 0.06125516 85.174023 4.803371e-17 0.036387177 7373.6872
|
||||
1400 0.061802711 91.329247 3.9865332e-17 0.034853455 7373.6871
|
||||
1500 0.061687292 97.49874 6.2876669e-17 0.034362699 7373.6871
|
||||
1600 0.061476202 103.60196 1.0306933e-16 0.034747965 7373.6871
|
||||
1700 0.060566669 109.7162 7.8436106e-17 0.035644692 7373.687
|
||||
1800 0.061646486 115.87735 2.9003723e-17 0.03607698 7373.6867
|
||||
1900 0.061299326 122.03236 1.7843781e-16 0.03653221 7373.6863
|
||||
2000 0.061774936 128.17277 7.8851844e-17 0.036748903 7373.6859
|
||||
2100 0.061852608 134.3374 3.4689543e-17 0.036970808 7373.6855
|
||||
2200 0.061820375 140.50665 4.9453837e-17 0.037549449 7373.6852
|
||||
2300 0.06084664 146.66596 1.0442793e-17 0.038461012 7373.685
|
||||
2400 0.061370143 152.82413 2.5065434e-17 0.039575266 7373.6848
|
||||
2500 0.061892113 158.99977 2.5338703e-17 0.04067509 7373.6845
|
||||
2600 0.061876574 165.18168 2.6500242e-17 0.041556692 7373.6842
|
||||
2700 0.061813006 171.32911 9.8478324e-17 0.04246145 7373.6839
|
||||
2800 0.061457255 177.47316 6.827231e-17 0.043444855 7373.6837
|
||||
2900 0.061925739 183.61894 7.9179167e-16 0.044560297 7373.6835
|
||||
3000 0.061893083 189.78619 1.6443425e-16 0.045653853 7373.6832
|
||||
3100 0.061462631 195.93892 1.6994763e-17 0.046918113 7373.683
|
||||
3200 0.061370761 202.09427 5.8002308e-17 0.047943876 7373.6827
|
||||
3300 0.061736844 208.25229 1.6923966e-17 0.049274334 7373.6824
|
||||
3400 0.061854818 214.40475 1.4362026e-17 0.050293079 7373.6821
|
||||
3500 0.061104996 220.5707 9.6219144e-18 0.051499671 7373.6819
|
||||
3600 0.061725483 226.74238 4.6985917e-17 0.052788247 7373.6816
|
||||
3700 0.061415526 232.89307 8.9255744e-17 0.054165669 7373.6814
|
||||
3800 0.061749225 239.04031 1.2661727e-16 0.055407691 7373.6812
|
||||
3900 0.061566598 245.20678 9.7555398e-18 0.056554105 7373.6809
|
||||
4000 0.061522412 251.36073 3.612872e-17 0.057775565 7373.6807
|
||||
4100 0.061519755 257.49877 3.6475184e-17 0.059026603 7373.6805
|
||||
4200 0.061617099 263.65144 1.8654744e-16 0.060402607 7373.6803
|
||||
4300 0.061765314 269.79662 1.3742267e-16 0.06198524 7373.6801
|
||||
4400 0.060964776 275.94941 5.6067161e-17 0.063217622 7373.6799
|
||||
4500 0.061692851 282.10139 4.2434485e-17 0.064775345 7373.6797
|
||||
4600 0.061575778 288.25001 6.9753486e-17 0.066331185 7373.6796
|
||||
4700 0.061415078 294.38918 2.2377578e-17 0.06793909 7373.6794
|
||||
4800 0.061801946 300.5394 1.5457224e-17 0.069523222 7373.6792
|
||||
4900 0.061468033 306.68667 4.3328468e-17 0.071106234 7373.6791
|
||||
5000 0.061718584 312.83399 2.6787461e-17 0.072510135 7373.6789
|
||||
Loop time of 33.9352 on 1 procs for 5000 steps with 13350 atoms
|
||||
|
||||
99.3% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 25.103 | 25.103 | 25.103 | 0.0 | 73.97
|
||||
Neigh | 6.4624 | 6.4624 | 6.4624 | 0.0 | 19.04
|
||||
Comm | 0.038788 | 0.038788 | 0.038788 | 0.0 | 0.11
|
||||
Output | 0.57804 | 0.57804 | 0.57804 | 0.0 | 1.70
|
||||
Modify | 1.6405 | 1.6405 | 1.6405 | 0.0 | 4.83
|
||||
Other | | 0.1125 | | | 0.33
|
||||
|
||||
Nlocal: 13350.0 ave 13350 max 13350 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 195088.0 ave 195088 max 195088 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 195088
|
||||
Ave neighs/atom = 14.613333
|
||||
Neighbor list builds = 455
|
||||
Dangerous builds = 414
|
||||
Total wall time: 0:00:34
|
|
@ -0,0 +1,339 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# ULSPH example: water flow through a complex geometry read from a .STL file
|
||||
#
|
||||
# The boundary dump file (see below) can be converted into VTK format using the conversion
|
||||
# tool dump2vtk_tris from the tools/smd directory.
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable c0 equal 10.0 # speed of sound for fluid
|
||||
variable rho equal 1.0e-6 # initial mass density
|
||||
variable q1 equal 0.06 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 0.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
variable K equal ${c0}*${rho}^2
|
||||
variable K equal 10*${rho}^2
|
||||
variable K equal 10*1e-06^2
|
||||
variable contact_stiffness equal 0.1*${K}
|
||||
variable contact_stiffness equal 0.1*1e-11
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 3
|
||||
units si
|
||||
boundary f f f # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
comm_style tiled
|
||||
neigh_modify every 10 delay 0 check yes exclude type 2 2 one 10000
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 5.0 # lattice spacing for creating particles
|
||||
lattice sc ${l0}
|
||||
lattice sc 5
|
||||
Lattice spacing in x,y,z = 5.0000000 5.0000000 5.0000000
|
||||
region box block -110 60 -30 220 -90 130 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-110.00000 -30.000000 -90.000000) to (60.000000 220.00000 130.00000)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
region particles cylinder y 0 -30 47 135 200 units box
|
||||
create_atoms 1 region particles
|
||||
Created 3878 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group water type 1
|
||||
3878 atoms in group water
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable h equal 2.01*5
|
||||
variable vol_one equal ${l0}^3 # volume of one particle -- assuming unit thickness
|
||||
variable vol_one equal 5^3
|
||||
variable skin equal 0.1*${h} # Verlet list range
|
||||
variable skin equal 0.1*10.05
|
||||
neighbor ${skin} bin
|
||||
neighbor 1.005 bin
|
||||
variable cr equal ${l0}/2
|
||||
variable cr equal 5/2
|
||||
set group all smd/contact/radius ${cr}
|
||||
set group all smd/contact/radius 2.5
|
||||
Setting atom values ...
|
||||
3878 settings made for smd/contact/radius
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 125
|
||||
Setting atom values ...
|
||||
3878 settings made for volume
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all smd/mass/density 1e-06
|
||||
Setting atom values ...
|
||||
3878 settings made for smd/mass/density
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter 10.05
|
||||
Setting atom values ...
|
||||
3878 settings made for diameter
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE GRAVITY BOUNDARY CONDITION
|
||||
####################################################################################################
|
||||
fix gfix all gravity 0.01 vector 0.0 -1. 0.0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# We use polynomial EOS for the pressure and the Johnson Cook strength model
|
||||
# An integration point fails (cannot support tension anymore) if the plastic strain exceeds 0.5.
|
||||
####################################################################################################
|
||||
pair_style hybrid/overlay smd/tri_surface 1.0 smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION
|
||||
pair_coeff 1 1 smd/ulsph *COMMON ${rho} ${c0} ${q1} ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 ${c0} ${q1} ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 ${q1} ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 0.06 ${cp} ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 0.06 1 ${hg} *EOS_TAIT 2 *END
|
||||
pair_coeff 1 1 smd/ulsph *COMMON 1e-06 10 0.06 1 0 *EOS_TAIT 2 *END
|
||||
pair_coeff 2 2 none
|
||||
pair_coeff 1 2 smd/tri_surface ${contact_stiffness}
|
||||
pair_coeff 1 2 smd/tri_surface 1e-12
|
||||
|
||||
####################################################################################################
|
||||
# LOAD STL SURFACE
|
||||
####################################################################################################
|
||||
fix stl_surface_fix all smd/wall_surface boundary.stl 2 65535
|
||||
run 0 # This is important! Always run for 0 timesteps directly after loading STL file!
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 11.055
|
||||
ghost atom cutoff = 11.055
|
||||
binsize = 5.5275, bins = 31 46 40
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair smd/tri_surface, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/ulsph, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
scanning triangle pairs ...
|
||||
... fix smd/wall_surface finished reading triangulated surface
|
||||
fix smd/wall_surface created 9472 atoms
|
||||
>>========>>========>>========>>========>>========>>========>>========>>========
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.998 | 10.04 | 10.17 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 0 0 0 0
|
||||
Loop time of 1.97887e-05 on 4 procs for 0 steps with 13350 atoms
|
||||
|
||||
103.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.979e-05 | | |100.00
|
||||
|
||||
Nlocal: 3337.50 ave 6452 max 836 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
group surface type 2
|
||||
9472 atoms in group surface
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix force_fix surface setforce 0 0 0
|
||||
fix dtfix all smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix all smd/integrate_ulsph adjust_radius 1.01 10 15
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
variable dumpFreq equal 100
|
||||
compute rho all smd/rho
|
||||
compute nn all smd/ulsph/num/neighs # number of neighbors for each particle
|
||||
compute contact_radius all smd/contact/radius
|
||||
compute surface_coords surface smd/triangle/vertices
|
||||
|
||||
|
||||
dump dump_id water custom ${dumpFreq} dump.LAMMPS id type x y z vx vy vz c_rho c_nn c_contact_radius proc
|
||||
dump dump_id water custom 100 dump.LAMMPS id type x y z vx vy vz c_rho c_nn c_contact_radius proc
|
||||
dump_modify dump_id first yes
|
||||
|
||||
dump surf_dump surface custom 999999999 surface.LAMMPS id type mol x y z c_surface_coords[1] c_surface_coords[2] c_surface_coords[3] c_surface_coords[4] c_surface_coords[5] c_surface_coords[6] c_surface_coords[7] c_surface_coords[8] c_surface_coords[9]
|
||||
dump_modify surf_dump first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
compute eint all smd/internal/energy
|
||||
compute alleint all reduce sum c_eint
|
||||
variable etot equal pe+ke+c_alleint+f_gfix # total energy of the system
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix pe ke v_etot
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
balance 1.1 rcb
|
||||
Balancing ...
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 11.055
|
||||
ghost atom cutoff = 11.055
|
||||
binsize = 5.5275, bins = 31 46 40
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair smd/tri_surface, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/ulsph, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
rebalancing time: 0.004 seconds
|
||||
iteration count = 0
|
||||
initial/final maximal load/proc = 6452.0000 3338.0000
|
||||
initial/final imbalance factor = 1.9331835 1.0001498
|
||||
fix balance_fix all balance 200 1.1 rcb
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 11.055
|
||||
ghost atom cutoff = 11.055
|
||||
binsize = 5.5275, bins = 31 46 40
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair smd/tri_surface, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/ulsph, perpetual, skip from (3)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 13.83 | 14.29 | 14.77 Mbytes
|
||||
Step Dt f_dtfix PotEng KinEng v_etot
|
||||
0 1e-16 0 0 0 7373.6969
|
||||
100 0.070241957 7.4813056 0 0.0013565713 7373.6969
|
||||
200 0.070241957 14.505501 0 0.0050998019 7373.6969
|
||||
300 0.070241957 21.529697 0 0.011234756 7373.6969
|
||||
400 0.070241957 28.553893 0 0.019761435 7373.6969
|
||||
500 0.068651003 35.521974 3.3398251e-17 0.030501227 7373.6969
|
||||
600 0.063584088 42.017746 5.0216152e-21 0.042318622 7373.6969
|
||||
700 0.063273268 48.360764 2.869923e-17 0.054475156 7373.697
|
||||
800 0.062596325 54.675638 1.914049e-16 0.061317608 7373.6964
|
||||
900 0.060956889 60.838664 1.364032e-16 0.059099685 7373.694
|
||||
1000 0.060500918 66.902834 7.7879913e-16 0.052025026 7373.6908
|
||||
1100 0.061006314 72.967816 8.8948385e-16 0.043977414 7373.6885
|
||||
1200 0.061106341 79.06191 1.2108608e-16 0.039591388 7373.6873
|
||||
1300 0.061575846 85.205075 4.3893276e-17 0.035450911 7373.6871
|
||||
1400 0.061574282 91.365864 1.1854613e-17 0.033362633 7373.687
|
||||
1500 0.061497834 97.533763 4.6436735e-17 0.03269109 7373.6869
|
||||
1600 0.061595974 103.70193 1.6602311e-17 0.033272424 7373.6869
|
||||
1700 0.061563704 109.8721 2.2645323e-16 0.034038708 7373.6867
|
||||
1800 0.06059329 116.01016 6.1435625e-17 0.034550695 7373.6864
|
||||
1900 0.061467912 122.16549 4.8739314e-16 0.03488115 7373.686
|
||||
2000 0.061562246 128.31107 3.5375613e-17 0.035132319 7373.6855
|
||||
2100 0.061653756 134.48162 1.0915664e-16 0.035417433 7373.6852
|
||||
2200 0.061651709 140.64731 8.9201563e-17 0.035984037 7373.6849
|
||||
2300 0.061689901 146.82024 9.6641953e-18 0.036737453 7373.6847
|
||||
2400 0.061831964 152.95634 5.2029274e-17 0.037566234 7373.6844
|
||||
2500 0.061545083 159.11879 1.0704726e-16 0.038487643 7373.6842
|
||||
2600 0.061718412 165.27525 2.209067e-17 0.039629082 7373.684
|
||||
2700 0.061888857 171.43147 1.4203448e-16 0.040587002 7373.6837
|
||||
2800 0.060734321 177.58356 1.6497386e-17 0.041695514 7373.6835
|
||||
2900 0.061593696 183.7246 2.6908238e-16 0.04260728 7373.6832
|
||||
3000 0.061359875 189.87309 7.6944155e-17 0.043473709 7373.6829
|
||||
3100 0.061757906 196.04331 1.3564873e-17 0.044354763 7373.6827
|
||||
3200 0.061673522 202.20766 8.5854387e-17 0.045594109 7373.6824
|
||||
3300 0.061806603 208.37498 4.9782287e-17 0.046679326 7373.6822
|
||||
3400 0.061456829 214.56062 1.6007817e-16 0.047908363 7373.6819
|
||||
3500 0.061670152 220.72476 1.2073319e-16 0.049083832 7373.6817
|
||||
3600 0.061694334 226.89174 5.9467418e-17 0.050344595 7373.6815
|
||||
3700 0.061950743 233.06903 2.7093066e-16 0.05171424 7373.6812
|
||||
3800 0.061870535 239.21714 3.0291981e-17 0.053188154 7373.681
|
||||
3900 0.061445215 245.37229 1.3950612e-16 0.054616384 7373.6808
|
||||
4000 0.061577186 251.51495 1.5979833e-16 0.055992071 7373.6806
|
||||
4100 0.061641242 257.67172 7.9579236e-18 0.057167166 7373.6804
|
||||
4200 0.061600879 263.82304 1.6463047e-17 0.058701188 7373.6802
|
||||
4300 0.061689229 269.98083 1.2308103e-16 0.05994652 7373.68
|
||||
4400 0.061755315 276.14174 7.6188916e-17 0.06118267 7373.6798
|
||||
4500 0.061268331 282.29296 5.5093198e-16 0.062460243 7373.6796
|
||||
4600 0.061568693 288.44732 4.6189329e-17 0.063787422 7373.6794
|
||||
4700 0.061343927 294.60421 6.4688633e-17 0.065177329 7373.6793
|
||||
4800 0.061421519 300.75275 1.2254993e-16 0.066908319 7373.6792
|
||||
4900 0.061604108 306.88136 4.0399992e-17 0.068693568 7373.679
|
||||
5000 0.061805479 313.02216 1.3760324e-16 0.07042394 7373.6789
|
||||
Loop time of 32.2245 on 4 procs for 5000 steps with 13350 atoms
|
||||
|
||||
60.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 18.107 | 19.756 | 21.776 | 37.4 | 61.31
|
||||
Neigh | 1.5053 | 2.2024 | 2.872 | 36.3 | 6.83
|
||||
Comm | 1.874 | 2.5067 | 3.064 | 26.8 | 7.78
|
||||
Output | 0.59172 | 0.61037 | 0.65691 | 3.5 | 1.89
|
||||
Modify | 3.5805 | 6.8465 | 9.8575 | 96.2 | 21.25
|
||||
Other | | 0.3025 | | | 0.94
|
||||
|
||||
Nlocal: 3337.50 ave 3580 max 3072 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Nghost: 853.250 ave 1111 max 624 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
Neighs: 51525.8 ave 67469 max 37698 min
|
||||
Histogram: 1 0 1 0 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 206103
|
||||
Ave neighs/atom = 15.438427
|
||||
Neighbor list builds = 455
|
||||
Dangerous builds = 414
|
||||
Total wall time: 0:00:32
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: Two rubber rings impact each other.
|
||||
# TLSPH example: Two rubber rings impact each other.
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
|
@ -10,7 +10,7 @@
|
|||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable rho equal 1 # initial mass density
|
||||
variable rho equal 1 # initial mass density
|
||||
variable E equal 1.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable sigma_yield equal 0.051 # plastic yield stress
|
||||
|
@ -24,10 +24,10 @@ variable cp equal 1.0 # heat capacity of material -- not used here
|
|||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 3
|
||||
units si
|
||||
units si
|
||||
boundary sm sm sm # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
@ -57,7 +57,7 @@ set group all smd/contact/radius 1.0
|
|||
# DEFINE INITIAL VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel equal 100.0 # initial velocity
|
||||
velocity left set ${vel} 0 0 sum no units box
|
||||
velocity left set ${vel} 0 0 sum no units box
|
||||
velocity right set -${vel} 0 0 sum no units box
|
||||
|
||||
####################################################################################################
|
||||
|
@ -68,11 +68,11 @@ velocity right set -${vel} 0 0 sum no units box
|
|||
pair_style hybrid/overlay smd/tlsph smd/hertz 1.0 # activate Total-Lagrangian SPH
|
||||
pair_coeff 1 1 smd/tlsph *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} &
|
||||
*STRENGTH_LINEAR &
|
||||
*EOS_LINEAR &
|
||||
*EOS_LINEAR &
|
||||
*END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} &
|
||||
*STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 &
|
||||
*EOS_LINEAR &
|
||||
*EOS_LINEAR &
|
||||
*END
|
||||
pair_coeff 1 1 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 2 2 smd/hertz ${contact_stiffness}
|
|
@ -0,0 +1,253 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: Two rubber rings impact each other.
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable rho equal 1 # initial mass density
|
||||
variable E equal 1.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable sigma_yield equal 0.051 # plastic yield stress
|
||||
variable contact_stiffness equal 0.2 # contact stress for contact force between rings
|
||||
variable q1 equal 0.06 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 10.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 3
|
||||
units si
|
||||
boundary sm sm sm # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# READ GEOMETRY
|
||||
####################################################################################################
|
||||
read_data washer_hex_adjusted.data # read geometry of one rubber ring from file
|
||||
Reading data file ...
|
||||
orthogonal box = (-12.000000 -12.000000 -0.5) to (12.200000 12.200000 5.5500000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
480 atoms
|
||||
reading velocities ...
|
||||
480 velocities
|
||||
read_data CPU = 0.002 seconds
|
||||
replicate 2 1 1
|
||||
Replicating atoms ...
|
||||
WARNING: Replicating in a non-periodic dimension (src/replicate.cpp:72)
|
||||
orthogonal box = (-9.4111500 -9.4111500 0.832728) to (33.811150 12.200000 5.5500000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
960 atoms
|
||||
replicate CPU = 0.001 seconds
|
||||
region right block 12.2 EDGE EDGE EDGE EDGE EDGE units box
|
||||
group right region right
|
||||
480 atoms in group right
|
||||
group left subtract all right
|
||||
480 atoms in group left
|
||||
set group left type 1
|
||||
Setting atom values ...
|
||||
480 settings made for type
|
||||
set group right type 2
|
||||
Setting atom values ...
|
||||
480 settings made for type
|
||||
group tlsph union left right
|
||||
960 atoms in group tlsph
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable l0 equal 0.3 # we need to set a length scale for the neighbor list skin
|
||||
variable skin equal 4.0*${l0} # Verlet list range
|
||||
variable skin equal 4.0*0.3
|
||||
neighbor ${skin} bin
|
||||
neighbor 1.2 bin
|
||||
set group all smd/contact/radius 1.0
|
||||
Setting atom values ...
|
||||
960 settings made for smd/contact/radius
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE INITIAL VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel equal 100.0 # initial velocity
|
||||
velocity left set ${vel} 0 0 sum no units box
|
||||
velocity left set 100 0 0 sum no units box
|
||||
velocity right set -${vel} 0 0 sum no units box
|
||||
velocity right set -100 0 0 sum no units box
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# One rubber ring is linear elastic, the other rubber ring is elastic-ideal plastic.
|
||||
# Contact forces between both rubber rings are used to realize physical contact.
|
||||
####################################################################################################
|
||||
pair_style hybrid/overlay smd/tlsph smd/hertz 1.0 # activate Total-Lagrangian SPH
|
||||
pair_coeff 1 1 smd/tlsph *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 0 ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR_PLASTIC 0.051 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 1 smd/hertz 0.2
|
||||
pair_coeff 2 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 2 2 smd/hertz 0.2
|
||||
pair_coeff 1 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 2 smd/hertz 0.2
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix tlsph smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
variable dumpFreq equal 30
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
compute cr all smd/contact/radius
|
||||
compute p all smd/plastic/strain
|
||||
compute eint all smd/internal/energy
|
||||
compute alleint all reduce sum c_eint
|
||||
variable etot equal c_alleint+ke+pe
|
||||
|
||||
dump dump_id all custom ${dumpFreq} dump.LAMMPS id type x y z vx vy vz c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_cr proc c_p radius
|
||||
dump dump_id all custom 30 dump.LAMMPS id type x y z vx vy vz c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_cr proc c_p radius
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix ke pe c_alleint v_etot
|
||||
|
||||
####################################################################################################
|
||||
# PERFORM INITIAL LOAD BALANCING AND RUN SIMULATION
|
||||
####################################################################################################
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.03346
|
||||
ghost atom cutoff = 5.03346
|
||||
binsize = 2.51673, bins = 18 9 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair smd/tlsph, perpetual, skip from (2)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/hertz, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 25
|
||||
average # of neighbors/particle in group tlsph = 19.5
|
||||
Per MPI rank memory allocation (min/avg/max) = 31.78 | 31.78 | 31.78 Mbytes
|
||||
Step Dt f_dtfix KinEng PotEng c_alleint v_etot
|
||||
0 1e-16 0 23.410848 0.060572575 0 23.471421
|
||||
100 0.00015666649 0.016356954 20.148089 2.4614703 0.88204888 23.491608
|
||||
200 0.00014262117 0.029137237 15.961904 1.2722367 6.2709749 23.505115
|
||||
300 0.0001518851 0.040479236 12.655022 1.2006287 9.6354839 23.491135
|
||||
400 7.7738193e-05 0.049775456 10.871902 1.2281214 11.389757 23.48978
|
||||
500 1.8429103e-05 0.060183029 8.7695775 1.2699313 13.456195 23.495704
|
||||
600 0.00010757849 0.070430227 5.5688193 1.1696716 16.760318 23.498809
|
||||
700 0.0001289497 0.081158731 3.8025755 0.86307658 18.812772 23.478424
|
||||
800 0.00012007642 0.091645485 3.856234 1.3767491 18.247459 23.480443
|
||||
900 0.00014077413 0.10262444 4.4139569 1.321799 17.734354 23.470109
|
||||
1000 0.0001257272 0.11458111 4.1503587 2.592308 16.740533 23.4832
|
||||
1100 7.6945869e-05 0.12588363 5.3447883 1.8321479 16.294353 23.471289
|
||||
1200 0.00015187286 0.13647552 7.1237056 0.9128414 15.445221 23.481768
|
||||
1300 0.00015210416 0.15104371 6.3439496 0.55435508 16.580923 23.479228
|
||||
1400 0.00015182916 0.16454276 6.6806926 0.40938137 16.395717 23.485791
|
||||
1500 0.0001528694 0.17804964 6.7855219 0.37382438 16.317924 23.47727
|
||||
1600 7.703976e-05 0.19048378 6.2373843 0.3486351 16.898101 23.48412
|
||||
1700 0.00010214208 0.20274327 6.769279 0.3492385 16.35508 23.473597
|
||||
1800 0.00010032727 0.21678037 6.5238437 0.34684219 16.622317 23.493003
|
||||
1900 5.6736369e-05 0.22767419 6.2097596 0.32488393 16.946663 23.481306
|
||||
2000 0.00015292401 0.24183738 6.1562373 0.32968684 16.998772 23.484697
|
||||
2100 0.00015225654 0.25697105 5.8410938 0.32772922 17.313053 23.481876
|
||||
2200 0.00015377216 0.27227614 6.3041933 0.34151718 16.838003 23.483714
|
||||
2300 0.00015326823 0.28760492 6.5906041 0.35138616 16.543031 23.485021
|
||||
2400 0.00015258649 0.30198012 6.0670861 0.35118512 17.067006 23.485277
|
||||
2500 0.00014856769 0.31668472 6.4317019 0.35508564 16.702064 23.488851
|
||||
2600 0.00015280172 0.33185417 5.7673153 0.36675813 17.340673 23.474747
|
||||
2700 0.00015504742 0.34717238 5.8440255 0.35126072 17.293126 23.488412
|
||||
2800 0.00015242512 0.36251092 6.5388692 0.34768127 16.595944 23.482494
|
||||
2900 0.00015440145 0.37786838 6.0766232 0.33118261 17.071061 23.478867
|
||||
3000 0.00015277119 0.393256 6.109573 0.32449342 17.058761 23.492827
|
||||
3100 0.00015409564 0.40859036 6.0227418 0.32763704 17.130016 23.480395
|
||||
3200 0.00015288402 0.42394103 5.5260829 0.32830233 17.631588 23.485973
|
||||
3300 0.00015291821 0.43926273 6.2797973 0.31586081 16.886848 23.482506
|
||||
3400 0.00015327068 0.45459953 6.1174882 0.32982247 17.033492 23.480802
|
||||
3500 0.0001530929 0.46996781 6.3295082 0.33460136 16.825067 23.489177
|
||||
3600 0.0001533502 0.48528894 5.9816875 0.35271191 17.145166 23.479565
|
||||
3700 0.00015209312 0.50060339 5.4752557 0.35685021 17.655694 23.4878
|
||||
3800 0.00015354214 0.51588716 6.1015521 0.35449153 17.026868 23.482911
|
||||
3900 0.00015287949 0.531242 5.9769519 0.34801378 17.157091 23.482057
|
||||
4000 0.00015393133 0.54654223 6.1476078 0.35704913 16.982903 23.48756
|
||||
4100 0.00015416746 0.56195432 6.1413591 0.33255309 17.010668 23.48458
|
||||
4200 0.0001532273 0.57727826 5.4196975 0.33819903 17.727017 23.484913
|
||||
4300 0.00015302549 0.59260313 6.101494 0.31635767 17.067762 23.485614
|
||||
4400 0.0001398853 0.60790433 5.6186366 0.33739874 17.522175 23.47821
|
||||
4500 0.00015383703 0.62264148 6.3660146 0.32337391 16.798768 23.488156
|
||||
4600 0.00015378151 0.63805632 5.9285588 0.32295515 17.23094 23.482454
|
||||
4700 0.00015253626 0.65342211 5.7514092 0.3293362 17.405041 23.485787
|
||||
4800 0.00015344416 0.66875617 5.6922298 0.34841688 17.446458 23.487105
|
||||
4900 0.00015267471 0.68409025 5.8947773 0.35142383 17.231805 23.478006
|
||||
5000 0.00015317474 0.69943572 5.9748395 0.35445933 17.156551 23.48585
|
||||
Loop time of 16.8208 on 1 procs for 5000 steps with 960 atoms
|
||||
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 15.933 | 15.933 | 15.933 | 0.0 | 94.72
|
||||
Neigh | 0.067325 | 0.067325 | 0.067325 | 0.0 | 0.40
|
||||
Comm | 0.0011568 | 0.0011568 | 0.0011568 | 0.0 | 0.01
|
||||
Output | 0.74695 | 0.74695 | 0.74695 | 0.0 | 4.44
|
||||
Modify | 0.060244 | 0.060244 | 0.060244 | 0.0 | 0.36
|
||||
Other | | 0.01193 | | | 0.07
|
||||
|
||||
Nlocal: 960.000 ave 960 max 960 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 24542.0 ave 24542 max 24542 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 24542
|
||||
Ave neighs/atom = 25.564583
|
||||
Neighbor list builds = 89
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:16
|
|
@ -0,0 +1,253 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: Two rubber rings impact each other.
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable rho equal 1 # initial mass density
|
||||
variable E equal 1.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable sigma_yield equal 0.051 # plastic yield stress
|
||||
variable contact_stiffness equal 0.2 # contact stress for contact force between rings
|
||||
variable q1 equal 0.06 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 10.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 3
|
||||
units si
|
||||
boundary sm sm sm # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# READ GEOMETRY
|
||||
####################################################################################################
|
||||
read_data washer_hex_adjusted.data # read geometry of one rubber ring from file
|
||||
Reading data file ...
|
||||
orthogonal box = (-12.000000 -12.000000 -0.5) to (12.200000 12.200000 5.5500000)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
480 atoms
|
||||
reading velocities ...
|
||||
480 velocities
|
||||
read_data CPU = 0.001 seconds
|
||||
replicate 2 1 1
|
||||
Replicating atoms ...
|
||||
WARNING: Replicating in a non-periodic dimension (src/replicate.cpp:72)
|
||||
orthogonal box = (-9.4111500 -9.4111500 0.832728) to (33.811150 12.200000 5.5500000)
|
||||
4 by 1 by 1 MPI processor grid
|
||||
960 atoms
|
||||
replicate CPU = 0.001 seconds
|
||||
region right block 12.2 EDGE EDGE EDGE EDGE EDGE units box
|
||||
group right region right
|
||||
480 atoms in group right
|
||||
group left subtract all right
|
||||
480 atoms in group left
|
||||
set group left type 1
|
||||
Setting atom values ...
|
||||
480 settings made for type
|
||||
set group right type 2
|
||||
Setting atom values ...
|
||||
480 settings made for type
|
||||
group tlsph union left right
|
||||
960 atoms in group tlsph
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable l0 equal 0.3 # we need to set a length scale for the neighbor list skin
|
||||
variable skin equal 4.0*${l0} # Verlet list range
|
||||
variable skin equal 4.0*0.3
|
||||
neighbor ${skin} bin
|
||||
neighbor 1.2 bin
|
||||
set group all smd/contact/radius 1.0
|
||||
Setting atom values ...
|
||||
960 settings made for smd/contact/radius
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE INITIAL VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel equal 100.0 # initial velocity
|
||||
velocity left set ${vel} 0 0 sum no units box
|
||||
velocity left set 100 0 0 sum no units box
|
||||
velocity right set -${vel} 0 0 sum no units box
|
||||
velocity right set -100 0 0 sum no units box
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
# One rubber ring is linear elastic, the other rubber ring is elastic-ideal plastic.
|
||||
# Contact forces between both rubber rings are used to realize physical contact.
|
||||
####################################################################################################
|
||||
pair_style hybrid/overlay smd/tlsph smd/hertz 1.0 # activate Total-Lagrangian SPH
|
||||
pair_coeff 1 1 smd/tlsph *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 0 ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 ${q2} ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 ${hg} ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 ${cp} *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR_PLASTIC ${sigma_yield} 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 2 2 smd/tlsph *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR_PLASTIC 0.051 0.0 *EOS_LINEAR *END
|
||||
pair_coeff 1 1 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 1 smd/hertz 0.2
|
||||
pair_coeff 2 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 2 2 smd/hertz 0.2
|
||||
pair_coeff 1 2 smd/hertz ${contact_stiffness}
|
||||
pair_coeff 1 2 smd/hertz 0.2
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix tlsph smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
variable dumpFreq equal 30
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
compute cr all smd/contact/radius
|
||||
compute p all smd/plastic/strain
|
||||
compute eint all smd/internal/energy
|
||||
compute alleint all reduce sum c_eint
|
||||
variable etot equal c_alleint+ke+pe
|
||||
|
||||
dump dump_id all custom ${dumpFreq} dump.LAMMPS id type x y z vx vy vz c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_cr proc c_p radius
|
||||
dump dump_id all custom 30 dump.LAMMPS id type x y z vx vy vz c_S[1] c_S[2] c_S[3] c_S[4] c_S[5] c_S[6] c_S[7] c_nn c_cr proc c_p radius
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix ke pe c_alleint v_etot
|
||||
|
||||
####################################################################################################
|
||||
# PERFORM INITIAL LOAD BALANCING AND RUN SIMULATION
|
||||
####################################################################################################
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.03346
|
||||
ghost atom cutoff = 5.03346
|
||||
binsize = 2.51673, bins = 18 9 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair smd/tlsph, perpetual, skip from (2)
|
||||
attributes: half, newton off, size
|
||||
pair build: skip/half/size
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair smd/hertz, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 25
|
||||
average # of neighbors/particle in group tlsph = 19.5
|
||||
Per MPI rank memory allocation (min/avg/max) = 31.77 | 31.77 | 31.78 Mbytes
|
||||
Step Dt f_dtfix KinEng PotEng c_alleint v_etot
|
||||
0 1e-16 0 23.410848 0.060572575 0 23.471421
|
||||
100 0.00015666649 0.016356954 20.148089 2.4614703 0.88204889 23.491608
|
||||
200 0.00015575833 0.02923502 15.928298 1.263601 6.313278 23.505177
|
||||
300 0.00015184887 0.040667267 12.616324 1.2003807 9.6745946 23.491299
|
||||
400 0.00010369516 0.048776713 11.03863 1.2313024 11.219397 23.48933
|
||||
500 9.5672356e-05 0.058914839 9.0811296 1.2796126 13.133852 23.494595
|
||||
600 0.00012330962 0.070021335 5.6914774 1.178099 16.629692 23.499269
|
||||
700 0.00015120674 0.081392746 3.8081055 0.86142182 18.80784 23.477367
|
||||
800 8.486921e-05 0.091838263 3.8439356 1.3850371 18.251489 23.480461
|
||||
900 0.00015158135 0.10309022 4.4808549 1.3215117 17.667352 23.469718
|
||||
1000 7.6430657e-05 0.11512577 4.0869508 2.6299905 16.766162 23.483103
|
||||
1100 6.3117568e-05 0.12674746 5.5907384 1.6950685 16.184822 23.470629
|
||||
1200 0.00015187557 0.13785163 7.0731799 0.90559441 15.504498 23.483272
|
||||
1300 9.9425677e-05 0.15259051 6.4220815 0.510866 16.543328 23.476275
|
||||
1400 0.00013792421 0.16618195 6.5539822 0.40275187 16.52818 23.484914
|
||||
1500 0.00015289277 0.179608 6.8317195 0.37018914 16.277045 23.478954
|
||||
1600 2.3400633e-05 0.19194432 6.1804617 0.34711317 16.954361 23.481936
|
||||
1700 0.00015285674 0.2042224 6.9297784 0.35243306 16.190464 23.472675
|
||||
1800 0.00013146904 0.21786432 6.3688483 0.34349624 16.779048 23.491392
|
||||
1900 0.00012095079 0.22845934 6.2415595 0.32327916 16.915523 23.480362
|
||||
2000 0.0001526633 0.24335612 6.145614 0.33042432 17.007808 23.483846
|
||||
2100 0.00015243986 0.25844529 5.8951442 0.32801969 17.257088 23.480252
|
||||
2200 0.00015388966 0.27376459 6.3194972 0.34151114 16.821454 23.482462
|
||||
2300 0.00015346791 0.2890887 6.5770062 0.35129951 16.555915 23.484221
|
||||
2400 0.00015265721 0.30339499 6.0698632 0.35099923 17.061218 23.48208
|
||||
2500 0.00015265216 0.31814809 6.3104084 0.35486647 16.825057 23.490331
|
||||
2600 0.000152797 0.33332858 5.9436384 0.3663574 17.163813 23.473809
|
||||
2700 0.00015303304 0.3486691 5.7756331 0.35071313 17.358898 23.485245
|
||||
2800 0.00015248569 0.36397077 6.543784 0.34602607 16.593884 23.483694
|
||||
2900 0.00015489606 0.37934813 6.1899797 0.33043405 16.955717 23.47613
|
||||
3000 0.00015278695 0.39471754 5.9452488 0.32529805 17.220286 23.490833
|
||||
3100 0.00015341789 0.41006469 6.0749774 0.32882769 17.076914 23.480719
|
||||
3200 0.00015290933 0.42540528 5.5026545 0.32707205 17.653628 23.483354
|
||||
3300 0.00015288744 0.44072713 6.2852751 0.31666875 16.881495 23.483439
|
||||
3400 0.00015333125 0.45606773 6.1795004 0.32985969 16.970099 23.479459
|
||||
3500 0.0001528961 0.47143356 6.2157365 0.33771544 16.9356 23.489052
|
||||
3600 0.00015356596 0.48675443 6.0613119 0.35105692 17.066771 23.47914
|
||||
3700 0.00015202392 0.50205585 5.4238178 0.35780162 17.702862 23.484481
|
||||
3800 0.00015388483 0.51735624 6.1107515 0.3531205 17.019242 23.483114
|
||||
3900 0.00015303588 0.53270214 6.0216562 0.34830001 17.110251 23.480207
|
||||
4000 0.00015396953 0.54801069 6.079106 0.3550684 17.052462 23.486637
|
||||
4100 0.00015317391 0.56342459 6.1169754 0.33185539 17.036139 23.48497
|
||||
4200 0.00015327712 0.57874199 5.4215835 0.33762379 17.722819 23.482026
|
||||
4300 0.0001528997 0.594063 6.0529222 0.31570554 17.117873 23.486501
|
||||
4400 0.00015332059 0.60930513 5.7366896 0.33712703 17.402424 23.476241
|
||||
4500 0.00015373392 0.62434811 6.2605176 0.32263245 16.905442 23.488592
|
||||
4600 0.00015343609 0.63976119 5.9602857 0.32297244 17.198763 23.482021
|
||||
4700 0.00015266907 0.65511594 5.719579 0.33269619 17.43177 23.484045
|
||||
4800 0.00015316621 0.6704581 5.6190537 0.34811179 17.519632 23.486797
|
||||
4900 0.00015261317 0.68578477 6.0179421 0.35084208 17.109484 23.478269
|
||||
5000 0.00015304874 0.70113556 5.9405925 0.35401126 17.190102 23.484706
|
||||
Loop time of 7.92939 on 4 procs for 5000 steps with 960 atoms
|
||||
|
||||
97.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 4.6257 | 5.5547 | 6.386 | 30.0 | 70.05
|
||||
Neigh | 0.013979 | 0.020431 | 0.026448 | 4.0 | 0.26
|
||||
Comm | 0.024949 | 0.036925 | 0.054285 | 5.9 | 0.47
|
||||
Output | 0.35933 | 0.36402 | 0.37138 | 0.8 | 4.59
|
||||
Modify | 1.1183 | 1.9481 | 2.8842 | 50.8 | 24.57
|
||||
Other | | 0.005201 | | | 0.07
|
||||
|
||||
Nlocal: 240.000 ave 480 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 27.0000 ave 108 max 0 min
|
||||
Histogram: 3 0 0 0 0 0 0 0 0 1
|
||||
Neighs: 6135.50 ave 12336 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 24542
|
||||
Ave neighs/atom = 25.564583
|
||||
Neighbor list builds = 89
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:07
|
|
@ -1,12 +1,11 @@
|
|||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: elongate a 2d strip of a linear elastic material py pulling its ends apart
|
||||
# TLSPH example: elongate a 2d strip of a linear elastic material py pulling its ends apart
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
|
@ -62,8 +61,8 @@ group top region top
|
|||
group bot region bot
|
||||
variable vel_up equal ${vel0}*(1.0-exp(-0.01*time))
|
||||
variable vel_down equal -v_vel_up
|
||||
fix veltop_fix top smd/setvelocity 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvelocity 0 v_vel_down 0
|
||||
fix veltop_fix top smd/setvel 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvel 0 v_vel_down 0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
|
@ -87,9 +86,9 @@ compute S all smd/tlsph/stress # Cauchy stress tensor
|
|||
compute E all smd/tlsph/strain # Green-Lagrange strain tensor
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
dump dump_id all custom 10 dump.LAMMPS id type x y z vx vy vz &
|
||||
c_S[1] c_S[2] c_S[4] c_nn &
|
||||
c_E[1] c_E[2] c_E[4] &
|
||||
vx vy vz
|
||||
c_S[1] c_S[2] c_S[4] c_nn &
|
||||
c_E[1] c_E[2] c_E[4] &
|
||||
vx vy vz
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
|
@ -0,0 +1,206 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: elongate a 2d strip of a linear elastic material py pulling its ends apart
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable E equal 1.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable rho equal 1 # initial mass density
|
||||
variable q1 equal 0.06 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 10.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 2
|
||||
units si
|
||||
boundary sm sm p # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 1.0 # lattice spacing for creating particles
|
||||
lattice sq ${l0}
|
||||
lattice sq 1
|
||||
Lattice spacing in x,y,z = 1.0000000 1.0000000 1.0000000
|
||||
region box block -10 10 -10 10 -0.1 0.1 units box
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-10.000000 -10.000000 -0.1) to (10.000000 10.000000 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 400 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group tlsph type 1
|
||||
400 atoms in group tlsph
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable h equal 2.01*1
|
||||
variable vol_one equal ${l0}^2 # volume of one particle -- assuming unit thickness
|
||||
variable vol_one equal 1^2
|
||||
variable skin equal ${h} # Verlet list range
|
||||
variable skin equal 2.01
|
||||
neighbor ${skin} bin
|
||||
neighbor 2.01 bin
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 1
|
||||
Setting atom values ...
|
||||
400 settings made for volume
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all smd/mass/density 1
|
||||
Setting atom values ...
|
||||
400 settings made for smd/mass/density
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter 2.01
|
||||
Setting atom values ...
|
||||
400 settings made for diameter
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel0 equal 0.005 # pull velocity
|
||||
region top block EDGE EDGE 9.0 EDGE EDGE EDGE units box
|
||||
region bot block EDGE EDGE EDGE -9.1 EDGE EDGE units box
|
||||
group top region top
|
||||
20 atoms in group top
|
||||
group bot region bot
|
||||
20 atoms in group bot
|
||||
variable vel_up equal ${vel0}*(1.0-exp(-0.01*time))
|
||||
variable vel_up equal 0.005*(1.0-exp(-0.01*time))
|
||||
variable vel_down equal -v_vel_up
|
||||
fix veltop_fix top smd/setvel 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvel 0 v_vel_down 0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
####################################################################################################
|
||||
pair_style smd/tlsph
|
||||
pair_coeff 1 1 *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 0 ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 0 10 ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix tlsph smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute E all smd/tlsph/strain # Green-Lagrange strain tensor
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
dump dump_id all custom 10 dump.LAMMPS id type x y z vx vy vz c_S[1] c_S[2] c_S[4] c_nn c_E[1] c_E[2] c_E[4] vx vy vz
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
variable stress equal 0.5*(f_velbot_fix[2]-f_veltop_fix[2])/20 # stress = force / initial width
|
||||
variable length equal xcm(top,y)-xcm(bot,y)
|
||||
variable strain equal (v_length-${length})/${length} # engineering strain
|
||||
variable strain equal (v_length-19)/${length}
|
||||
variable strain equal (v_length-19)/19
|
||||
fix stress_curve all print 10 "${strain} ${stress}" file stress_strain.dat screen no
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix v_strain
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
run 2500
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.02
|
||||
ghost atom cutoff = 4.02
|
||||
binsize = 2.01, bins = 10 10 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair smd/tlsph, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/2d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 12
|
||||
average # of neighbors/particle in group tlsph = 11.01
|
||||
Per MPI rank memory allocation (min/avg/max) = 28.28 | 28.28 | 28.28 Mbytes
|
||||
Step Dt f_dtfix v_strain
|
||||
0 1e-16 0 0
|
||||
100 0.17317865 17.148126 0.00073838703
|
||||
200 0.17302794 34.459008 0.0028069616
|
||||
300 0.1728021 51.751078 0.0059887051
|
||||
400 0.17250637 69.016914 0.010099618
|
||||
500 0.17216933 86.251256 0.014984838
|
||||
600 0.17178723 103.44937 0.020514034
|
||||
700 0.17138012 120.60826 0.02657841
|
||||
800 0.17094835 137.72494 0.033086624
|
||||
900 0.17048766 154.79684 0.039962191
|
||||
1000 0.17001247 171.8224 0.047141498
|
||||
1100 0.16952868 188.79946 0.054570846
|
||||
1200 0.1690323 205.72795 0.062206334
|
||||
1300 0.16853845 222.60654 0.070010475
|
||||
1400 0.16803316 239.43548 0.077952714
|
||||
1500 0.16753793 256.21417 0.086006923
|
||||
1600 0.16703225 272.94295 0.094151722
|
||||
1700 0.16654035 289.6218 0.10236896
|
||||
1800 0.16604036 306.25101 0.11064355
|
||||
1900 0.16555457 322.83105 0.11896297
|
||||
2000 0.1650644 339.36209 0.12731648
|
||||
2100 0.16458608 355.84498 0.13569549
|
||||
2200 0.16410847 372.27975 0.14409231
|
||||
2300 0.16363867 388.66748 0.15250107
|
||||
2400 0.16317499 405.0082 0.16091628
|
||||
2500 0.16271459 421.30301 0.16933392
|
||||
Loop time of 1.95516 on 1 procs for 2500 steps with 400 atoms
|
||||
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.535 | 1.535 | 1.535 | 0.0 | 78.51
|
||||
Neigh | 0.00012112 | 0.00012112 | 0.00012112 | 0.0 | 0.01
|
||||
Comm | 0.00013638 | 0.00013638 | 0.00013638 | 0.0 | 0.01
|
||||
Output | 0.39186 | 0.39186 | 0.39186 | 0.0 | 20.04
|
||||
Modify | 0.026408 | 0.026408 | 0.026408 | 0.0 | 1.35
|
||||
Other | | 0.001638 | | | 0.08
|
||||
|
||||
Nlocal: 400.000 ave 400 max 400 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 8078.00 ave 8078 max 8078 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 8078
|
||||
Ave neighs/atom = 20.195000
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:02
|
|
@ -0,0 +1,206 @@
|
|||
LAMMPS (9 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
####################################################################################################
|
||||
#
|
||||
# TLSPH example: elongate a 2d strip of a linear elastic material py pulling its ends apart
|
||||
#
|
||||
# unit system: GPa / mm / ms
|
||||
#
|
||||
####################################################################################################
|
||||
|
||||
####################################################################################################
|
||||
# MATERIAL PARAMETERS
|
||||
####################################################################################################
|
||||
variable E equal 1.0 # Young's modulus
|
||||
variable nu equal 0.3 # Poisson ratio
|
||||
variable rho equal 1 # initial mass density
|
||||
variable q1 equal 0.06 # standard artificial viscosity linear coefficient
|
||||
variable q2 equal 0.0 # standard artificial viscosity quadratic coefficient
|
||||
variable hg equal 10.0 # hourglass control coefficient
|
||||
variable cp equal 1.0 # heat capacity of material -- not used here
|
||||
|
||||
####################################################################################################
|
||||
# INITIALIZE LAMMPS
|
||||
####################################################################################################
|
||||
dimension 2
|
||||
units si
|
||||
boundary sm sm p # simulation box boundaries
|
||||
atom_style smd
|
||||
atom_modify map array
|
||||
comm_modify vel yes
|
||||
neigh_modify every 10 delay 0 check yes # re-build neighbor list every 10 steps
|
||||
newton off
|
||||
|
||||
####################################################################################################
|
||||
# CREATE INITIAL GEOMETRY
|
||||
####################################################################################################
|
||||
variable l0 equal 1.0 # lattice spacing for creating particles
|
||||
lattice sq ${l0}
|
||||
lattice sq 1
|
||||
Lattice spacing in x,y,z = 1.0000000 1.0000000 1.0000000
|
||||
region box block -10 10 -10 10 -0.1 0.1 units box
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-10.000000 -10.000000 -0.1) to (10.000000 10.000000 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 400 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
group tlsph type 1
|
||||
400 atoms in group tlsph
|
||||
|
||||
|
||||
####################################################################################################
|
||||
# DISCRETIZATION PARAMETERS
|
||||
####################################################################################################
|
||||
variable h equal 2.01*${l0} # SPH smoothing kernel radius
|
||||
variable h equal 2.01*1
|
||||
variable vol_one equal ${l0}^2 # volume of one particle -- assuming unit thickness
|
||||
variable vol_one equal 1^2
|
||||
variable skin equal ${h} # Verlet list range
|
||||
variable skin equal 2.01
|
||||
neighbor ${skin} bin
|
||||
neighbor 2.01 bin
|
||||
set group all volume ${vol_one}
|
||||
set group all volume 1
|
||||
Setting atom values ...
|
||||
400 settings made for volume
|
||||
set group all smd/mass/density ${rho}
|
||||
set group all smd/mass/density 1
|
||||
Setting atom values ...
|
||||
400 settings made for smd/mass/density
|
||||
set group all diameter ${h} # set SPH kernel radius
|
||||
set group all diameter 2.01
|
||||
Setting atom values ...
|
||||
400 settings made for diameter
|
||||
|
||||
####################################################################################################
|
||||
# DEFINE VELOCITY BOUNDARY CONDITIONS
|
||||
####################################################################################################
|
||||
variable vel0 equal 0.005 # pull velocity
|
||||
region top block EDGE EDGE 9.0 EDGE EDGE EDGE units box
|
||||
region bot block EDGE EDGE EDGE -9.1 EDGE EDGE units box
|
||||
group top region top
|
||||
20 atoms in group top
|
||||
group bot region bot
|
||||
20 atoms in group bot
|
||||
variable vel_up equal ${vel0}*(1.0-exp(-0.01*time))
|
||||
variable vel_up equal 0.005*(1.0-exp(-0.01*time))
|
||||
variable vel_down equal -v_vel_up
|
||||
fix veltop_fix top smd/setvel 0 v_vel_up 0
|
||||
fix velbot_fix bot smd/setvel 0 v_vel_down 0
|
||||
|
||||
####################################################################################################
|
||||
# INTERACTION PHYSICS / MATERIAL MODEL
|
||||
####################################################################################################
|
||||
pair_style smd/tlsph
|
||||
pair_coeff 1 1 *COMMON ${rho} ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 ${E} ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 ${nu} ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 ${q1} ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 ${q2} ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 0 ${hg} ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 0 10 ${cp} *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
pair_coeff 1 1 *COMMON 1 1 0.3 0.06 0 10 1 *STRENGTH_LINEAR *EOS_LINEAR *END
|
||||
|
||||
####################################################################################################
|
||||
# TIME INTEGRATION
|
||||
####################################################################################################
|
||||
fix dtfix tlsph smd/adjust_dt 0.1 # dynamically adjust time increment every step
|
||||
fix integration_fix tlsph smd/integrate_tlsph
|
||||
|
||||
####################################################################################################
|
||||
# SPECIFY TRAJECTORY OUTPUT
|
||||
####################################################################################################
|
||||
compute S all smd/tlsph/stress # Cauchy stress tensor
|
||||
compute E all smd/tlsph/strain # Green-Lagrange strain tensor
|
||||
compute nn all smd/tlsph/num/neighs # number of neighbors for each particle
|
||||
dump dump_id all custom 10 dump.LAMMPS id type x y z vx vy vz c_S[1] c_S[2] c_S[4] c_nn c_E[1] c_E[2] c_E[4] vx vy vz
|
||||
dump_modify dump_id first yes
|
||||
|
||||
####################################################################################################
|
||||
# STATUS OUTPUT
|
||||
####################################################################################################
|
||||
variable stress equal 0.5*(f_velbot_fix[2]-f_veltop_fix[2])/20 # stress = force / initial width
|
||||
variable length equal xcm(top,y)-xcm(bot,y)
|
||||
variable strain equal (v_length-${length})/${length} # engineering strain
|
||||
variable strain equal (v_length-19)/${length}
|
||||
variable strain equal (v_length-19)/19
|
||||
fix stress_curve all print 10 "${strain} ${stress}" file stress_strain.dat screen no
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step dt f_dtfix v_strain
|
||||
|
||||
####################################################################################################
|
||||
# RUN SIMULATION
|
||||
####################################################################################################
|
||||
run 2500
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.02
|
||||
ghost atom cutoff = 4.02
|
||||
binsize = 2.01, bins = 10 10 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair smd/tlsph, perpetual
|
||||
attributes: half, newton off, size
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/2d/newtoff
|
||||
bin: standard
|
||||
|
||||
TLSPH neighbors:
|
||||
max # of neighbors for a single particle = 12
|
||||
average # of neighbors/particle in group tlsph = 11.01
|
||||
Per MPI rank memory allocation (min/avg/max) = 28.28 | 28.29 | 28.30 Mbytes
|
||||
Step Dt f_dtfix v_strain
|
||||
0 1e-16 0 0
|
||||
100 0.17317865 17.148126 0.00073838703
|
||||
200 0.17302794 34.459008 0.0028069616
|
||||
300 0.1728021 51.751078 0.0059887051
|
||||
400 0.17250637 69.016914 0.010099618
|
||||
500 0.17216933 86.251256 0.014984838
|
||||
600 0.17178723 103.44937 0.020514034
|
||||
700 0.17138012 120.60826 0.02657841
|
||||
800 0.17094835 137.72494 0.033086624
|
||||
900 0.17048766 154.79684 0.039962191
|
||||
1000 0.17001247 171.8224 0.047141498
|
||||
1100 0.16952868 188.79946 0.054570846
|
||||
1200 0.1690323 205.72795 0.062206334
|
||||
1300 0.16853845 222.60654 0.070010475
|
||||
1400 0.16803316 239.43548 0.077952714
|
||||
1500 0.16753793 256.21417 0.086006923
|
||||
1600 0.16703225 272.94295 0.094151722
|
||||
1700 0.16654035 289.6218 0.10236896
|
||||
1800 0.16604036 306.25101 0.11064355
|
||||
1900 0.16555457 322.83105 0.11896297
|
||||
2000 0.1650644 339.36209 0.12731648
|
||||
2100 0.16458608 355.84498 0.13569549
|
||||
2200 0.16410847 372.27975 0.14409231
|
||||
2300 0.16363867 388.66748 0.15250107
|
||||
2400 0.16317499 405.0082 0.16091628
|
||||
2500 0.16271459 421.30301 0.16933392
|
||||
Loop time of 0.630632 on 4 procs for 2500 steps with 400 atoms
|
||||
|
||||
97.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.43174 | 0.44288 | 0.45437 | 1.3 | 70.23
|
||||
Neigh | 4.0531e-05 | 4.2737e-05 | 4.6015e-05 | 0.0 | 0.01
|
||||
Comm | 0.015033 | 0.02121 | 0.025645 | 2.6 | 3.36
|
||||
Output | 0.11669 | 0.12027 | 0.12409 | 0.8 | 19.07
|
||||
Modify | 0.035852 | 0.045031 | 0.056387 | 3.6 | 7.14
|
||||
Other | | 0.001202 | | | 0.19
|
||||
|
||||
Nlocal: 100.000 ave 109 max 91 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 103.000 ave 105 max 101 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 2384.00 ave 2610 max 2158 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 9536
|
||||
Ave neighs/atom = 23.840000
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
|
@ -1,86 +0,0 @@
|
|||
# 2d micelle simulation
|
||||
|
||||
dimension 2
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 5
|
||||
|
||||
atom_style bond
|
||||
|
||||
# Soft potential push-off
|
||||
|
||||
read_data data.micelle
|
||||
special_bonds fene
|
||||
|
||||
pair_style soft 1.12246
|
||||
pair_coeff * * 0.0 1.12246
|
||||
|
||||
bond_style harmonic
|
||||
bond_coeff 1 50.0 0.75
|
||||
|
||||
velocity all create 0.45 2349852
|
||||
|
||||
variable prefactor equal ramp(1.0,20.0)
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
||||
fix 3 all adapt 1 pair soft a * * v_prefactor
|
||||
fix 4 all enforce2d
|
||||
|
||||
thermo 50
|
||||
run 1000
|
||||
|
||||
unfix 3
|
||||
|
||||
# Main run
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
|
||||
# solvent/head - full-size and long-range
|
||||
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
pair_coeff 2 2 1.0 1.0 2.5
|
||||
pair_coeff 1 2 1.0 1.0 2.5
|
||||
|
||||
# tail/tail - size-averaged and long-range
|
||||
|
||||
pair_coeff 3 3 1.0 0.75 2.5
|
||||
pair_coeff 4 4 1.0 0.50 2.5
|
||||
pair_coeff 3 4 1.0 0.67 2.5
|
||||
|
||||
# solvent/tail - full-size and repulsive
|
||||
|
||||
pair_coeff 1 3 1.0 1.0 1.12246
|
||||
pair_coeff 1 4 1.0 1.0 1.12246
|
||||
|
||||
# head/tail - size-averaged and repulsive
|
||||
|
||||
pair_coeff 2 3 1.0 0.88 1.12246
|
||||
pair_coeff 2 4 1.0 0.75 1.12246
|
||||
|
||||
thermo 1000
|
||||
|
||||
#dump 1 all atom 2000 dump.micelle
|
||||
|
||||
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
||||
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||
|
||||
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
||||
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||
|
||||
reset_timestep 0
|
||||
group solvent molecule 0
|
||||
group solute subtract all solvent
|
||||
unfix 1
|
||||
unfix 2
|
||||
unfix 4
|
||||
fix 1 solvent nve
|
||||
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
|
||||
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
|
||||
fix 4 all enforce2d
|
||||
run 20000
|
||||
unfix 5
|
||||
unfix 4
|
||||
fix 5 solute rigid/small molecule langevin 0.45 0.45 0.5 112211
|
||||
fix 4 all enforce2d
|
||||
run 20000
|
|
@ -180,11 +180,11 @@ void PairTlsph::PreCompute() {
|
|||
h = 2.0 * radius[i];
|
||||
r0 = 0.0;
|
||||
spiky_kernel_and_derivative(h, r0, domain->dimension, wf, wfd);
|
||||
shepardWeight = wf * voli;
|
||||
|
||||
jnum = npartner[i];
|
||||
irad = radius[i];
|
||||
voli = vfrac[i];
|
||||
shepardWeight = wf * voli;
|
||||
|
||||
// initialize Eigen data structures from LAMMPS data structures
|
||||
for (idim = 0; idim < 3; idim++) {
|
||||
|
@ -678,7 +678,8 @@ void PairTlsph::ComputeForces(int eflag, int vflag) {
|
|||
|
||||
} // end loop over jj neighbors of i
|
||||
|
||||
if (shepardWeight != 0.0) {
|
||||
// avoid division by zero and overflow
|
||||
if ((shepardWeight != 0.0) && (fabs(hourglass_error[i]) < 1.0e300)){
|
||||
hourglass_error[i] /= shepardWeight;
|
||||
}
|
||||
|
||||
|
@ -974,7 +975,7 @@ void PairTlsph::settings(int narg, char **arg) {
|
|||
printf("... will update reference configuration if ratio pairwise distance / smoothing length exceeds %g\n",
|
||||
update_threshold);
|
||||
} else if (update_method == UPDATE_NONE) {
|
||||
printf("... will never update reference configuration");
|
||||
printf("... will never update reference configuration\n");
|
||||
}
|
||||
printf(
|
||||
">>========>>========>>========>>========>>========>>========>>========>>========>>========>>========>>========>>========\n");
|
||||
|
|
|
@ -681,7 +681,7 @@ int main(int argc, char **argv)
|
|||
// switch to the user's documents directory. Avoid buffer overflow
|
||||
// and skip this step if the path is too long for our buffer.
|
||||
if (getcwd(buf, buflen)) {
|
||||
if ((strstr(buf, "System32") || strstr(buf, "system32")) {
|
||||
if ((strstr(buf, "System32") || strstr(buf, "system32"))) {
|
||||
char *drive = getenv("HOMEDRIVE");
|
||||
char *path = getenv("HOMEPATH");
|
||||
buf[0] = '\0';
|
||||
|
@ -716,6 +716,16 @@ int main(int argc, char **argv)
|
|||
omp_threads = dupstring(std::string("OMP_NUM_THREADS=" + std::to_string(nthreads)));
|
||||
putenv(omp_threads);
|
||||
|
||||
// handle the special case where the first argument is not a flag but a file
|
||||
// this happens for example when using file type associations on Windows.
|
||||
// in this case we save the pointer and remove it from argv.
|
||||
char *input_file = nullptr;
|
||||
if ((argc > 1) && (argv[1][0] != '-')) {
|
||||
--argc;
|
||||
input_file = argv[1];
|
||||
for (int i = 1; i < argc; ++i) argv[i] = argv[i+1];
|
||||
}
|
||||
|
||||
lmp = lammps_open_no_mpi(argc, argv, nullptr);
|
||||
if (lmp == nullptr) return 1;
|
||||
|
||||
|
@ -723,9 +733,13 @@ int main(int argc, char **argv)
|
|||
init_commands();
|
||||
|
||||
// pre-load an input file that was provided on the command line
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
if ((strcmp(argv[i], "-in") == 0) || (strcmp(argv[i], "-i") == 0)) {
|
||||
lammps_file(lmp, argv[i + 1]);
|
||||
if (input_file) {
|
||||
lammps_file(lmp, input_file);
|
||||
} else {
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
if ((strcmp(argv[i], "-in") == 0) || (strcmp(argv[i], "-i") == 0)) {
|
||||
lammps_file(lmp, argv[i + 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue