Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::TimeProblem< SC, LO, GO, NO > Class Template Reference
Inheritance diagram for FEDD::TimeProblem< SC, LO, GO, NO >:

Public Types

typedef Problem< SC, LO, GO, NO > Problem_Type
typedef Teuchos::RCP< Problem_Type > ProblemPtr_Type
typedef Problem_Type::CommConstPtr_Type CommConstPtr_Type
typedef Problem_Type::Map_Type Map_Type
typedef Problem_Type::MapPtr_Type MapPtr_Type
typedef Problem_Type::MapConstPtr_Type MapConstPtr_Type
typedef Problem_Type::Matrix_Type Matrix_Type
typedef Problem_Type::MatrixPtr_Type MatrixPtr_Type
typedef Teuchos::RCP< const Matrix_Type > MatrixConstPtr_Type
typedef Problem_Type::BlockMatrix_Type BlockMatrix_Type
typedef Problem_Type::BlockMatrixPtr_Type BlockMatrixPtr_Type
typedef Problem_Type::BlockMatrixConstPtr_Type BlockMatrixConstPtr_Type
typedef Teuchos::Array< BlockMatrixPtr_Type > BlockMatrixPtrArray_Type
typedef Problem_Type::MultiVector_Type MultiVector_Type
typedef Problem_Type::MultiVectorPtr_Type MultiVectorPtr_Type
typedef Problem_Type::BlockMultiVector_Type BlockMultiVector_Type
typedef Problem_Type::BlockMultiVectorPtr_Type BlockMultiVectorPtr_Type
typedef Problem_Type::BlockMultiVectorConstPtr_Type BlockMultiVectorConstPtr_Type
typedef Teuchos::Array< BlockMultiVectorPtr_Type > BlockMultiVectorPtrArray_Type
typedef Problem_Type::DomainConstPtr_Type DomainConstPtr_Type
typedef Problem_Type::FEFac_Type FEFac_Type
typedef Teuchos::RCP< FEFac_Type > FEFacPtr_Type
typedef Teuchos::RCP< const FEFac_Type > FEFacConstPtr_Type
typedef Problem_Type::BCConstPtr_Type BCConstPtr_Type
typedef NonLinearProblem< SC, LO, GO, NO > NonLinProb_Type
typedef Teuchos::RCP< NonLinProb_Type > NonLinProbPtr_Type
typedef Problem_Type::Preconditioner_Type Preconditioner_Type
typedef Problem_Type::PreconditionerPtr_Type PreconditionerPtr_Type
typedef Problem_Type::LinSolverBuilderPtr_Type LinSolverBuilderPtr_Type
using TpetraTypes = TpetraTypedefs<SC,LO,GO,NO>
using TpetraMatrix_Type = typename TpetraTypes::TpetraMatrix_Type
using TpetraOp_Type = typename TpetraTypes::TpetraOp_Type
using ThyraTypes = ThyraTypedefs<SC>
using ThyraVecSpace_Type = typename ThyraTypes::ThyraVecSpace_Type
using ThyraVec_Type = typename ThyraTypes::ThyraVec_Type
typedef Thyra::BlockedLinearOpBase< SC > ThyraBlockOp_Type
using ThyraOp_Type = typename ThyraTypes::ThyraOp_Type

Public Member Functions

 TimeProblem (Problem_Type &problem, CommConstPtr_Type comm)
