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.18 2009/08/26 00:40:00 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, Generate_Multiple, 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 Generate_Multiple module procedure Generate_Multiple_Base_Struct 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