'
This tutorial demonstrates the time-dependent application of different boundary condition types, i.e., Dirichlet and Neumann boundary conditions, on a cuboidal geometry. For more details on the definition of mechanical boundary conditions in carpentry see manual section mechanical boundary conditions.
Geometry and Material Definition
A simple tetrahedral finite element mesh of a cube shown in fig-schematic
with side length \(a
= 1.0\) mm and resolution \(r = 0.1\) mm
as default is generated. The cube is assigned a neo-Hookean material model with
shear modulus \(\mu = 10\) kPa and penalty parameter
\(K = 1000\) kPa.
Boundary Condition Application
For the experiments I & II, movement of nodes located at \(x = -0.5 a\) is restricted in all directions, i.e., homogeneous
Dirichlet boundary conditions are applied (see left and right panels in fig-schematic
).
Experiment I - Dirichlet Boundary Conditions
Experiment I provides guidance on the consistent application of inhomogeneous
Dirichlet boundary conditions (see left panel in fig-schematic
). Nodes located at \(x
= 0.5 a\) are translated under application of displacement \(\mathbf{u} = [u_{1},0,0]^{\mathrm{T}}\) utilizing the command line
./run.py
--experiment dirichlet --sidelength 1.00 --resolution 0.10 --magnitude 0.10
where the parameter experiment selects the correct boundary
condition type, parameters sidelength and resolution
provide an optional input for the mesh generation and magnitude
defines the displacement \(u_{1}^{\mathrm{s}}\)
in mm. The application of inhomogeneous Dirichlet boundary conditions is time-dependent
and necessitates existence of a specific trace file (.trc), in which the time course
for the selected displacement is provided calculated as \(\mathbf{u}
= \phi \mathbf{u}^{\mathrm{s}} = \phi [u_{1}^{\mathrm{s}},u_{2}^{\mathrm{s}},u_{3}^{\mathrm{s}}]^{\mathrm{T}}\),
where \(\phi\) represents the scale factor (see
fig-traces
).
Note
Node selection for application of Dirichlet boundary conditions is currently based on internal functions, but can alternatively be performed utilizing a vertex file (.vtx).
Experiment II - Neumann Boundary Conditions
Experiment II provides guidance on the consistent application of Neumann boundary
conditions (see right panel in fig-schematic
).
Nodes located at \(x = 0.5 a\) are translated under
application of pressure \(p\) on the corresponding
surface triangles utilizing the command line
./run.py
--experiment neumann --sidelength 1.00 --resolution 0.10 --magnitude 5.00
where the parameter experiment selects the correct boundary
condition type, parameters sidelength and resolution
provide an optional input for the mesh generation and magnitude
defines the applied pressure \(p\) in kPa. Again,
the application of Neumann boundary conditions is time-dependent and necessitates
existence of a specific trace file (.trc), in which the time course for the selected
pressure is provided calculated as \(p = \phi p\),
where \(\phi\) represents the scale factor (see
fig-traces
).
Note
Element selection for application of Neumann boundary conditions is currently based on internal fuctions, but can alternatively be performed utilizing a surface element file (.neubc).
Experimental Results
Upon application of the command lines introduced above, results provided in fig-results
will be obtained. While
in Experiment I inhomogeneous Dirichlet boundary conditions are consistently stretching
the cube, Neumann boundary conditions in Experiment II administer both, compression
and tension on the cube (compare boundary condition application traces in fig-traces
).
For the experiments III & IV, the plane at \(x = -0.5 a\) is attached to a spring acting in all directions, i.e., homogeneous Robin boundary conditions are applied.
Experiment III - Dirichlet Boundary Conditions
Experiment III provides guidance on the consistent application of inhomogeneous
Dirichlet boundary conditions (see left panel in fig-schematic
). Nodes located at \(x
= 0.5 a\) are translated under application of displacement \(\mathbf{u} = [u_{1},0,0]^{\mathrm{T}}\) utilizing the command line
./run.py
--experiment dirichlet --fixation weak --sidelength 1.00 --resolution 0.10 --magnitude
0.10
where the parameter experiment selects the correct boundary
condition type, parameters sidelength and resolution
provide an optional input for the mesh generation and magnitude
defines the displacement \(u_{1}^{\mathrm{s}}\)
in mm. The application of inhomogeneous Dirichlet boundary conditions is time-dependent
and necessitates existence of a specific trace file (.trc), in which the time course
for the selected displacement is provided calculated as \(\mathbf{u}
= \phi \mathbf{u}^{\mathrm{s}} = \phi [u_{1}^{\mathrm{s}},u_{2}^{\mathrm{s}},u_{3}^{\mathrm{s}}]^{\mathrm{T}}\),
where \(\phi\) represents the scale factor (see
fig-traces
).
Note
Node selection for application of Dirichlet boundary conditions is currently based on internal functions, but can alternatively be performed utilizing a vertex file (.vtx).
Experiment IV - Neumann Boundary Conditions
Experiment IV provides guidance on the consistent application of Neumann boundary
conditions (see right panel in fig-schematic
).
Nodes located at \(x = 0.5 a\) are translated under
application of pressure \(p\) on the corresponding
surface triangles utilizing the command line
./run.py
--experiment neumann --fixation weak --sidelength 1.00 --resolution 0.10 --magnitude
5.00
where the parameter experiment selects the correct boundary
condition type, parameters sidelength and resolution
provide an optional input for the mesh generation and magnitude
defines the applied pressure \(p\) in kPa. Again,
the application of Neumann boundary conditions is time-dependent and necessitates
existence of a specific trace file (.trc), in which the time course for the selected
pressure is provided calculated as \(p = \phi p\),
where \(\phi\) represents the scale factor (see
fig-traces
).
Note
Element selection for application of Neumann boundary conditions is currently based on internal fuctions, but can alternatively be performed utilizing a surface element file (.neubc).
Experimental Results
Upon application of the command lines introduced above, results provided in fig-results2
will be obtained. While
in Experiment III inhomogeneous Dirichlet boundary conditions are consistently stretching
the cube, Neumann boundary conditions in Experiment IV administer both, compression
and tension on the cube (compare boundary condition application traces in fig-traces
).
'