Hi Dung,
Thank you for your question. Following your request, we added an example of running crack propagation with contact loading to folder examples/three_point_bending_contact
It includes mesh file, config file for setting elastic properties and boundary conditions, param file for solvers, and README file with detailed explanations on creating the mesh in Salome Meca, setting up the problem and running simulations. To access it you would need to checkout develop branches (git checkout develop; git pull) in three repositories:
And after that you would need to recompile (make -j4; make install) in build directories:
Actual paths might differ if you chose different names during installation. Alternatively, the example with contact loading will be included in the upcoming release in the following month.
Please let us know if you encounter any problems,
Best wishes,
Andrei Shvarts
Hi Dung,
Andrei and Ignatios
1. Displacements are always available at every node of the output (solution) mesh and can be directly accessed and visualized in Paraview. For example, in basic_finite_elements/elasticity they are output to file out.h5m under tag DISPLACEMENT. In basic_finite_elements/simple_contact(file out.h5m)and in fracture_mecanics (files out_spatial_N.h5m, N is the step number ) we output separately material coordinates (tag MESH_NODE_POSITIONS) and current coordinates (tag SPATIAL_POSITION). You can easily obtain displacement using Calculator filter in Paraview as DISPLACEMENT=SPATIAL_POSITION-MESH_NODE_POSITIONS. Note that if you are using crack_propagation with singularity present in the stress field, which is switched on by the flag -my_add_singularity (True by default), you should compute displacements as DISPLACEMENT=SPATIAL_POSITION-MESH_NODE_POSITIONS-SINGULAR_DISP
2. Currently there is no functionality to extract tractions/forces on surfaces. Note that it can be done in Paraview by multiplying the stress tensor (also output as solution) by normal vector (provided by Generate Surface Normals filter). However, computations of normals in Paraview may have issues. Please let us know how critical for you is the extraction of tractions/forces, and we will try to include it in our development plan.
3. Regarding contact surface, alongside with files out_spatial_N.h5m we output gap and contact pressure (as Lagrange multipliers, since their values are equivalent to contact pressure) at every gauss point of the contact surface to the file out_contact_N.h5m . These can be visualised in Paraview using Glyph filter or the Point Gaussian representation. In the upcoming release it will be possible to output contact Lagrange multipliers at all nodes of the contact surface, i.e. obtain interpolation of the contact pressure field rather than its values at gauss points.
4. Regarding non-constant boundary conditions, currently it is possible to apply linearly varying pressure/force. Please let us know if that option is sufficient for you or you would need more complex (i.e. polynomial) distribution of pressure. Please also note that only pressure/force load control is supported in fracture_mecanics, while displacement control is not supported.
Regards,
Andrei