Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
 All Classes Files Functions Variables Typedefs Macros Groups Pages
parallelutils Module Reference

Public Member Functions

type(parenv_t) function, pointer parallelinit ()
 
subroutine parallelfinalize ()
 
subroutine parallelinitmatrix (Solver, Matrix)
 
subroutine parallelinitsolve (Matrix, x, b, r, Update)
 
subroutine parallelsumvector (Matrix, x, Op)
 
subroutine parallelupdatesolve (Matrix, x, r)
 
subroutine parallelmatrixvector (Matrix, x, b, Update, UseMassVals)
 
subroutine parallelvector (A, vec)
 
subroutine parallelupdateresult (Matrix, x, r)
 
subroutine parallelupdaterhs (Matrix, b)
 
type(matrix_t) function, pointer parallelmatrix (A, x, b, r)
 
real(kind=dp) function parallelnorm (n, x)
 
real(kind=dp) function paralleldot (n, x, y)
 
subroutine parallelglobalnumbering (Mesh, OldMesh, NewNodes, IntCnts, IntArray, Reorder)
 
subroutine paralleliter (SourceMatrix, ParallelInfo, DOFs, XVec, RHSVec, Solver, SParMatrixDesc)
 
subroutine parallelactive (L)
 
subroutine parallelallreduceand (L)
 
real(kind=dp) function parallelreduction (R, oper_arg)
 
subroutine parallelbarrier
 
subroutine parallelactivebarrier
 

Member Function/Subroutine Documentation

subroutine parallelutils::parallelactive ( logical  L)

References sparitercomm::spariteractive(), and sparitercomm::spariterbarrier().

Referenced by blocksolve::blocksolveint(), mainutils::blocksolver(), multigrid::msolveractivate(), parallelreduction(), and mainutils::singlesolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelactivebarrier ( )

References sparitercomm::spariteractivebarrier().

Referenced by fetisolve::feti(), fetisolve::fetiproject(), fetisolve::fetistopc(), and fetisolve::saveb().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelallreduceand ( logical  L)

References sparitercomm::spariterallreduceand().

Referenced by solvecoupled(), and solverutils::solvesystem().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelbarrier ( )

References sparitercomm::spariterbarrier().

Referenced by mainutils::solveequations().

Here is the call graph for this function:

Here is the caller graph for this function:

real(kind=dp) function parallelutils::paralleldot ( integer  n,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  y 
)

References sparitercomm::spardotprod().

Referenced by paralleleigensolve::mgdot(), mgdot(), and mydot().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelfinalize ( )

References sparitercomm::parenvfinalize().

Referenced by elmersolver(), and fetisolve::feti().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelglobalnumbering ( type(mesh_t)  Mesh,
type(mesh_t)  OldMesh,
integer  NewNodes,
integer, dimension(:)  IntCnts,
integer, dimension(:)  IntArray,
integer, dimension(:)  Reorder 
)

References sparitercomm::sparglobalnumbering().

Referenced by updateparallelmesh().

Here is the call graph for this function:

Here is the caller graph for this function:

type (parenv_t) function, pointer parallelutils::parallelinit ( )

References sparitercomm::parcomminit().

Referenced by elmersolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelinitmatrix ( type(solver_t)  Solver,
type(matrix_t), pointer  Matrix 
)

References lists::listgetlogical(), parallelreduction(), sparitersolve::parinitmatrix(), and solver().

Referenced by mainutils::addequationsolution(), blocksolve::blocksolveint(), mainutils::blocksolver(), solverutils::checknormaltangentialboundary(), eliminatedirichlet(), eliminateperiodic(), modeldescription::getnodalelementsize(), multigrid::gmgsolve(), optimalsolutionupdate(), radiationfactors(), adaptive::refinemesh(), mainutils::singlesolver(), solverutils::solvelinearsystem(), solverutils::solvesystem(), and stokessolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelinitsolve ( type(matrix_t), pointer  Matrix,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  b,
real(kind=dp), dimension(:)  r,
logical, optional  Update 
)

References sparitersolve::sparinitsolve().

Referenced by multigrid::amgsolve(), blocksolve::blockkryloviter(), multigrid::cmgsolve(), computevarloads(), freesurfacesolver(), multigrid::gmgsolve(), optimalsolutionupdate(), paralleleigensolve::parallelarpackeigensolve(), multigrid::pmgsolve(), solverutils::solvelinearsystem(), and stokessolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::paralleliter ( type (matrix_t)  SourceMatrix,
type (parallelinfo_t)  ParallelInfo,
integer  DOFs,
real(kind=dp), dimension(:)  XVec,
real(kind=dp), dimension(:)  RHSVec,
type (solver_t)  Solver,
type (sparitersolverglobald_t), pointer  SParMatrixDesc 
)

References solver(), and sparitersolve::sparitersolver().

Referenced by multigrid::amgsolve(), multigrid::cmgsolve(), modeldescription::getnodalelementsize(), multigrid::gmgsolve(), multigrid::pmgsolve(), and solverutils::solvelinearsystem().

Here is the call graph for this function:

Here is the caller graph for this function:

type(matrix_t) function, pointer parallelutils::parallelmatrix ( type(matrix_t), pointer  A,
real(kind=dp), dimension(:), optional, pointer  x,
real(kind=dp), dimension(:), optional, pointer  b,
real(kind=dp), dimension(:), optional, pointer  r 
)

Referenced by multigrid::amgsolve(), paralleleigensolve::bicgpareigen(), paralleleigensolve::cgpareigen(), multigrid::cmgsolve(), fetisolve::fetistopc(), multigrid::gmgsolve(), smoothers::mgsmooth(), optimalsolutionupdate(), paralleleigensolve::parallelarpackeigensolve(), multigrid::pmgsolve(), and stokessolver().

Here is the caller graph for this function:

subroutine parallelutils::parallelmatrixvector ( type(matrix_t), pointer  Matrix,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  b,
logical, optional  Update,
logical, optional  UseMassVals 
)

References savematrix(), sparitersolve::sparmatrixvector(), and sparitersolve::sparupdateresult().

Referenced by amgsweep(), blocksolve::blockmatrixprec(), blocksolve::blockmatrixvectorprod(), cmgsweep(), computevarloads(), fetisolve::fetistopc(), freesurfacesolver(), paralleleigensolve::mgmv(), mgmv(), mymv(), pmgsweep(), and solverutils::solvelinearsystem().

Here is the call graph for this function:

Here is the caller graph for this function:

real(kind=dp) function parallelutils::parallelnorm ( integer  n,
real(kind=dp), dimension(:)  x 
)

References sparitercomm::sparnorm().

Referenced by amgsweep(), cmgsweep(), solverutils::computechange(), fetisolve::fetistopc(), paralleleigensolve::mgnorm(), mgnorm(), mynorm(), and pmgsweep().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelsumvector ( type(matrix_t)  Matrix,
real(kind=dp), dimension(:)  x,
integer, optional  Op 
)

References sparitercomm::exchangesourcevec().

Referenced by computevarloads(), freesurfacesolver(), optimalmatrixscaling(), solverutils::rowequilibration(), solverutils::scalelinearsystem(), and solverutils::solvelinearsystem().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelupdateresult ( type(matrix_t), pointer  Matrix,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  r 
)

References sparitersolve::sparupdateresult().

Referenced by multigrid::amgsolve(), blocksolve::blockkryloviter(), multigrid::cmgsolve(), multigrid::gmgsolve(), smoothers::mgsmooth(), optimalsolutionupdate(), paralleleigensolve::parallelarpackeigensolve(), multigrid::pmgsolve(), and stokessolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelupdaterhs ( type(matrix_t), pointer  Matrix,
real(kind=dp), dimension(:)  b 
)

References sparitersolve::sparupdaterhs().

Here is the call graph for this function:

subroutine parallelutils::parallelupdatesolve ( type(matrix_t), pointer  Matrix,
real(kind=dp), dimension(:)  x,
real(kind=dp), dimension(:)  r 
)

References sparitersolve::sparupdatesolve().

Referenced by fetisolve::fetistopc(), smoothers::mgsmooth(), optimalsolutionupdate(), and stokessolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallelutils::parallelvector ( type(matrix_t), intent(in)  A,
real(kind=dp), dimension(:), intent(inout)  vec 
)

Referenced by solverutils::computechange(), and gcrupdate().

Here is the caller graph for this function:


The documentation for this module was generated from the following file: