FE-Project
Loading...
Searching...
No Matches
scale_element_line Module Reference

module FElib / Element / line More...

Data Types

type  lineelement
 Derived type representing a line element. More...

Functions/Subroutines

subroutine lineelement_init (elem, elemorder, lumpedmassmatflag)
 Initialize an object to manage a line element.

Detailed Description

module FElib / Element / line

Description
A module for a line finite element
Author
Yuta Kawai, Team SCALE

Function/Subroutine Documentation

◆ lineelement_init()

subroutine scale_element_line::lineelement_init ( class(lineelement), intent(inout) elem,
integer, intent(in) elemorder,
logical, intent(in) lumpedmassmatflag )

Initialize an object to manage a line element.

Parameters
elemObject of finite element
elemOrderPolynomial order
LumpedMassMatFlagFlag whether mass lumping is considered

Definition at line 53 of file scale_element_line.F90.

56
57 implicit none
58
59 class(LineElement), intent(inout) :: elem
60 integer, intent(in) :: elemOrder
61 logical, intent(in) :: LumpedMassMatFlag
62
63 !-----------------------------------------------------------------------------
64
65 elem%PolyOrder = elemorder
66 elem%Nv = 2
67 elem%Np = elemorder + 1
68 elem%Nfp = 1
69 elem%Nfaces = 2
70 elem%NfpTot = elem%Nfp*elem%Nfaces
71
72 call elementbase1d_init(elem, lumpedmassmatflag)
73 call construct_element(elem)
74
75 return

References scale_element_base::elementbase1d_final(), scale_element_base::elementbase1d_init(), scale_element_base::elementbase_construct_liftmat(), scale_element_base::elementbase_construct_massmat(), scale_element_base::elementbase_construct_stiffmat(), scale_linalgebra::linalgebra_inv(), scale_polynomial::polynomial_gendlagrangepoly_lglpt(), scale_polynomial::polynomial_gendlegendrepoly(), scale_polynomial::polynomial_gengausslegendrept(), scale_polynomial::polynomial_gengausslegendreptintweight(), scale_polynomial::polynomial_gengausslobattopt(), scale_polynomial::polynomial_gengausslobattoptintweight(), scale_polynomial::polynomial_genlagrangepoly(), and scale_polynomial::polynomial_genlegendrepoly().