| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int32), | public, | parameter | :: | DYN_FOUR_POINT_INTEGRATION_RULE | = | 4 |
Defines a four-point integration rule. |
| integer(kind=int32), | public, | parameter | :: | DYN_ONE_POINT_INTEGRATION_RULE | = | 1 |
Defines a single-point integration rule. |
| integer(kind=int32), | public, | parameter | :: | DYN_THREE_POINT_INTEGRATION_RULE | = | 3 |
Defines a three-point integration rule. |
| integer(kind=int32), | public, | parameter | :: | DYN_TWO_POINT_INTEGRATION_RULE | = | 2 |
Defines a two-point integration rule. |
Applies boundary conditions to a matrix by removal of the appropriate rows and columns.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(inout), | dimension(:) | :: | gdof |
An array of the global degrees of freedom to restrain. The array is sorted into ascending order on output. |
|
| real(kind=real64), | intent(in), | dimension(:,:) | :: | x |
The matrix to constrain. |
|
| class(errors), | intent(inout), | optional, | target | :: | err |
An optional error handling object. |
The altered matrix.
Applies boundary conditions to a vector by removal of the appropriate items.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(inout), | dimension(:) | :: | gdof |
An array of the global degrees of freedom to restrain. The array is sorted into ascending order on output. |
|
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
The vector to constrain. |
|
| class(errors), | intent(inout), | optional, | target | :: | err |
An optional error handling object. |
The altered vector.
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). |
| procedure , public :: constitutive_matrix => b2d_constitutive_matrix Function | |
| procedure , public :: evaluate_shape_function => b2d_shape_function Function | |
| procedure , public :: external_force_vector => le_ext_force_vector Function | |
| procedure , public :: get_dimensionality => b2d_dimensionality Function | |
| procedure , public :: get_dof_per_node => b2d_dof_per_node Function | |
| procedure , public :: get_node => b2d_get_node Function | |
| procedure , public :: get_node_count => b2d_get_node_count Function | |
| procedure , public :: get_terminal_nodes => b2d_terminal_nodes Subroutine | |
| procedure , public :: jacobian => b2d_jacobian Function | |
| procedure , public :: length => le_length Function | |
| procedure , public :: mass_matrix => b2d_mass_matrix Function | |
| procedure , public :: rotation_matrix => b2d_rotation_matrix Function | |
| procedure , public :: shape_function_matrix => b2d_shape_function_matrix_2d Function | |
| procedure , public :: stiffness_matrix => b2d_stiffness_matrix Function | |
| procedure , public :: strain_displacement_matrix => b2d_strain_disp_matrix_2d Function |
Defines a three-dimensional Bernoulli-Euler beam element.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | public | :: | Ixx |
The beam moment of inertia about the element x-axis. |
|||
| real(kind=real64), | public | :: | Iyy |
The beam moment of inertia about the element y-axis. |
|||
| real(kind=real64), | public | :: | Izz |
The beam moment of inertia about the element z-axis. |
|||
| real(kind=real64), | public | :: | area |
The element cross-sectional area. |
|||
| type(material), | public | :: | material |
The material. |
|||
| 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). |
|||
| type(point), | public | :: | orientation_point |
A point used to determine the orientation of the beam in 3D space. The orientation point is measured relative to the first node in the element. Specifically, the element z axis is assumed to be defined by the location of this point relative to the location of node 1. |
| procedure , public :: constitutive_matrix => b3d_constitutive_matrix Function | |
| procedure , public :: evaluate_shape_function => b3d_shape_function Function | |
| procedure , public :: external_force_vector => le_ext_force_vector Function | |
| procedure , public :: get_dimensionality => b3d_dimensionality Function | |
| procedure , public :: get_dof_per_node => b3d_dof_per_node Function | |
| procedure , public :: get_node => b3d_get_node Function | |
| procedure , public :: get_node_count => b3d_get_node_count Function | |
| procedure , public :: get_terminal_nodes => b3d_terminal_nodes Subroutine | |
| procedure , public :: jacobian => b3d_jacobian Function | |
| procedure , public :: length => le_length Function | |
| procedure , public :: mass_matrix => b3d_mass_matrix Function | |
| procedure , public :: rotation_matrix => b3d_rotation_matrix Function | |
| procedure , public :: shape_function_matrix => b3d_shape_function_matrix_3d Function | |
| procedure , public :: stiffness_matrix => b3d_stiffness_matrix Function | |
| procedure , public :: strain_displacement_matrix => b3d_strain_disp_matrix_3d Function |
Defines an element.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(material), | public | :: | material |
The material. |
| procedure (element_const_matrix_function) , public , pass :: constitutive_matrix | |
| procedure (element_shape_function) , public , pass :: evaluate_shape_function | |
| procedure , public :: external_force_vector => e_ext_force_vector Function | |
| procedure (element_query) , public , pass :: get_dimensionality | |
| procedure (element_query) , public , pass :: get_dof_per_node | |
| procedure (element_get_node) , public , pass :: get_node | |
| procedure (element_query) , public , pass :: get_node_count | |
| procedure (element_matrix_function) , public , pass :: jacobian | |
| procedure , public :: mass_matrix => e_mass_matrix Function | |
| procedure (element_matrix_function) , public , pass :: shape_function_matrix | |
| procedure , public :: stiffness_matrix => e_stiffness_matrix Function | |
| procedure (element_matrix_function) , public , pass :: strain_displacement_matrix |
Defines a line element type.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | public | :: | area |
The element cross-sectional area. |
|||
| type(material), | public | :: | material |
The material. |
| procedure (element_const_matrix_function) , public , pass :: constitutive_matrix | |
| procedure (element_shape_function) , public , pass :: evaluate_shape_function | |
| procedure , public :: external_force_vector => le_ext_force_vector Function | |
| procedure (element_query) , public , pass :: get_dimensionality | |
| procedure (element_query) , public , pass :: get_dof_per_node | |
| procedure (element_get_node) , public , pass :: get_node | |
| procedure (element_query) , public , pass :: get_node_count | |
| procedure (line_element_get_terminal) , public , pass :: get_terminal_nodes | |
| procedure (element_matrix_function) , public , pass :: jacobian | |
| procedure , public :: length => le_length Function | |
| procedure , public :: mass_matrix => le_mass_matrix Function | |
| procedure (line_element_const_matrix_function) , public , pass :: rotation_matrix | |
| procedure (element_matrix_function) , public , pass :: shape_function_matrix | |
| procedure , public :: stiffness_matrix => le_stiffness_matrix Function | |
| procedure (element_matrix_function) , public , pass :: strain_displacement_matrix |
Defines a linear-elastic-isotropic material.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | public | :: | density |
The density of the material. |
|||
| real(kind=real64), | public | :: | modulus |
The modulus of elasticity of the material. |
|||
| real(kind=real64), | public | :: | poissons_ratio |
The Poisson's ratio of the material. |
Defines a node.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int32), | public | :: | dof |
The number of degrees of freeedom associated with this node. |
|||
| integer(kind=int32), | public | :: | index |
The global index of the node. |
|||
| real(kind=real64), | public | :: | x |
The x-coordinate. |
|||
| real(kind=real64), | public | :: | y |
The y-coordinate. |
|||
| real(kind=real64), | public | :: | z |
The z-coordinate. |
Defines a point in 3D, Cartesian space.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | public | :: | x |
The x-coordinate. |
|||
| real(kind=real64), | public | :: | y |
The y-coordinate. |
|||
| real(kind=real64), | public | :: | z |
The z-coordinate. |
Creates a connectivity matrix for the element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | gdof |
The number of global degrees of freedom. |
||
| class(element), | intent(in) | :: | e |
The element. |
||
| class(node), | intent(in), | dimension(:) | :: | nodes |
The global node list. |
|
| class(errors), | intent(inout), | optional, | target | :: | err |
An optional error handling object. |
The resulting matrix.
Restores the constrained degrees-of-freedom from the boundary conditions applied by apply_boundary_conditions.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(inout), | dimension(:) | :: | gdof |
An array of the global degrees of freedom to restrain. The array is sorted into ascending order on output. |
|
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
The constrained vector. |
|
| class(errors), | intent(inout), | optional, | target | :: | err |
An optional error handling object. |
The altered vector.
Computes the derivative of the shape function with respect to the natural coordinate specified.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | index |
The index of the shape function to evaluate. |
||
| class(element), | intent(in) | :: | elem |
The element object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | s |
The natural coordinate at which to evaluate the derivative. |
|
| integer(kind=int32), | intent(in) | :: | i |
The index of the natural coordinate to with which the derivative is to be computed. |
The result.
Computes the second derivative of the shape function with respect to the natural coordinate specified.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | index |
The index of the shape function to evaluate. |
||
| class(element), | intent(in) | :: | elem |
The element object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | s |
The natural coordinate at which to evaluate the derivative. |
|
| integer(kind=int32), | intent(in) | :: | i |
The index of the natural coordinate to with which the derivative is to be computed. |
The result.
Applies a displacement constraint to the specified degree of freedom.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | dof |
The global degree-of-freedom to which the constraint should be applied. |
||
| real(kind=real64), | intent(in) | :: | val |
The value of the displacement constraint. |
||
| real(kind=real64), | intent(inout), | dimension(:,:) | :: | k |
The stiffness matrix to which the constraint should be applied. |
|
| real(kind=real64), | intent(inout), | dimension(:) | :: | f |
The external force vector to which the constraint should be applied. |