DOUG 0.2
Data Types | Functions/Subroutines | Variables

Mesh_class Module Reference

Data Types

type  Mesh

Functions/Subroutines

type(MeshMesh_New ()
subroutine Mesh_Init (M, nell, ngf, nsd, mfrelt, nnode)
type(MeshMesh_newInit (nell, ngf, nsd, mfrelt, nnode)
subroutine Mesh_Destroy (M)
subroutine Mesh_initFromFile (M, fnInfo)
 Initialize mesh from a file.
subroutine Mesh_BuildSquare (M, n)
 Construct a rectangular mesh object for assembled 2D matrix.
type(MeshMesh_newInitFromFile (fnInfo)
 Construct and initialise from a file.
subroutine Mesh_readFromFile (M, fnFreelists, fnCoords, fnFreemap, fnFreemask)
 Read mesh from files several files in order.
subroutine Mesh_readFileFreelists (M, fnFreelists)
 Reads in element nodes numbering file, allocates and fills in 'nfrelt' and 'mhead'.
subroutine Mesh_readFileCoords (M, fnCoords)
 Reads in nodes coordinates.
subroutine Mesh_readFileFreemap (M, fnFreemap)
 Reads in data associated with freedoms.
subroutine Mesh_readFileFreemask (M, fnFreemask)
 Reads in data associated with freedoms' block structure.
subroutine Mesh_buildGraphDual (M)
subroutine Mesh_destroyGraph (M)
subroutine, private Mesh_assessHash (M)
subroutine Mesh_buildHash (M)
subroutine Mesh_destroyHash (M)
real(kind=rk), private hashfn (ii, jj, M)
subroutine Mesh_buildDualAdjncy (M, nedges, xadj, adjncy)
subroutine Mesh_partitionDual (M, nparts, method, part_options)
subroutine Mesh_calcElemsInParts (M)
subroutine, private Mesh_MapsAndNghbrs (M)
subroutine, private Mesh_findNghbrs (M)
subroutine, private Mesh_findNLF (M)
subroutine Mesh_buldMapsNghbrsMasksNLF (M)
subroutine Mesh_paramsMPIISEND (M)
subroutine Mesh_paramsMPIRECV (M)
subroutine Mesh_paramsMPIBCAST (M)
subroutine Mesh_dataMPIISENDRECV (M, nfrelt, mhead, freemap, coords, eptnmap, hash, freemask)
subroutine Mesh_printInfo (M)
subroutine Mesh_printElemFree (M)
subroutine Mesh_IVect_Print (x, str)

Variables

integer, parameter D_FREEDOM_INNER = 0
integer, parameter D_FREEDOM_INTERF = 1

Function/Subroutine Documentation

real(kind=rk),private Mesh_class::hashfn ( integer,intent(in)  ii,
integer,intent(in)  jj,
real(kind=rk),intent(in)  M 
) [private]

Definition at line 758 of file Mesh.F90.

Referenced by Mesh_buildDualAdjncy().

subroutine,private Mesh_class::Mesh_assessHash ( type(Mesh),intent(inout)  M) [private]

Definition at line 603 of file Mesh.F90.

References globals::D_MSGLVL, and globals::stream.

Referenced by Mesh_buildHash().

subroutine Mesh_class::Mesh_buildDualAdjncy ( type(Mesh),intent(inout)  M,
integer,intent(out)  nedges,
integer,dimension(:),pointer  xadj,
integer,dimension(:),pointer  adjncy 
)

Definition at line 778 of file Mesh.F90.

References globals::D_MSGLVL, DOUG_utils::DOUG_abort(), hashfn(), not, and globals::stream.

Referenced by Mesh_buildGraphDual().

subroutine Mesh_class::Mesh_buildGraphDual ( type(Mesh),intent(inout)  M)
subroutine Mesh_class::Mesh_buildHash ( type(Mesh),intent(inout)  M)

Definition at line 674 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), Mesh_assessHash(), and globals::stream.

Referenced by Mesh_buildGraphDual().

subroutine Mesh_class::Mesh_BuildSquare ( type(Mesh),intent(inout)  M,
integer,intent(in)  n 
)

Construct a rectangular mesh object for assembled 2D matrix.

Definition at line 328 of file Mesh.F90.

References Mesh_Init().

subroutine Mesh_class::Mesh_buldMapsNghbrsMasksNLF ( type(Mesh),intent(inout)  M)

Definition at line 1314 of file Mesh.F90.

References Mesh_MapsAndNghbrs().

subroutine Mesh_class::Mesh_calcElemsInParts ( type(Mesh),intent(inout)  M)

Definition at line 1073 of file Mesh.F90.

subroutine Mesh_class::Mesh_dataMPIISENDRECV ( type(Mesh),intent(inout)  M,
logical,intent(in),optional  nfrelt,
logical,intent(in),optional  mhead,
logical,intent(in),optional  freemap,
logical,intent(in),optional  coords,
logical,intent(in),optional  eptnmap,
logical,intent(in),optional  hash,
logical,intent(in),optional  freemask 
)
subroutine Mesh_class::Mesh_Destroy ( type(Mesh),intent(inout)  M)

Definition at line 247 of file Mesh.F90.

References DOUG_utils::ismaster(), and Mesh_destroyGraph().

Referenced by main_aggr(), main_geom(), and master_thread::master().

subroutine Mesh_class::Mesh_destroyGraph ( type(Mesh),intent(inout)  M)

Definition at line 592 of file Mesh.F90.

References Graph_class::Graph_Destroy().

Referenced by Mesh_Destroy().

subroutine Mesh_class::Mesh_destroyHash ( type(Mesh),intent(inout)  M)

Definition at line 740 of file Mesh.F90.

subroutine,private Mesh_class::Mesh_findNghbrs ( type(Mesh),intent(inout)  M) [private]

Definition at line 1223 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), globals::myrank, not, and globals::stream.

Referenced by Mesh_MapsAndNghbrs().

subroutine,private Mesh_class::Mesh_findNLF ( type(Mesh),intent(inout)  M) [private]

Definition at line 1268 of file Mesh.F90.

References globals::myrank, and not.

subroutine Mesh_class::Mesh_Init ( type(Mesh),intent(inout)  M,
integer,intent(in)  nell,
integer,intent(in)  ngf,
integer,intent(in)  nsd,
integer,intent(in)  mfrelt,
integer,intent(in)  nnode 
)
subroutine Mesh_class::Mesh_initFromFile ( type(Mesh),intent(inout)  M,
character*(*)  fnInfo 
)

Initialize mesh from a file.

File must contain 5 32-bit little endian integers:

  • nell - number of elements
  • ngf - number of global freedoms
  • nsd - number of spatial dimensions (ie 2 or 3)
  • mfrelt - maximum number of freedoms in node
  • nnode - number of nodes

Definition at line 293 of file Mesh.F90.

References globals::mctls, Mesh_Init(), Mesh_readFileFreelists(), and globals::sctls.

Referenced by Mesh_newInitFromFile().

subroutine Mesh_class::Mesh_IVect_Print ( integer,dimension(:),intent(in)  x,
character*(*),intent(in),optional  str 
)

Definition at line 1652 of file Mesh.F90.

References globals::stream.

subroutine,private Mesh_class::Mesh_MapsAndNghbrs ( type(Mesh),intent(inout)  M) [private]
type(Mesh) Mesh_class::Mesh_New ( )
type(Mesh) Mesh_class::Mesh_newInit ( integer,intent(in)  nell,
integer,intent(in)  ngf,
integer,intent(in)  nsd,
integer,intent(in)  mfrelt,
integer,intent(in)  nnode 
)

Definition at line 233 of file Mesh.F90.

References Mesh_Init(), and Mesh_New().

type(Mesh) Mesh_class::Mesh_newInitFromFile ( character*(*)  fnInfo)

Construct and initialise from a file.

Definition at line 355 of file Mesh.F90.

References Mesh_initFromFile(), and Mesh_New().

Referenced by master_thread::master().

subroutine Mesh_class::Mesh_paramsMPIBCAST ( type(Mesh),intent(inout)  M)

Definition at line 1391 of file Mesh.F90.

References DOUG_utils::ismaster(), and DOUG_utils::isslave().

subroutine Mesh_class::Mesh_paramsMPIISEND ( type(Mesh),intent(in)  M)

Definition at line 1332 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), DOUG_utils::ismaster(), not, and globals::numprocs.

