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

module FElib / Mesh / Local, Base More...

Data Types

type  localmeshbase
 Derived type to manage a local computational domain (base type) More...

Functions/Subroutines

subroutine, public localmeshbase_init (this, lcdomid, refelem, ndim, myrank)
 Setup an object to manage a local computational mesh.
subroutine, public localmeshbase_final (this, is_generated)
 Finalize an object to manage a local computational mesh.

Variables

integer, parameter, public bctype_interior = 0
integer, parameter, public bctype_undefbc = 1
integer, parameter, public bctype_periodic = 2
integer, parameter, public bctype_dirchlet = 3
integer, parameter, public bctype_neuman = 4
integer, parameter, public bctype_shoreline = 5

Detailed Description

module FElib / Mesh / Local, Base

Description
Base module to manage meshes for element-based methods
Author
Yuta Kawai, Team SCALE

Function/Subroutine Documentation

◆ localmeshbase_init()

subroutine, public scale_localmesh_base::localmeshbase_init ( class(localmeshbase), intent(inout) this,
integer, intent(in) lcdomid,
class(elementbase), intent(in), target refelem,
integer, intent(in) ndim,
integer, intent(in), optional myrank )

Setup an object to manage a local computational mesh.

Definition at line 102 of file scale_localmesh_base.F90.

103
104 use scale_prc, only: prc_myrank
105 implicit none
106
107 class(LocalMeshBase), intent(inout) :: this
108 integer, intent(in) :: lcdomID
109 class(ElementBase), intent(in), target :: refElem
110 integer, intent(in) :: ndim
111 integer, intent(in), optional :: myrank
112 !-----------------------------------------------------------------------------
113
114 this%lcdomID = lcdomid
115 this%refElem => refelem
116
117 if (present(myrank)) then
118 this%PRC_myrank = myrank
119 else
120 this%PRC_myrank = prc_myrank
121 end if
122
123 return

Referenced by scale_localmesh_1d::localmesh1d_init(), scale_localmesh_2d::localmesh2d_init(), and scale_localmesh_3d::localmesh3d_init().

◆ localmeshbase_final()

subroutine, public scale_localmesh_base::localmeshbase_final ( class(localmeshbase), intent(inout) this,
logical, intent(in) is_generated )

Finalize an object to manage a local computational mesh.

Definition at line 127 of file scale_localmesh_base.F90.

128 implicit none
129
130 class(LocalMeshBase), intent(inout) :: this
131 logical, intent(in) :: is_generated
132 !-----------------------------------------------------------------------------
133
134 if ( is_generated ) then
135 deallocate( this%pos_ev, this%pos_en, this%normal_fn )
136 deallocate( this%sJ, this%J )
137
138 deallocate( this%Escale, this%Fscale )
139
140 deallocate( this%EToV, this%EToE, this%EToF )
141
142 if ( allocated(this%VMapM) ) then
143 deallocate( this%VMapM, this%VMapP, this%MapM, this%MapP )
144 end if
145 if ( allocated(this%VMapB) ) then
146 deallocate( this%BCType )
147 deallocate( this%VMapB, this%MapB )
148 end if
149 if ( allocated(this%G_ij) ) then
150 deallocate( this%G_ij, this%GIJ )
151 deallocate( this%Gsqrt )
152 end if
153 end if
154
155 return

Referenced by scale_localmesh_1d::localmesh1d_final(), scale_localmesh_2d::localmesh2d_final(), and scale_localmesh_3d::localmesh3d_final().

Variable Documentation

◆ bctype_interior

◆ bctype_undefbc

integer, parameter, public scale_localmesh_base::bctype_undefbc = 1

Definition at line 84 of file scale_localmesh_base.F90.

84 integer, public, parameter :: BCTYPE_UNDEFBC = 1

◆ bctype_periodic

integer, parameter, public scale_localmesh_base::bctype_periodic = 2

Definition at line 85 of file scale_localmesh_base.F90.

85 integer, public, parameter :: BCTYPE_PERIODIC = 2

◆ bctype_dirchlet

integer, parameter, public scale_localmesh_base::bctype_dirchlet = 3

Definition at line 86 of file scale_localmesh_base.F90.

86 integer, public, parameter :: BCTYPE_DIRCHLET = 3

◆ bctype_neuman

integer, parameter, public scale_localmesh_base::bctype_neuman = 4

Definition at line 87 of file scale_localmesh_base.F90.

87 integer, public, parameter :: BCTYPE_NEUMAN = 4

◆ bctype_shoreline

integer, parameter, public scale_localmesh_base::bctype_shoreline = 5

Definition at line 88 of file scale_localmesh_base.F90.

88 integer, public, parameter :: BCTYPE_SHORELINE = 5