mesh_type Derived Type

type, public :: mesh_type

三角形頂点と前計算幾何量、要素電荷を保持する境界要素メッシュ型。


Components

Type Visibility Attributes Name Initial
integer(kind=i32), public :: nelem = 0
real(kind=dp), public, allocatable :: v0(:,:)
real(kind=dp), public, allocatable :: v1(:,:)
real(kind=dp), public, allocatable :: v2(:,:)
real(kind=dp), public, allocatable :: centers(:,:)
real(kind=dp), public, allocatable :: center_x(:)
real(kind=dp), public, allocatable :: center_y(:)
real(kind=dp), public, allocatable :: center_z(:)
real(kind=dp), public, allocatable :: normals(:,:)
real(kind=dp), public, allocatable :: bb_min(:,:)
real(kind=dp), public, allocatable :: bb_max(:,:)
real(kind=dp), public, allocatable :: h_elem(:)
real(kind=dp), public, allocatable :: q_elem(:)
integer(kind=i32), public, allocatable :: elem_mesh_id(:)
real(kind=dp), public :: grid_bb_min(3) = 0.0d0
real(kind=dp), public :: grid_bb_max(3) = 0.0d0
integer(kind=i32), public :: grid_ncell(3) = 1_i32
real(kind=dp), public :: grid_inv_cell(3) = 1.0d0
integer(kind=i32), public, allocatable :: grid_cell_start(:)
integer(kind=i32), public, allocatable :: grid_cell_elem(:)
logical, public :: use_collision_grid = .false.
logical, public :: periodic2_collision_ready = .false.

Source Code

  type :: mesh_type
    integer(i32) :: nelem = 0
    real(dp), allocatable :: v0(:, :)
    real(dp), allocatable :: v1(:, :)
    real(dp), allocatable :: v2(:, :)
    real(dp), allocatable :: centers(:, :)
    real(dp), allocatable :: center_x(:)
    real(dp), allocatable :: center_y(:)
    real(dp), allocatable :: center_z(:)
    real(dp), allocatable :: normals(:, :)
    real(dp), allocatable :: bb_min(:, :)
    real(dp), allocatable :: bb_max(:, :)
    real(dp), allocatable :: h_elem(:)
    real(dp), allocatable :: q_elem(:)
    integer(i32), allocatable :: elem_mesh_id(:)
    real(dp) :: grid_bb_min(3) = 0.0d0
    real(dp) :: grid_bb_max(3) = 0.0d0
    integer(i32) :: grid_ncell(3) = 1_i32
    real(dp) :: grid_inv_cell(3) = 1.0d0
    integer(i32), allocatable :: grid_cell_start(:)
    integer(i32), allocatable :: grid_cell_elem(:)
    logical :: use_collision_grid = .false.
    logical :: periodic2_collision_ready = .false.
  end type mesh_type