### Table of Contents

# Pressure and shear

Pressure and shear boundary conditions can be applied using special finite elements defined on the boundary of the mesh. The geometry of these elements are lines in 2D corresponding to the boundary edges of the elements of the 2D mesh. In 3D, pressure elements are triangles or quads, depending of the shape of the facets of the elements of the mesh near the boundary.

As any finite element, their definition requires an `ElementProperty`

object and an `Interaction`

(`LoadingInteraction`

).
Unlike contact finite element, there is no “material” associated to this kind of element.

The `ElementProperty`

contains the type of element and the values for the pressure and the shear, as well as functions defining the time evolution of these values.

These elements should not be mixed with dead loads. In most cases, pressure elements should be chosen over dead loads because:

- Pressure and shear are always defined in local axes, so the direction of the resulting force depends on the orientation of the boundary edge/face on which it is applied.
- Pressure is distributed properly over all edges/faces on which the
`LoadingInteraction`

is applied. Consequently, the total applied force does not depend on the mesh.

## Element

The first step consists in defining an `ElementProperties`

, as

prp = ElementProperties(typeEl) prp.put(param, value) prp.depend(param, fct, lock)) # optional ...

where

`typeEl` | desired element (for example `Pressure[2|3]DElement` - see below) |

`param` | name of the property associated to the element (e.g. `PRESSURE` ) |

`value` | value of the corresponding property (e.g. value for the pressure |

`fct` | function which characterizes the dependency of the property (optional: no fct if the value is constant) |

`lock` | lock which defines the dependency variable of the property (e.g. time-dependence = `TM` ) |

### Pressure2DElement, Pressure3DElement

Pressure/shear element for a mesh made of triangles/quadrangles in 2D or hexahedra in 3D.

#### Parameters

Name | Description | Dependency |
---|---|---|

`STIFFMETHOD` | Method used to compute the stiffness matrix = `STIFF_ANALYTIC` : analytic matrix (default)= `STIFF_NUMERIC` : numerical matrix | - |

`PRESSURE` | Pressure on the entity on which the propriety is applied | time |

`SHEAR_KSI` / `SHEAR_ETA` | Shear along $\xi$ or $\eta$ on the entity on which the propriety is applied | time |

`NPG` | Number of integration points (default : 2) | - |

### TrianglePressure3DElement

Pressure/shear element for a mesh made of tetrahedra

#### Parameters

Name | Description | Dependency |
---|---|---|

`STIFFMETHOD` | Method used to compute the stiffness matrix\\= `STIFF_ANALYTIC` : analytic matrix (default)= `STIFF_NUMERIC` : numerical matrix Not applicable, only the numerical one exists ! | - |

`PRESSURE` | Pressure on the entity on which the propriety is applied | time |

`SHEAR_KSI` / `SHEAR_ETA` | Shear along $\xi$ or $\eta$ on the entity on which the propriety is applied | time |

`NPG` | Number of integration points (default : 1) | - |

### ContactPressure2DElement, ContactPressure3DElement

Derivations of `Pressure2DElement`

and `Pressure3DElement`

with the possibility to set the pressure/shear force of a node to zero, when this node is in contact within a specified contact interaction.
To determine the contact status, the contact flag of the previous time step is used.

#### Parameters

The same than in Traction2DElement and Traction3DElement, with the following additional parameters:

Name | Description | Dependency |
---|---|---|

`NUM_CONTACT_INTERACTION` | Number of the contact interaction, which is tested for the contact status | - |

`TRACTION_AT_TRANSITION_ON` | If `True` (default), the traction of a node belonging to an element at the transition from contact to no contact is not set equal to zero, although the node is in contact | - |

## Interaction

The interaction used for pressure/shear element is a `LoadingInteraction`

. It is defined as:

load = LoadingInteraction(no) load.push(gObject1) load.push(gObject2) ... load.addProperty(prp) interactionset.add(load)

where

`no` | number of the `Interaction` |

`gObject1` , `gObject2` | meshed geometric entity where the boundary conditions are applied (one part of the boundary of the mesh) |

`prp` | Properties of boundary condition elements to be generated |