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_TypeProblemPtr_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_TypeMatrixConstPtr_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_TypeFEFacPtr_Type
 
typedef Teuchos::RCP< const FEFac_TypeFEFacConstPtr_Type
 
typedef Problem_Type::BCConstPtr_Type BCConstPtr_Type
 
typedef NonLinearProblem< SC, LO, GO, NO > NonLinProb_Type
 
typedef Teuchos::RCP< NonLinProb_TypeNonLinProbPtr_Type
 
typedef Problem_Type::Preconditioner_Type Preconditioner_Type
 
typedef Problem_Type::PreconditionerPtr_Type PreconditionerPtr_Type
 
typedef Problem_Type::LinSolverBuilderPtr_Type LinSolverBuilderPtr_Type
 
typedef NonLinProb_Type::TpetraMatrix_Type TpetraMatrix_Type
 
typedef NonLinProb_Type::ThyraVecSpace_Type ThyraVecSpace_Type
 
typedef NonLinProb_Type::ThyraVec_Type ThyraVec_Type
 
typedef NonLinProb_Type::ThyraOp_Type ThyraOp_Type
 
typedef Thyra::BlockedLinearOpBase< SC > ThyraBlockOp_Type
 
typedef NonLinProb_Type::TpetraOp_Type TpetraOp_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: