smod_assemble_1D Submodule


Uses

  • module~~smod_assemble_1d~~UsesGraph module~smod_assemble_1d smod_assemble_1D iso_fortran_env iso_fortran_env module~smod_assemble_1d->iso_fortran_env module~mod_integration mod_integration module~smod_assemble_1d->module~mod_integration module~mod_legendre mod_legendre module~smod_assemble_1d->module~mod_legendre module~mod_assembly mod_assembly module~smod_assemble_1d->module~mod_assembly module~mod_integration->iso_fortran_env lib_array lib_array module~mod_integration->lib_array module~mod_legendre->iso_fortran_env module~mod_assembly->iso_fortran_env module~mod_assembly->module~mod_legendre

Contents


Functions

function integrate_basis_1d_Ie(N, ii, jj, dii, djj, xy) result(integral)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: N
integer, intent(in) :: ii
integer, intent(in) :: jj
integer, intent(in) :: dii
integer, intent(in) :: djj
real(kind=wp), intent(in), dimension(:):: xy

Return Value real(kind=wp)


Subroutines

subroutine assemble1D(points, cells, diff, vel, GlobalA)

Assemble the global stiffness matrix based on element connectivity

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: points

Array of nodal coordinates

integer, intent(in), dimension(:,:):: cells

Element connectivity

real(kind=wp), intent(in) :: diff

Diffusivity coefficient [m/s^2]

real(kind=wp), intent(in) :: vel

Velocity [m/s]

real(kind=wp), intent(out), dimension(:,:):: GlobalA

Global Stiffness matrix

subroutine set_BCs(points, GlobalB, GlobalA)

Set boundary conditions in GlobalA and GlobalB using two Dirchlet boundaries

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: points

Array of nodal coordinates

real(kind=wp), intent(out), dimension(:):: GlobalB

Global RHS Vector

real(kind=wp), intent(out), dimension(:,:):: GlobalA

Global Mass Matrix


Module Functions

function assembleElementalMatrix1D(N, d1, d2, xy) result(Ie)

Routine to calculate the elemental mass/stiffness matrix based on the derivatives of the basis functions.

Read more…

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: N

Number of nodes in basis function

integer, intent(in) :: d1

Derivative of the first basis function

integer, intent(in) :: d2

Derivative of the second basis function

real(kind=wp), intent(in), dimension(N):: xy

Coordinates of the 1D line element

Return Value real(kind=wp), dimension(N,N)

Output elemental matrix


Module Subroutines

subroutine initialize_global_mats(num_nodes, GlobalA, GlobalB, GlobalX)

This routine initalizes the global stiffness matrix, global rhs vector, and global solution vector based on the number of nodes in the system

Read more…

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: num_nodes

The number of nodes in the system

real(kind=wp), intent(out), dimension(:,:), allocatable:: GlobalA

Global mass matrix

real(kind=wp), intent(out), dimension(:), allocatable:: GlobalB

Global RHS Vector

real(kind=wp), intent(out), dimension(:), allocatable:: GlobalX

Global solution vector