OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class implements the class NumericalMethod instance FETI linear algebraic equation parallel solver. More...
#include <fetisolver.h>
Private Attributes | |
int | nse |
int | ni |
Max number of iterations. More... | |
double | err |
Max allowed error. More... | |
double | limit |
Linear dep./indep. trigger. More... | |
FloatMatrix | rbm |
Rigid body motions. More... | |
FloatMatrix | l |
Rigid body motions of all partitions. On master only. More... | |
IntArray | se |
Indices of singular equations. More... | |
IntArray | rbmAddr |
Addresses of initial partition contribution to rbm matrix. More... | |
FloatArray | w |
Primary unknowns. More... | |
FloatArray | |
FloatArray | q |
FloatArray | dd |
FloatArray | g |
FloatArray | d |
FloatArray | p |
FloatArray | pp |
FloatArray | gamma |
FloatArray | localGammas |
IntArray | nsem |
ProcessCommunicatorBuff | pcbuff |
ProcessCommunicator | processCommunicator |
CommunicatorBuff * | commBuff |
Common Communicator buffer. More... | |
FETICommunicator * | masterCommunicator |
IntArray | masterCommMap |
List of local nodes (at master) participating in communication (list of boundary dof managers). More... | |
int | energyNorm_comput_flag |
Flag indicating computation of energy norm. More... | |
Additional Inherited Members | |
Protected Attributes inherited from oofem::NumericalMethod | |
Domain * | domain |
Pointer to domain. More... | |
EngngModel * | engngModel |
Pointer to engineering model. More... | |
This class implements the class NumericalMethod instance FETI linear algebraic equation parallel solver.
Definition at line 67 of file fetisolver.h.
anonymous enum |
Definition at line 151 of file fetisolver.h.
oofem::FETISolver::FETISolver | ( | Domain * | d, |
EngngModel * | m | ||
) |
Definition at line 49 of file fetisolver.C.
References energyNorm_comput_flag, err, and ni.
|
virtual |
Definition at line 57 of file fetisolver.C.
References commBuff, oofem::NumericalMethod::engngModel, oofem::EngngModel::giveRank(), and masterCommunicator.
int oofem::FETISolver::estimateMaxPackSize | ( | IntArray & | map, |
DataStream & | buff, | ||
int & | packUnpackType | ||
) |
Definition at line 67 of file fetisolver.C.
References oofem::NumericalMethod::domain, FETISOLVER_MAX_RBM, oofem::FETICommunicator::giveDofManager(), oofem::Domain::giveDofManager(), oofem::Domain::giveEngngModel(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::DataStream::givePackSizeOfDouble(), oofem::EngngModel::giveRank(), and masterCommunicator.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 123 of file fetisolver.h.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 124 of file fetisolver.h.
References masterMapDirectionVector(), masterMapGammas(), masterMapPPVector(), masterMapQQProduct(), masterMapRBM(), masterMapResiduals(), masterMapSolution(), masterUnpackQQProduct(), masterUnpackRBM(), packDirectionVector(), packGammas(), packPPVector(), packQQProducts(), packRBM(), packResiduals(), packSolution(), projection(), oofem::ST_Feti, unpackDirectionVector(), unpackGammas(), unpackPPVector(), unpackResiduals(), and unpackSolution().
|
inlinevirtual |
Returns the recommended sparse matrix type for this solver.
Implements oofem::SparseLinearSystemNM.
Definition at line 152 of file fetisolver.h.
References oofem::SMT_Skyline, and oofem::SMT_SkylineU.
|
virtual |
Reimplemented from oofem::NumericalMethod.
Definition at line 93 of file fetisolver.C.
References _IFT_FETISolver_energynormflag, _IFT_FETISolver_limit, _IFT_FETISolver_maxerr, _IFT_FETISolver_maxiter, energyNorm_comput_flag, err, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, limit, and ni.
int oofem::FETISolver::masterMapDirectionVector | ( | ) |
Definition at line 808 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), d, dd, oofem::NumericalMethod::domain, oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::DofManager::giveCompleteLocationArray(), oofem::FETICommunicator::giveDofManager(), oofem::Domain::giveDofManager(), oofem::FETICommunicator::giveMasterCommMapPtr(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), masterCommMap, masterCommunicator, and OOFEM_ERROR.
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterMapGammas | ( | ) |
Definition at line 1037 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), gamma, localGammas, nse, rbmAddr, and oofem::FloatArray::resize().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterMapPPVector | ( | ) |
Definition at line 944 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::NumericalMethod::domain, oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::DofManager::giveCompleteLocationArray(), oofem::FETICommunicator::giveDofManager(), oofem::Domain::giveDofManager(), oofem::FETICommunicator::giveMasterCommMapPtr(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), masterCommMap, masterCommunicator, OOFEM_ERROR, p, and pp.
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterMapQQProduct | ( | ) |
Definition at line 432 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), nsem, q, qq, and rbmAddr.
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterMapRBM | ( | ) |
Definition at line 330 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatMatrix::at(), oofem::NumericalMethod::domain, oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::DofManager::giveCompleteLocationArray(), oofem::FETICommunicator::giveDofManager(), oofem::Domain::giveDofManager(), oofem::FETICommunicator::giveMasterCommMapPtr(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), l, masterCommMap, masterCommunicator, nsem, OOFEM_ERROR, rbm, and rbmAddr.
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterMapResiduals | ( | ) |
Definition at line 666 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::NumericalMethod::domain, g, oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::DofManager::giveCompleteLocationArray(), oofem::FETICommunicator::giveDofManager(), oofem::Domain::giveDofManager(), oofem::FETICommunicator::giveMasterCommMapPtr(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), masterCommMap, masterCommunicator, OOFEM_ERROR, and pp.
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterMapSolution | ( | ) |
Definition at line 529 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), dd, oofem::NumericalMethod::domain, oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::DofManager::giveCompleteLocationArray(), oofem::FETICommunicator::giveDofManager(), oofem::Domain::giveDofManager(), oofem::FETICommunicator::giveMasterCommMapPtr(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), masterCommMap, masterCommunicator, OOFEM_ERROR, and w.
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterUnpackQQProduct | ( | ProcessCommunicator & | processComm | ) |
Definition at line 410 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveRank(), oofem::ProcessCommunicatorBuff::giveRecvBuff(), nsem, q, rbmAddr, and oofem::CommunicationBuffer::read().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::masterUnpackRBM | ( | ProcessCommunicator & | processComm | ) |
Definition at line 281 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatMatrix::at(), oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::FETICommunicator::giveDofManager(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveRank(), oofem::ProcessCommunicatorBuff::giveRecvBuff(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToRecvMap(), l, masterCommunicator, nsem, rbmAddr, and oofem::CommunicationBuffer::read().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::packDirectionVector | ( | ProcessCommunicator & | processComm | ) |
Definition at line 729 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), d, oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::FETIBoundaryDofManager::giveCompleteLocationArray(), oofem::FETICommunicator::giveDofManager(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveRank(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::ProcessCommunicatorBuff::giveSendBuff(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToSendMap(), masterCommunicator, and oofem::CommunicationBuffer::write().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::packGammas | ( | ProcessCommunicator & | processComm | ) |
Definition at line 1005 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), gamma, oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveRank(), oofem::ProcessCommunicatorBuff::giveSendBuff(), nsem, rbmAddr, and oofem::CommunicationBuffer::write().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::packPPVector | ( | ProcessCommunicator & | processComm | ) |
Definition at line 867 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::NumericalMethod::domain, oofem::Domain::giveDofManager(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicatorBuff::giveSendBuff(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToSendMap(), pp, and oofem::CommunicationBuffer::write().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::packQQProducts | ( | ProcessCommunicator & | processComm | ) |
Definition at line 395 of file fetisolver.C.
References oofem::FloatArray::at(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicatorBuff::giveSendBuff(), nse, qq, and oofem::CommunicationBuffer::write().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::packRBM | ( | ProcessCommunicator & | processComm | ) |
Definition at line 249 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatMatrix::at(), oofem::NumericalMethod::domain, oofem::Domain::giveDofManager(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicatorBuff::giveSendBuff(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToSendMap(), nse, rbm, and oofem::CommunicationBuffer::write().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::packResiduals | ( | ProcessCommunicator & | processComm | ) |
Definition at line 589 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::NumericalMethod::domain, oofem::Domain::giveDofManager(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicatorBuff::giveSendBuff(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToSendMap(), pp, and oofem::CommunicationBuffer::write().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::packSolution | ( | ProcessCommunicator & | processComm | ) |
Definition at line 446 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::FETIBoundaryDofManager::giveCompleteLocationArray(), oofem::FETICommunicator::giveDofManager(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveRank(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::ProcessCommunicatorBuff::giveSendBuff(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToSendMap(), masterCommunicator, w, and oofem::CommunicationBuffer::write().
Referenced by giveLinSystSolverType(), and solve().
void oofem::FETISolver::projection | ( | FloatArray & | v, |
FloatMatrix & | l, | ||
FloatMatrix & | l1 | ||
) |
Definition at line 221 of file fetisolver.C.
References oofem::FloatArray::beProductOf(), oofem::FloatArray::beTProductOf(), and oofem::FloatArray::subtract().
Referenced by giveLinSystSolverType(), and solve().
void oofem::FETISolver::setUpCommunicationMaps | ( | ) |
Sets up the communication maps.
Definition at line 118 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FETICommunicator::BoundaryDofManagersRecMsg, commBuff, oofem::DofManager_shared, oofem::NumericalMethod::domain, oofem::DofManager::giveCompleteLocationArray(), oofem::Domain::giveDofManager(), oofem::NumericalMethod::giveEngngModel(), oofem::Domain::giveEngngModel(), oofem::DofManager::giveGlobalNumber(), oofem::Domain::giveNumberOfDofManagers(), oofem::CommunicationBuffer::givePackSizeOfInt(), oofem::DofManager::giveParallelMode(), oofem::EngngModel::giveRank(), oofem::IntArray::giveSize(), oofem::StaticCommunicationBuffer::init(), oofem::StaticCommunicationBuffer::iSend(), masterCommMap, oofem::FETICommunicator::NumberOfBoundaryDofManagersMsg, OOFEM_LOG_DEBUG, processCommunicator, oofem::IntArray::resize(), oofem::StaticCommunicationBuffer::resize(), oofem::ProcessCommunicator::setToRecvArry(), oofem::ProcessCommunicator::setToSendArry(), and oofem::StaticCommunicationBuffer::write().
Referenced by solve().
|
virtual |
Solves the given linear system by LDL^T factorization.
Implementation rely on factorization support provided by mapped sparse matrix. It calls Lhs->factorized()->backSubstitutionWith(*solutionArray). Sets solved flag to 1 if o.k.
A | Coefficient matrix |
b | Right hand side |
x | Solution array |
Implements oofem::SparseLinearSystemNM.
Definition at line 1052 of file fetisolver.C.
References oofem::FloatArray::add(), oofem::IntArray::at(), oofem::FloatArray::at(), oofem::StaticCommunicationBuffer::bcast(), oofem::FloatMatrix::beInverseOf(), oofem::FloatArray::beProductOf(), oofem::FloatArray::beTProductOf(), oofem::FloatMatrix::beTProductOf(), commBuff, oofem::FloatArray::computeSquaredNorm(), d, dd, DirectionVectorMessage, oofem::NumericalMethod::domain, oofem::FloatArray::dotProduct(), energyNorm_comput_flag, oofem::NumericalMethod::engngModel, err, FETISOLVER_ZERONUM, FETISolverIterationBreak, FETISolverIterationContinue, g, gamma, GammasMessage, oofem::NumericalMethod::giveEngngModel(), oofem::Domain::giveEngngModel(), oofem::FETICommunicator::giveNumberOfDomainEquations(), oofem::EngngModel::giveNumberOfProcesses(), oofem::SparseMtrx::giveNumberOfRows(), oofem::CommunicationBuffer::givePackSizeOfInt(), oofem::EngngModel::giveRank(), oofem::FloatArray::giveSize(), oofem::StaticCommunicationBuffer::init(), oofem::Communicator::initReceive(), oofem::ProcessCommunicator::initReceive(), oofem::Communicator::initSend(), oofem::ProcessCommunicator::initSend(), oofem::StaticCommunicationBuffer::iRecv(), oofem::StaticCommunicationBuffer::iSend(), l, oofem::Skyline::ldl_feti_sky(), limit, localGammas, masterCommunicator, masterMapDirectionVector(), masterMapGammas(), masterMapPPVector(), masterMapQQProduct(), masterMapRBM(), masterMapResiduals(), masterMapSolution(), masterUnpackQQProduct(), masterUnpackRBM(), oofem::FloatArray::negated(), oofem::FloatMatrix::negated(), ni, NM_Success, nse, nsem, NumberOfRBMMsg, OOFEM_ERROR, OOFEM_LOG_DEBUG, OOFEM_LOG_INFO, OOFEM_LOG_RELEVANT, p, oofem::Communicator::packAllData(), oofem::ProcessCommunicator::packData(), packDirectionVector(), packGammas(), packPPVector(), packQQProducts(), packRBM(), packResiduals(), packSolution(), pp, PPVectorMessage, processCommunicator, projection(), q, qq, QQMessage, rbm, rbmAddr, RBMMessage, oofem::Skyline::rbmodes(), oofem::StaticCommunicationBuffer::read(), oofem::ProcessCommunicator::receiveCompleted(), ResidualMessage, oofem::IntArray::resize(), oofem::FloatArray::resize(), oofem::StaticCommunicationBuffer::resize(), oofem::FloatMatrix::resize(), se, oofem::FETICommunicator::setUpCommunicationMaps(), setUpCommunicationMaps(), SolutionMessage, oofem::FloatArray::subtract(), oofem::StaticCommunicationBuffer::testCompletion(), oofem::Communicator::unpackAllData(), oofem::ProcessCommunicator::unpackData(), unpackDirectionVector(), unpackGammas(), unpackPPVector(), unpackResiduals(), unpackSolution(), w, oofem::StaticCommunicationBuffer::write(), oofem::FloatArray::zero(), oofem::FloatMatrix::zero(), and oofem::IntArray::zero().
int oofem::FETISolver::unpackDirectionVector | ( | ProcessCommunicator & | processComm | ) |
Definition at line 779 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), dd, oofem::NumericalMethod::domain, oofem::Domain::giveDofManager(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicatorBuff::giveRecvBuff(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToRecvMap(), and oofem::CommunicationBuffer::read().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::unpackGammas | ( | ProcessCommunicator & | processComm | ) |
Definition at line 1022 of file fetisolver.C.
References oofem::FloatArray::at(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicatorBuff::giveRecvBuff(), localGammas, nse, oofem::CommunicationBuffer::read(), and oofem::FloatArray::resize().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::unpackPPVector | ( | ProcessCommunicator & | processComm | ) |
Definition at line 895 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::FETICommunicator::giveDofManager(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveRank(), oofem::ProcessCommunicatorBuff::giveRecvBuff(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToRecvMap(), masterCommunicator, p, and oofem::CommunicationBuffer::read().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::unpackResiduals | ( | ProcessCommunicator & | processComm | ) |
Definition at line 617 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), g, oofem::FETIBoundaryDofManager::giveCodeNumber(), oofem::FETICommunicator::giveDofManager(), oofem::FETIBoundaryDofManager::giveNumberOfDofs(), oofem::FETIBoundaryDofManager::giveNumberOfSharedPartitions(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveRank(), oofem::ProcessCommunicatorBuff::giveRecvBuff(), oofem::FETIBoundaryDofManager::giveReferencePratition(), oofem::FETIBoundaryDofManager::giveSharedPartition(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToRecvMap(), masterCommunicator, and oofem::CommunicationBuffer::read().
Referenced by giveLinSystSolverType(), and solve().
int oofem::FETISolver::unpackSolution | ( | ProcessCommunicator & | processComm | ) |
Definition at line 495 of file fetisolver.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), dd, oofem::NumericalMethod::domain, oofem::DofManager::giveCompleteLocationArray(), oofem::Domain::giveDofManager(), oofem::NumericalMethod::giveEngngModel(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicatorBuff::giveRecvBuff(), oofem::IntArray::giveSize(), oofem::ProcessCommunicator::giveToRecvMap(), OOFEM_LOG_DEBUG, and oofem::CommunicationBuffer::read().
Referenced by giveLinSystSolverType(), and solve().
|
private |
Common Communicator buffer.
Definition at line 95 of file fetisolver.h.
Referenced by setUpCommunicationMaps(), solve(), and ~FETISolver().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapDirectionVector(), packDirectionVector(), and solve().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapDirectionVector(), masterMapSolution(), solve(), unpackDirectionVector(), and unpackSolution().
|
private |
Flag indicating computation of energy norm.
Definition at line 100 of file fetisolver.h.
Referenced by FETISolver(), initializeFrom(), and solve().
|
private |
Max allowed error.
Definition at line 74 of file fetisolver.h.
Referenced by FETISolver(), initializeFrom(), and solve().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapResiduals(), solve(), and unpackResiduals().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapGammas(), packGammas(), and solve().
|
private |
Rigid body motions of all partitions. On master only.
Definition at line 80 of file fetisolver.h.
Referenced by masterMapRBM(), masterUnpackRBM(), and solve().
|
private |
Linear dep./indep. trigger.
Definition at line 76 of file fetisolver.h.
Referenced by initializeFrom(), and solve().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapGammas(), solve(), and unpackGammas().
|
private |
List of local nodes (at master) participating in communication (list of boundary dof managers).
Definition at line 98 of file fetisolver.h.
Referenced by masterMapDirectionVector(), masterMapPPVector(), masterMapRBM(), masterMapResiduals(), masterMapSolution(), and setUpCommunicationMaps().
|
private |
Definition at line 96 of file fetisolver.h.
Referenced by estimateMaxPackSize(), masterMapDirectionVector(), masterMapPPVector(), masterMapRBM(), masterMapResiduals(), masterMapSolution(), masterUnpackRBM(), packDirectionVector(), packSolution(), solve(), unpackPPVector(), unpackResiduals(), and ~FETISolver().
|
private |
Max number of iterations.
Definition at line 72 of file fetisolver.h.
Referenced by FETISolver(), initializeFrom(), and solve().
|
private |
Definition at line 70 of file fetisolver.h.
Referenced by masterMapGammas(), packQQProducts(), packRBM(), solve(), and unpackGammas().
|
private |
Definition at line 90 of file fetisolver.h.
Referenced by masterMapQQProduct(), masterMapRBM(), masterUnpackQQProduct(), masterUnpackRBM(), packGammas(), and solve().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapPPVector(), solve(), and unpackPPVector().
|
private |
Definition at line 92 of file fetisolver.h.
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapPPVector(), masterMapResiduals(), packPPVector(), packResiduals(), and solve().
|
private |
Definition at line 93 of file fetisolver.h.
Referenced by setUpCommunicationMaps(), and solve().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapQQProduct(), masterUnpackQQProduct(), and solve().
|
private |
Definition at line 88 of file fetisolver.h.
Referenced by masterMapQQProduct(), packQQProducts(), and solve().
|
private |
Rigid body motions.
Definition at line 78 of file fetisolver.h.
Referenced by masterMapRBM(), packRBM(), and solve().
|
private |
Addresses of initial partition contribution to rbm matrix.
Definition at line 84 of file fetisolver.h.
Referenced by masterMapGammas(), masterMapQQProduct(), masterMapRBM(), masterUnpackQQProduct(), masterUnpackRBM(), packGammas(), and solve().
|
private |
|
private |
Primary unknowns.
Definition at line 86 of file fetisolver.h.
Referenced by masterMapSolution(), packSolution(), and solve().