-
Notifications
You must be signed in to change notification settings - Fork 12
Commonly used SF and vectors in mef90
Blaise Bourdin edited this page Jun 6, 2023
·
7 revisions
Boundary conditions are handled using PETSc constraints. As such, constrained degrees of freedom are eliminated from Global
but not from Local
vectors. In order to perform IO operations, we must add back the constrained dof and renumber / redistribute the vectors so that the ordering matches that of the input file and the distribution allows load-balance parallel IO.
-
local
: Petsc local vector with constraints (non-collective) -
global
: Petsc global vector without constraints (collective) -
cglobal
: Petsc global vector with constraints (collective) -
natural
:cglobal
reordered in the initial DM ordering (collective, all values on processor 0) -
IO
:natural
load-balanced (collective)
cglobal
and natural
vectors are internal only. IO
is only needed in order to implement new file formats
-
XXXToIOSF
,IOToXXXSF
: used to copy fromlocal
toIO
vectors and back usingMEF90VecCopySF
-
XXXConstraintsSF
: used to copy constrained values betweenlocal
vectors usingMEF90VecCopySF
-
MEF90IOSFCreate
: Create theSF
to move data from alocal
vector onto anIO
vector saved as nodal or zonal values over the whole domain. -
MEF90FaceSetIOSFCreate
: Create theSF
to move data from alocal
vector onto anIO
vector saved as zonal values over all face sets. -
MEF90ConstraintSFCreate
: Create theSF
to move data at constrained degrees of freedom between twolocal
vectors -
CreateNaturalToIOSF_Private
: create a SF used to broadcast from anatural
to anIO
vector (generalization ofVecScatterToZero
usingSF
and respecting block size -
CreateLocalToCGlobalSF_Private
: Create thelocal
tocglobal
SF -
CreateCGlobalToLocalSF_Private
: Create the SF to broadcast fromcglobal
tolocal
-
CreateSideSF_Private
: equivalent of a natural ordering of sides in exodus side sets
-
MEF90VecCopySF
: wraps calls toVecGetArray
,SFBroadcast
, andVecRestoreArray
. Can be used to copy the constrained values from onelocal
vector into anotherlocal
vector or to copy values from alocal
vector into anIO
vector. -
MEF90VecGlobalToLocalConstraint(g,c,l)
: givenglobal
vectorg
, and two local vectorsc
andl
, copy all unconstrained values ofg
and all constrained values ofc
intol
-
MEF90VecCreateIO(v,bs,sf)
: create anIO
vector given theXXXToIOSF
and block sizebs
(the parallel data layout of theIO
vector is given by the leaves of thesf
.
-
MEF90VecSetValuesFromOptions
: Fill values of alocal
vector using command line options -
MEF90VecSetBCValuesFromOptions
: Fill constrained values of alocal
vector using command line options