Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
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 |
subroutine parallelutils::parallelactive | ( | logical | L) |
References sparitercomm::spariteractive(), and sparitercomm::spariterbarrier().
Referenced by blocksolve::blocksolveint(), mainutils::blocksolver(), multigrid::msolveractivate(), parallelreduction(), and mainutils::singlesolver().
subroutine parallelutils::parallelactivebarrier | ( | ) |
References sparitercomm::spariteractivebarrier().
Referenced by fetisolve::feti(), fetisolve::fetiproject(), fetisolve::fetistopc(), and fetisolve::saveb().
subroutine parallelutils::parallelallreduceand | ( | logical | L) |
References sparitercomm::spariterallreduceand().
Referenced by solvecoupled(), and solverutils::solvesystem().
subroutine parallelutils::parallelbarrier | ( | ) |
References sparitercomm::spariterbarrier().
Referenced by mainutils::solveequations().
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().
subroutine parallelutils::parallelfinalize | ( | ) |
References sparitercomm::parenvfinalize().
Referenced by elmersolver(), and fetisolve::feti().
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().
type (parenv_t) function, pointer parallelutils::parallelinit | ( | ) |
References sparitercomm::parcomminit().
Referenced by elmersolver().
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().
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().
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().
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().
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().
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().
real(kind=dp) function parallelutils::parallelreduction | ( | real(kind=dp) | R, |
integer, optional | oper_arg | ||
) |
References parallelactive(), and sparitercomm::sparactivesum().
Referenced by calculatelumped(), particleutils::characteristicspeed(), multigrid::cmgsolve(), solverutils::computenorm(), creategridparticles(), distancesolver1(), elmerpostoutputsolver(), fetisolve::feti(), fetisolve::fetiproject(), generalcurrent(), multigrid::gmgsolve(), particleutils::initializeparticles(), magnetodynamics2d(), magnetodynamics2dharmonic(), magnetodynamicscalcfields(), optimalmatrixscaling(), parallelinitmatrix(), parallelprojecttoplane(), particleutils::particleinformation(), particleutils::particlestatistics(), solverutils::rowequilibration(), savescalars(), solverutils::scalelinearsystem(), solverutils::setdirichletboundaries(), solverutils::setnodalloads(), solverutils::solvelinearsystem(), statcurrentsolver(), vtuoutputsolver(), and writepvtufile().
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().
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().
subroutine parallelutils::parallelupdaterhs | ( | type(matrix_t), pointer | Matrix, |
real(kind=dp), dimension(:) | b | ||
) |
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().
subroutine parallelutils::parallelvector | ( | type(matrix_t), intent(in) | A, |
real(kind=dp), dimension(:), intent(inout) | vec | ||
) |
Referenced by solverutils::computechange(), and gcrupdate().