subroutine Mesh_class::Mesh_paramsMPIRECV ( type(Mesh),intent(inout)  M)

Definition at line 1362 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), DOUG_utils::isslave(), and not.

subroutine Mesh_class::Mesh_partitionDual ( type(Mesh)  M,
integer,intent(in)  nparts,
integer,intent(in)  method,
integer,dimension(6),intent(in)  part_options 
)

Definition at line 1040 of file Mesh.F90.

References globals::D_MSGLVL, Graph_class::Graph_Partition(), and globals::stream.

subroutine Mesh_class::Mesh_printElemFree ( type(Mesh),intent(in)  M)

Definition at line 1597 of file Mesh.F90.

References not, and globals::stream.

subroutine Mesh_class::Mesh_printInfo ( type(Mesh),intent(in)  M)

Definition at line 1567 of file Mesh.F90.

References globals::stream.

Referenced by main_aggr(), and master_thread::master().

subroutine Mesh_class::Mesh_readFileCoords ( type(Mesh),intent(inout)  M,
character*(*)  fnCoords 
)

Reads in nodes coordinates.

Todo:
document input format

Definition at line 472 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), not, and globals::stream.

Referenced by Mesh_readFromFile().

subroutine Mesh_class::Mesh_readFileFreelists ( type(Mesh),intent(inout)  M,
character*(*)  fnFreelists 
)

Reads in element nodes numbering file, allocates and fills in 'nfrelt' and 'mhead'.

Todo:
document input format

Definition at line 425 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), not, and globals::stream.

Referenced by Mesh_initFromFile(), and Mesh_readFromFile().

subroutine Mesh_class::Mesh_readFileFreemap ( type(Mesh),intent(inout)  M,
character*(*)  fnFreemap 
)

Reads in data associated with freedoms.

Todo:
document input format

Definition at line 501 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), not, and globals::stream.

Referenced by Mesh_readFromFile().

subroutine Mesh_class::Mesh_readFileFreemask ( type(Mesh),intent(inout)  M,
character*(*)  fnFreemask 
)

Reads in data associated with freedoms' block structure.

Todo:
document input format

Definition at line 531 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), not, and globals::stream.

Referenced by Mesh_readFromFile().

subroutine Mesh_class::Mesh_readFromFile ( type(Mesh),intent(inout)  M,
character*(*),optional  fnFreelists,
character*(*),optional  fnCoords,
character*(*),optional  fnFreemap,
character*(*),optional  fnFreemask 
)

Read mesh from files several files in order.

Definition at line 370 of file Mesh.F90.

References DOUG_utils::DOUG_abort(), Mesh_readFileCoords(), Mesh_readFileFreelists(), Mesh_readFileFreemap(), Mesh_readFileFreemask(), not, and or().

Referenced by master_thread::master().


Variable Documentation

integer,parameter Mesh_class::D_FREEDOM_INNER = 0
integer,parameter Mesh_class::D_FREEDOM_INTERF = 1