|
2 | 2 | <CLBConfig version="2.0" permissive="true" output="output/"> |
3 | 3 | <Units> |
4 | 4 | <Param name="H" value="1m" gauge="32"/> |
5 | | - <Param name="L" value="1x" gauge="2m"/> |
6 | | - <Param name="nu" value="1m2/s" gauge="0.166666"/> |
| 5 | + <Param name="L" value="1x" gauge="1m"/> |
| 6 | + <Param name="nu" value="1m2/s" gauge="0.16"/><!-- 1s --> |
7 | 7 | <Param name="rho" value="1kg/m3" gauge="1"/> |
8 | 8 | </Units> |
9 | 9 | <Geometry nx="1x" ny="1m+2" nz="1x" px="-0.5x" py="-1" pz="-0.5x"> |
|
13 | 13 | </Geometry> |
14 | 14 | <Model> |
15 | 15 | <Param name="VelocityX" value="1m/s" zone="topwall"/> |
16 | | - <RemoteForceInterface integrator="LAMMPS" radius="3/m"> |
| 16 | + <RemoteForceInterface integrator="LAMMPS" radius="3/m" height="1m/m" length="1x/m" iterations="5s" vtk_it="1s" log_it="100"> |
17 | 17 | units cgs |
18 | 18 | boundary p f f |
19 | 19 | newton off # required off for tangential history |
|
27 | 27 | neigh_modify delay 0 |
28 | 28 |
|
29 | 29 | # Declare domain |
30 | | - region domain block -1 1 0 1 -1 1 |
| 30 | + variable len2 equal ${length}*0.5 |
| 31 | + region domain block -${len2} ${len2} 0 ${height} -${len2} ${len2} |
31 | 32 | create_box 1 domain |
32 | 33 |
|
33 | 34 | # Specify particle groups |
34 | 35 | group particle_group type 1 |
35 | 36 |
|
36 | 37 | # Define region for particle insertion |
37 | | - region pack block -1 1 0 1 -1 1 |
| 38 | + region pack block -${len2} ${len2} 0 ${height} -${len2} ${len2} |
38 | 39 |
|
39 | 40 | # Insert particles |
40 | 41 | fix part_1 particle_group particletemplate/sphere 17891 atom_type 1 density constant 1.0 radius constant ${radius} |
|
47 | 48 |
|
48 | 49 | # Define material properties (from which kn kt etc. are calculated for hertz interactions) |
49 | 50 | soft_particles yes |
50 | | - fix m1 all property/global youngsModulus peratomtype 3000.000000 # defines kn, kt, gamma_n, gamma_t |
| 51 | + fix m1 all property/global youngsModulus peratomtype 30000.000000 # defines kn, kt, gamma_n, gamma_t |
51 | 52 | fix m2 all property/global poissonsRatio peratomtype 0.5 # defines kn, kt, gamma_n, gamma_t |
52 | 53 | fix m3 all property/global coefficientRestitution peratomtypepair 1 0.8 # defines damping, must be >0.05 |
53 | 54 | fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 # defines friction |
54 | 55 |
|
55 | | - fix topwall all mesh/surface/stress file example/data/plane1x1.stl type 1 scale 2 rotate axis 1 0 0 angle 90 move -1 1 -1 surface_vel 1 0 0 |
56 | | - fix bottomwall all mesh/surface/stress file example/data/plane1x1.stl type 1 scale 2 rotate axis 1 0 0 angle 90 move -1 0 -1 |
| 56 | + fix topwall all mesh/surface/stress file example/data/plane1x1.stl type 1 scale ${length} rotate axis 1 0 0 angle 90 move -${len2} ${height} -${len2} surface_vel 1 0 0 |
| 57 | + fix bottomwall all mesh/surface/stress file example/data/plane1x1.stl type 1 scale ${length} rotate axis 1 0 0 angle 90 move -${len2} 0 -${len2} |
57 | 58 |
|
58 | 59 | # Define physics for particle interactions |
59 | 60 | pair_style gran model hertz tangential history # 'tangential off' sets Ft=0; 'tangential no_history' incorporates damping to Ft, sets kt=0; 'tangential history' incorporate kt and damping into Ft |
|
74 | 75 | variable bfx equal f_bottomwall[1] |
75 | 76 | variable bfy equal f_bottomwall[2] |
76 | 77 | variable bfz equal f_bottomwall[3] |
77 | | - dump forces all mesh/vtk 1000 ${output}_wall_*.vtk output interpolate id stress stresscomponents |
78 | | - fix forceslog all print 100 "${time},${tfx},${tfy},${tfz},${bfx},${bfy},${bfz}" file ${output}_forces.csv title "t,tFx,tFy,tFz,bFx,bFy,bFz" screen no |
| 78 | + dump forces all mesh/vtk ${vtk_it} ${output}_wall_*.vtk output interpolate id stress stresscomponents |
| 79 | + fix forceslog all print ${log_it} "${time},${tfx},${tfy},${tfz},${bfx},${bfy},${bfz}" file ${output}_forces.csv title "t,tFx,tFy,tFz,bFx,bFy,bFz" screen no |
79 | 80 |
|
80 | | - dump vtk_dump all atom/vtk 1000 ${output}_part_*.vtu |
| 81 | + dump vtk_dump all atom/vtk ${vtk_it} ${output}_part_*.vtu |
81 | 82 |
|
82 | 83 |
|
83 | 84 | timestep ${timestep} |
84 | 85 |
|
85 | | - run 50000 |
| 86 | + run ${iterations} |
86 | 87 | </RemoteForceInterface> |
87 | 88 | </Model> |
88 | 89 | <!-- <VTK Iterations="1000" what="U,Solid"/> --> |
89 | 90 | <!-- 10s 1.8m/s 0.01Pa 1/Pa--> |
90 | | - <Log Iterations="1s"/> |
| 91 | + <Log Iterations="100"/> |
91 | 92 | <VTK Iterations="5s"/> |
92 | | - <Solve Iterations="50000"/> |
| 93 | + <Solve Iterations="5s"/> |
93 | 94 | </CLBConfig> |
0 commit comments