Defines a two-dimensional Bernoulli-Euler beam element.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | public | :: | area |
The element cross-sectional area. |
|||
| type(material), | public | :: | material |
The material. |
|||
| real(kind=real64), | public | :: | moment_of_inertia |
The beam moment of inertia (second moment of area). |
|||
| type(node), | public | :: | node_1 |
The first node of the element (s = -1). |
|||
| type(node), | public | :: | node_2 |
The second node of the element (s = 1). |
Computes the constitutive matrix for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
The resulting matrix.
Evaluates the i-th shape function at natural coordinate s.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| integer(kind=int32), | intent(in) | :: | i |
The index of the shape function to evaluate. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | s |
The value of the natural coordinate at which to evaluate the shape function. |
The value of the i-th shape function at s.
Computes the mass matrix for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(line_element), | intent(in) | :: | this |
The line_element object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | q |
The surface traction forces vector or body force vector. |
|
| integer(kind=int32), | intent(in), | optional | :: | rule |
The integration rule. The rule must be one of the following:
The default integration rule is DYN_TWO_POINT_INTEGRATION_RULE. |
The resulting vector.
Gets the dimensionality of the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
The dimensionality.
Gets the number of degrees of freedom per node.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
The number of DOF per node.
Gets the requested node from the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| integer(kind=int32), | intent(in) | :: | i |
The local index of the node to retrieve. |
The requested node.
Gets the number of nodes for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
The number of nodes.
Gets the terminal node numbers for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| integer(kind=int32), | intent(out) | :: | i1 |
The index of the node at the head of the element. |
||
| integer(kind=int32), | intent(out) | :: | i2 |
The index of the node at the tail of the element. |
Computes the Jacobian matrix for a 2D beam element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | s |
The value of the natural coordinate at which to evaluate the matrix. |
The Jacobian matrix.
Computes the length of the line_element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(line_element), | intent(in) | :: | this |
The line_element object. |
The length of the line element.
Computes the mass matrix for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| integer(kind=int32), | intent(in), | optional | :: | rule |
The integration rule. The rule must be one of the following:
The default integration rule is MECH_TWO_POINT_INTEGRATION_RULE. |
The resulting matrix.
Computes the rotation matrix for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
The resulting 6-by-6 rotation matrix.
Computes the shape function matrix for a beam element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | s |
The value of the natural coordinate at which to evaluate the shape functions. |
The shape function matrix.
Computes the stiffness matrix for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| integer(kind=int32), | intent(in), | optional | :: | rule |
The integration rule. The rule must be one of the following:
The default integration rule is MECH_TWO_POINT_INTEGRATION_RULE. |
The resulting matrix.
Computes the strain-displacement matrix for a 2D beam element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(beam_element_2d), | intent(in) | :: | this |
The beam_element_2d object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | s |
The value of the natural coordinate at which to evaluate the matrix. |
The strain-displacement matrix.