void setTimeDef (SmallMatrix< int > &def)
void assemble (std::string type="") const
virtual void reAssembleAndFill (BlockMatrixPtr_Type bMat, std::string type="FixedPoint")
void updateRhs ()
void updateMultistepRhs (vec_dbl_Type &coeff, int nmbToUse)
void updateMultistepRhsFSI (vec_dbl_Type &coeff, int nmbToUse)
void updateNewmarkRhs (double dt, double beta, double gamma, vec_dbl_Type coeff)
void combineSystems () const
void initializeCombinedSystems () const
void assembleMassSystem () const
void setTimeParameters (SmallMatrix< double > &daeParameters, SmallMatrix< double > &timeParameters)
int solveAndUpdate (const std::string &criterion, double &criterionValue)
int solveUpdate ()
int update ()
int solve (BlockMultiVectorPtr_Type rhs=Teuchos::null)
double calculateResidualNorm ()
void calculateNonLinResidualVec (std::string type="standard", double time=0.) const
bool getVerbose ()
void addBoundaries (BCConstPtr_Type bcFactory)
void setBoundaries (double time=.0)
void setBoundariesRHS (double time=.0)
void setBoundariesSystem () const
BlockMultiVectorPtr_Type getRhs ()
BlockMultiVectorPtr_Type getRhs () const
BlockMultiVectorPtr_Type getSolution ()
BlockMultiVectorConstPtr_Type getSolutionConst () const
BlockMultiVectorPtr_Type getResidual ()
BlockMultiVectorConstPtr_Type getResidualConst () const
DomainConstPtr_Type getDomain (int i) const
std::string getFEType (int i)
std::string getVariableName (int i)
int getDofsPerNode (int i)
BlockMatrixPtr_Type getSystem ()
BlockMatrixPtr_Type getSystemCombined ()
BlockMatrixPtr_Type getSystemCombined () const
ProblemPtr_Type getUnderlyingProblem ()
void updateSolutionPreviousStep ()
void updateSolutionMultiPreviousStep (int nmbSteps)
void updateSystemMassMultiPreviousStep (int nmbSteps)
void updateSolutionNewmarkPreviousStep (double dt, double beta, double gamma)
BlockMultiVectorPtr_Type getSolutionPreviousTimestep ()
BlockMultiVectorPtrArray_Type getSolutionAllPreviousTimestep ()
BlockMatrixPtr_Type getMassSystem ()
ParameterListPtr_Type getParameterList ()
void assembleSourceTerm (double time=0.)
BlockMultiVectorPtr_Type getSourceTerm ()
bool hasSourceTerm () const
CommConstPtr_Type getComm () const
LinSolverBuilderPtr_Type getLinearSolverBuilder () const
void getValuesOfInterest (vec_dbl_Type &values)
void computeValuesOfInterestAndExport ()
void updateTime (double time)
void addToRhs (BlockMultiVectorPtr_Type x)
virtual Thyra::ModelEvaluatorBase::InArgs< SC > getNominalValues () const
virtual Teuchos::RCP< const ::Thyra::VectorSpaceBase< SC > > get_x_space () const
virtual Teuchos::RCP< const ::Thyra::VectorSpaceBase< SC > > get_f_space () const
virtual ::Thyra::ModelEvaluatorBase::InArgs< SC > createInArgs () const
virtual ::Thyra::ModelEvaluatorBase::OutArgs< SC > createOutArgsImpl () const
Teuchos::RCP< Thyra::LinearOpBase< SC > > create_W_op ()
Teuchos::RCP< Thyra::LinearOpBase< SC > > create_W_op_Monolithic ()
Teuchos::RCP< Thyra::LinearOpBase< SC > > create_W_op_Block ()
Teuchos::RCP< Thyra::PreconditionerBase< SC > > create_W_prec ()
std::string description () const

Public Attributes

ProblemPtr_Type problem_
CommConstPtr_Type comm_
BlockMatrixPtr_Type systemCombined_
BlockMatrixPtr_Type systemMass_
SmallMatrix< double > timeParameters_
SmallMatrix< int > timeStepDef_
SmallMatrix< double > massParameters_
FEFacPtr_Type feFactory_
int dimension_
bool verbose_
ParameterListPtr_Type parameterList_
BCConstPtr_Type bcFactory_
bool massBCSet_
BlockMultiVectorPtrArray_Type solutionPreviousTimesteps_
BlockMultiVectorPtrArray_Type velocityPreviousTimesteps_
BlockMultiVectorPtrArray_Type accelerationPreviousTimesteps_
BlockMatrixPtrArray_Type systemMassPreviousTimeSteps_
double time_

Protected Attributes

TimePtr_Type TimeSolveTimer_

The documentation for this class was generated from the following files: