Extracting Shear force from a moving wall

Submitted by srguya on Wed, 04/05/2017 - 09:19

Hi

May someone assist me on how to extract shear force from a moving wall relative to a static mass of granular materials which are loaded with a normal force.

estefan31 | Wed, 04/05/2017 - 16:41

It's pretty straightforward with the mesh modules. If you use mesh/surface/stress or mesh/surface/stress/servo you can extract different wall properties in thermo output, print commands, or dump files by calling the wall fix as f_fixname[i]. For example:

fix wall all mesh/surface/stress file meshes/mesh_file.stl type 1 reference_point 0 0 ${wallheightvariable} stress on
fix meshwalls all wall/gran model hertz tangential history mesh n_meshes 1 meshes wall
variable someRandomWallCalc equal $(f_wall[1]*f_wall[2]*f_wall[3])
write_dump all mesh/gran/VTK meshwall*.vtk stress vel stresscomponents area
thermo_style custom f_wall[1] f_wall[9] v_someRandomWallCalc

The mesh/module/stress documentation says what indices extract which wall data: "This mesh module stores a global vector with 9 components for access by various output commands. The first 3 components are equal to the total force on the mesh, the next 3 components store the total torque on the body exerted by the particles. Finally, the last 3 components are the coordinates (moved, scaled, rotated) of the reference point." So if the wall normal is in the x-direction, then your shear forces are in the y and z directions.

You also might get errors when trying to extract wall data using f_wall[i] that say something like "variable is not current." In that case make sure to declare the variable using $(f_wall[i]). The variable command documentation will give more thorough detail on this with regards to immediate evaluation of variables.