-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMesh_Mod.f90
40 lines (35 loc) · 1.68 KB
/
Mesh_Mod.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
!==============================================================================!
module Mesh_Mod
!------------------------------------------------------------------------------!
! Module to define mesh type !
! !
! For the time being it is Cartesian, but could easily be generalized !
!------------------------------------------------------------------------------!
implicit none
!==============================================================================!
! Mesh mode
integer, parameter :: STRUCTURED = 70001
integer, parameter :: UNSTRUCTURED = 70003
!---------------!
! !
! Mesh type !
! !
!---------------!
type Mesh_Type
integer :: mode
integer :: ny ! number of nodes in "y" direction
integer :: nz ! number of nodes in "z" direction
integer :: n_nodes ! number of nodes
integer :: n_cells ! number of cells
integer, allocatable :: cells_nodes(:,:) ! cells' nodes
real, allocatable :: yn(:) ! nodes' "y" coordinates
real, allocatable :: zn(:) ! nodes' "z" coordinates
real, allocatable :: yc(:) ! cells' "y" coordinates
real, allocatable :: zc(:) ! cells' "z" coordinates
real, allocatable :: area(:) ! cells' areas
end type
contains
include 'Mesh_Mod/Create_Cartesian.f90'
include 'Mesh_Mod/Create_From_File.f90'
include 'Mesh_Mod/Calculate_Geometry.f90'
end module