A.7 Flags Module Code Listing

The main documentation of the Flags Module 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: 1/15/99
! CVS Info:   $Id: flags.F90,v 1.4 2008/09/26 00:04:27 hall Exp $

module Caesar_Flags_Module

  ! Start up with everything untyped and public.
  ! Note: this module contains no private information.

  implicit none
  public

  ! Initialization and finalization flags, used to set initial and
  ! final values for intrinsics.

  type(integer),     parameter :: initialize_integer_flag=0, &
                                    finalize_integer_flag=6622130
  type(real),        parameter :: initialize_real_flag=0.d0, &
                                    finalize_real_flag=662.2130d0
  type(logical),     parameter :: initialize_logical_flag=.false., &
                                    finalize_logical_flag=.false.
  type(character,9), parameter :: initialize_character_flag='Undefined', &
                                    finalize_character_flag='Finalized'

  ! Initialization flags, used to indicate when a derived type has
  ! been initialized.

  type(integer),     parameter :: uninitialized_flag=0, &
                                    initialized_flag=6622130

  ! Boundary condition face flags.

  type(integer),     parameter :: Internal_or_Periodic_BC=0, &
                                  Dirichlet_BC=1, Homogeneous_BC=-1, &
                                  Neumann_BC=2, Reflective_BC=-2, &
                                  Source_BC=3, Vacuum_BC=-3

  ! AMR flags to indicate large and small cells at a level-jump interface.
  ! These should not conflict with the boundary condition face flags.

  type(integer),     parameter :: AMR_Large_Cell_BC=4, &
                                  AMR_Small_Cell_BC=-4

end module Caesar_Flags_Module



Subsections

Michael L. Hall