assemble_dynamic_system Interface

public interface assemble_dynamic_system

Contents


Module Procedures

private subroutine assemble_dynamic_system_dense(gdof, elements, nodes, m, k, rule)

Assembles dense global mass and stiffness matrices.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: gdof

The total number of global degrees of freedom.

class(element), intent(in) :: elements(:)

The finite elements to assemble.

class(node), intent(in), dimension(:) :: nodes

The global node list.

real(kind=real64), intent(out), allocatable :: m(:,:)

The assembled global mass matrix.

real(kind=real64), intent(out), allocatable :: k(:,:)

The assembled global stiffness matrix.

integer(kind=int32), intent(in), optional :: rule

The numerical integration rule.

private subroutine assemble_dynamic_system_csr(gdof, elements, nodes, m, k, rule)

Assembles global mass and stiffness matrices in CSR format.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: gdof

The total number of global degrees of freedom.

class(element), intent(in) :: elements(:)

The finite elements to assemble.

class(node), intent(in), dimension(:) :: nodes

The global node list.

type(csr_matrix), intent(out) :: m

The assembled global mass matrix in CSR format.

type(csr_matrix), intent(out) :: k

The assembled global stiffness matrix in CSR format.

integer(kind=int32), intent(in), optional :: rule

The numerical integration rule.