This module allows for numerical calculation of cell forces applied on a surface by means of a higher order finite element approach based on an linear elasticity theory and Betti's theorem. Only experimental data of displacements in X and Y direction is required. (possible further extensions if needed) For more instructions, tutorials visit MoFEM page.
Entire installation process can be also found on the Youtube video.
How does it work?
Lets consider body containing two different layers of materials. If we are in possesion of displacement field (experimental data) occurring between those two layers we can calculate forces and deformation on the top surface.
In the first step, we need to map provided experimentally displacement field on finite element mesh.
Raw data usually contains lots of noise and doesn't coincide with the arrangement of triangles in the mesh. Therefore, least squares approximation is used to produce smooth, continuous displacement field. Strength of smoothing can be manipulated with different parameters. When generating the mesh in Cubit, we need to remember to properly define material properties (MAT_ELASTIC blockset) and indicate bottom (101) and top (202) surface of considered layer as SIDESETS 101 and 202, respectively. Checkout the example .cub or .jou files in /examples directory to see how it is done.
Check before run
Check where is your mesh file
Check where are your data XY (csv) files
Check where is your config file (if required)
Displacements mapping
In order to map experimental data on finite element mesh we execute the following command.
./map_disp \
-my_data_x ./examples/data_x.csv \
-my_data_y ./examples/data_y.csv \
-my_file ./examples/mesh_cell_force_map.cub \
-ksp_type cg -pc_type lu -pc_factor_mat_solver_package mumps -ksp_monitor \
my_thinckness is a thickness of created layer on the top surface
Cell forces calculation
Code above produces output file (out.h5m) and analysis_mesh.h5m which can be subsequently used to calculate the required forces and stresses on the top surface of a given geometry.
block_config.in is a file where approximation order and material parameters could be set and changed
Do output VTK files and open them in Paraview
Stresses and displacements
mbconvert out.h5m out.vtk && open out.vtk
and to post-process tractions
mbconvert out_tractions.h5m out_tractions.vtk
Acknowledgements
This user module has been co-developed with Biomedical Engineering and Infrastructure and Environment departments in the School of Engineering at the University of Glasgow.