The main documentation of the Base_Structure Class contains additional explanation of this code listing.
!
! Author: Michael L. Hall
! P.O. Box 1663, MS-D413, LANL
! Los Alamos, NM 87545
! ph: 505-665-4312
! email: Hall@LANL.gov
!
! Created on: 09/13/99
! CVS Info: $Id: base_structure.F90,v 5.16 2006/10/17 23:01:53 hall Exp $
module Caesar_Base_Structure_Class
! Global use associations.
use Caesar_Intrinsics_Module
use Caesar_Communication_Class
! Start up with everything untyped and private.
implicit none
private
! Public procedures.
public :: Initialize, Finalize, Valid_State, Initialized
public :: Generate_Even_Distribution, First_PE, Last_PE, Length_PE, &
Length_Total, Length_Vector, Locus, Output, Range_PE
interface Initialize
module procedure Initialize_Base_Structure
end interface
interface Finalize
module procedure Finalize_Base_Structure
end interface
interface Valid_State
module procedure Valid_State_Base_Structure
end interface
interface Initialized
module procedure Initialized_Base_Structure
end interface
interface Generate_Even_Distribution
module procedure Generate_Even_Distribution
end interface
interface Output
module procedure Output_Base_Structure
end interface
fortext([Value],[First_PE Last_PE Length_PE Length_Total dnl
Length_Vector Locus Range_PE],[
interface Value
module procedure expand(Get_Value_Structure)
end interface
])
! Public variables.
public :: name_length
type(integer), parameter :: &
name_length = 72 ! Length of the character strings for names.
! Public type definitions.
public :: Base_Structure_type
type Base_Structure_type
! Initialization flag.
type(integer) :: Initialized
! The location or variable name which is distributed over the processors
! (Cells, Nodes, Faces, Equations, Variables, etc.).
type(character,name_length) :: Locus
! Total length of the distributed axis of the entire vector (including
! all PEs).
type(integer) :: Length_Total
! Length of the distributed axis on this PE.
type(integer) :: Length_PE
! A vector containing the length of the distributed axis for each PE.
type(integer,1) :: Length_Vector
! First, last and range of global index numbers for this PE.
type(integer) :: First_PE
type(integer) :: Last_PE
type(integer), dimension(2) :: Range_PE
end type Base_Structure_type
contains
The Base_Structure Class contains the following routines which are listed in separate sections:
end module Caesar_Base_Structure_Class