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

Public Types

Public Types
typedef Problem< SC, LO, GO, NO > Problem_Type
 
typedef Problem_Type::Matrix_Type Matrix_Type
 
typedef Problem_Type::MatrixPtr_Type MatrixPtr_Type
 
typedef Problem_Type::MapConstPtr_Type MapConstPtr_Type
 
typedef Problem_Type::BlockMatrix_Type BlockMatrix_Type
 
typedef Problem_Type::BlockMatrixPtr_Type BlockMatrixPtr_Type
 
typedef Problem_Type::MultiVector_Type MultiVector_Type
 
typedef Problem_Type::MultiVectorPtr_Type MultiVectorPtr_Type
 
typedef Problem_Type::MultiVectorConstPtr_Type MultiVectorConstPtr_Type
 
typedef Problem_Type::BlockMultiVectorPtr_Type BlockMultiVectorPtr_Type
 
typedef Problem_Type::DomainConstPtr_Type DomainConstPtr_Type
 
typedef Problem_Type::CommConstPtr_Type CommConstPtr_Type
 
typedef NonLinearProblem< SC, LO, GO, NO > NonLinearProblem_Type
 
typedef NonLinearProblem_Type::BlockMultiVectorPtrArray_Type BlockMultiVectorPtrArray_Type
 
typedef NonLinearProblem_Type::TpetraMatrix_Type TpetraMatrix_Type
 
typedef NonLinearProblem_Type::ThyraVecSpace_Type ThyraVecSpace_Type
 
typedef NonLinearProblem_Type::ThyraVec_Type ThyraVec_Type
 
typedef NonLinearProblem_Type::ThyraOp_Type ThyraOp_Type
 
typedef NonLinearProblem_Type::TpetraOp_Type TpetraOp_Type
 
typedef Tpetra::CrsMatrix< SC, LO, GO, NO > tpetra_matrix
 
- Public Types inherited from FEDD::NonLinearProblem< default_sc, default_lo, default_go, default_no >
typedef Problem< default_sc, default_lo, default_go, default_no > Problem_Type
 
typedef Problem_Type::CommConstPtr_Type CommConstPtr_Type
 
typedef Problem_Type::MapConstPtr_Type MapConstPtr_Type
 
typedef Problem_Type::MultiVector_Type MultiVector_Type
 
typedef Problem_Type::MultiVectorPtr_Type MultiVectorPtr_Type
 
typedef Problem_Type::MultiVectorConstPtr_Type MultiVectorConstPtr_Type
 
typedef Problem_Type::BlockMultiVector_Type BlockMultiVector_Type
 
typedef Problem_Type::BlockMultiVectorPtr_Type BlockMultiVectorPtr_Type
 
typedef Problem_Type::Matrix_Type Matrix_Type
 
typedef Problem_Type::MatrixPtr_Type MatrixPtr_Type
 
typedef Problem_Type::BlockMatrix_Type BlockMatrix_Type
 
typedef Problem_Type::BlockMatrixPtr_Type BlockMatrixPtr_Type
 
typedef Tpetra::Map< default_lo, default_go, default_no > TpetraMap_Type
 
typedef Teuchos::RCP< TpetraMap_Type > TpetraMapPtr_Type
 
typedef Teuchos::RCP< const TpetraMap_Type > TpetraMapConstPtr_Type
 
typedef const TpetraMapConstPtr_Type TpetraMapConstPtrConst_Type
 
typedef BlockMap< default_lo, default_go, default_no > BlockMap_Type
 
typedef Teuchos::RCP< BlockMap_TypeBlockMapPtr_Type
 
typedef Teuchos::RCP< const BlockMap_TypeBlockMapConstPtr_Type
 
typedef Teuchos::Array< BlockMultiVectorPtr_Type > BlockMultiVectorPtrArray_Type
 
typedef Thyra::VectorSpaceBase< default_sc > ThyraVecSpace_Type
 
typedef Teuchos::RCP< const ThyraVecSpace_Type > ThyraVecSpaceConstPtr_Type
 
typedef Thyra::VectorBase< default_sc > ThyraVec_Type
 
typedef Tpetra::CrsMatrix< default_sc, default_lo, default_go, default_no > TpetraMatrix_Type
 
typedef Thyra::LinearOpBase< default_sc > ThyraOp_Type
 
typedef Tpetra::Operator< default_sc, default_lo, default_go, default_no > TpetraOp_Type
 
- Public Types inherited from FEDD::Problem< default_sc, default_lo, default_go, default_no >
typedef Domain< default_sc, default_lo, default_go, default_no > Domain_Type
 
typedef Teuchos::RCP< const Domain_TypeDomainConstPtr_Type
 
typedef std::vector< DomainConstPtr_Type > DomainConstPtr_vec_Type
 
typedef Matrix< default_sc, default_lo, default_go, default_no > Matrix_Type
 
typedef Teuchos::RCP< Matrix_TypeMatrixPtr_Type
 
typedef Matrix_Type::Map_Type Map_Type
 
typedef Matrix_Type::MapPtr_Type MapPtr_Type
 
typedef Matrix_Type::MapConstPtr_Type MapConstPtr_Type
 
typedef BlockMatrix< default_sc, default_lo, default_go, default_no > BlockMatrix_Type
 
typedef Teuchos::RCP< BlockMatrix_TypeBlockMatrixPtr_Type
 
typedef Teuchos::RCP< const BlockMatrix_TypeBlockMatrixConstPtr_Type
 
typedef MultiVector< default_sc, default_lo, default_go, default_no > MultiVector_Type
 
typedef Teuchos::RCP< MultiVector_TypeMultiVectorPtr_Type
 
typedef Teuchos::RCP< const MultiVector_TypeMultiVectorConstPtr_Type
 
typedef BlockMultiVector< default_sc, default_lo, default_go, default_no > BlockMultiVector_Type
 
typedef Teuchos::RCP< BlockMultiVector_TypeBlockMultiVectorPtr_Type
 
typedef Teuchos::RCP< const BlockMultiVector_TypeBlockMultiVectorConstPtr_Type
 
typedef Preconditioner< default_sc, default_lo, default_go, default_no > Preconditioner_Type
 
typedef Teuchos::RCP< Preconditioner_TypePreconditionerPtr_Type
 
typedef Teuchos::RCP< const Preconditioner_TypePreconditionerConstPtr_Type
 
typedef BCBuilder< default_sc, default_lo, default_go, default_no > BC_Type
 
typedef Teuchos::RCP< BC_TypeBCPtr_Type
 
typedef Teuchos::RCP< const BC_TypeBCConstPtr_Type
 
typedef FE< default_sc, default_lo, default_go, default_no > FEFac_Type
 
typedef Teuchos::RCP< FEFac_TypeFEFacPtr_Type
 
typedef Teuchos::RCP< const FEFac_TypeFEFacConstPtr_Type
 
typedef Teuchos::ParameterList ParameterList_Type
 
typedef Teuchos::RCP< ParameterList_Type > ParameterListPtr_Type
 
typedef Teuchos::RCP< Stratimikos::DefaultLinearSolverBuilder > LinSolverBuilderPtr_Type
 
typedef Teuchos::RCP< const Stratimikos::DefaultLinearSolverBuilder > LinSolverBuilderConstPtr_Type
 
typedef Teuchos::Comm< int > Comm_Type
 
typedef Teuchos::RCP< const Comm_Type > CommConstPtr_Type
 
typedef Teuchos::ArrayRCP< default_go > GOVecPtr
 
typedef std::vector< std::string > string_vec_Type
 
typedef Teuchos::RCP< Thyra::PreconditionerBase< default_sc > > ThyraPrecPtr_Type
 
typedef Teuchos::RCP< Thyra::LinearOpBase< default_sc > > ThyraLinOpPtr_Type
 

Constructor/Destructor

 NonLinElasticity (const DomainConstPtr_Type &domain, std::string FEType, ParameterListPtr_Type parameterList)
 
virtual void info ()
 
virtual void assemble (std::string type="") const
 
void reAssemble (std::string type) const
 
virtual void reAssemble (BlockMultiVectorPtr_Type previousSolution) const
 
virtual void reAssemble (MatrixPtr_Type &massmatrix, std::string type) const
 
virtual void reAssembleExtrapolation (BlockMultiVectorPtrArray_Type previousSolutions)
 
virtual void calculateNonLinResidualVec (std::string type, double time=0.) const
 
virtual void getValuesOfInterest (vec_dbl_Type &values)
 
virtual void computeValuesOfInterestAndExport ()
 
Teuchos::RCP< Thyra::LinearOpBase< SC > > create_W_op () const
 
Teuchos::RCP< Thyra::PreconditionerBase< SC > > create_W_prec () const
 

Additional Inherited Members

- Public Member Functions inherited from FEDD::NonLinearProblem< default_sc, default_lo, default_go, default_no >
 NonLinearProblem (CommConstPtr_Type comm)
 
 NonLinearProblem (ParameterListPtr_Type &parameterList, CommConstPtr_Type comm)
 
void infoNonlinProblem ()
 
void initializeProblem (int nmbVectors=1)
 
int solveAndUpdate (const std::string &criterion, double &criterionValue)
 
int solveUpdate ()
 
virtual void reAssemble (BlockMultiVectorPtr_Type previousSolution) const=0
 
void reAssembleAndFill (BlockMatrixPtr_Type bMat, std::string type="FixedPoint")
 
virtual void reAssembleExtrapolation (BlockMultiVectorPtrArray_Type previousSolutions)=0
 
void initializeVectorsNonLinear (int nmbVectors=1)
 
double calculateResidualNorm () const
 
virtual void calculateNonLinResidualVec (SmallMatrix< double > &coeff, std::string type="standard", double time=0.)
 
BlockMultiVectorPtr_Type getResidualVector () const
 
BlockMultiVectorPtr_Type getPreviousSolution () const
 
virtual Thyra::ModelEvaluatorBase::InArgs< default_sc > getNominalValues () const
 
virtual Teuchos::RCP< const ::Thyra::VectorSpaceBase< default_sc > > get_x_space () const
 
virtual Teuchos::RCP< const ::Thyra::VectorSpaceBase< default_sc > > get_f_space () const
 
virtual ::Thyra::ModelEvaluatorBase::InArgs< default_sc > createInArgs () const
 
void initNOXParameters ()
 
void initVectorSpaces ()
 
void initVectorSpacesMonolithic ()
 
void initVectorSpacesBlock ()
 
virtual ::Thyra::ModelEvaluatorBase::OutArgs< default_sc > createOutArgsImpl () const
 
- Public Member Functions inherited from FEDD::Problem< default_sc, default_lo, default_go, default_no >
 Problem (CommConstPtr_Type comm)
 
 Problem (ParameterListPtr_Type &parameterList, CommConstPtr_Type comm)
 
void infoProblem ()
 
void addVariable (const DomainConstPtr_Type &domain, std::string FEType, std::string name, int dofsPerNode)
 
void addRhsFunction (RhsFunc_Type func)
 
void addRhsFunction (RhsFunc_Type func, int i)
 
RhsFunc_Type & getRhsFunction (int i)
 
void assembleSourceTerm (double time=0.) const
 
void assembleVolumeTerm (double time) const
 
void assembleSurfaceTerm (double time) const
 
bool hasSourceTerm () const
 
int solve (BlockMultiVectorPtr_Type rhs=Teuchos::null)
 
void setupPreconditioner (std::string type="Monolithic") const
 
void initializePreconditioner (std::string type="Monolithic") const
 
void addBoundaries (const BCConstPtr_Type &bcFactory)
 
void setBoundaries (double time=.0) const
 
void setBoundariesRHS (double time=.0) const
 
void setAllDirichletZero (BlockMultiVectorPtr_Type rhs) const
 
void setBoundariesSystem () const
 
void initializeProblem (int nmbVectors=1)
 
void initializeVectors (int nmbVectors=1)
 
BlockMultiVectorPtr_Type getRhs ()
 
BlockMultiVectorPtr_Type getRhs () const
 
BlockMultiVectorPtr_Type getSolution ()
 
BlockMatrixPtr_Type getSystem () const
 
PreconditionerPtr_Type getPreconditioner ()
 
PreconditionerConstPtr_Type getPreconditionerConst () const
 
void setPreconditionerThyraFromLinOp (ThyraLinOpPtr_Type precLinOp)
 
void initializeSolverBuilder () const
 
bool getVerbose () const
 
FEFacConstPtr_Type getFEFactory ()
 
BCConstPtr_Type getBCFactory ()
 
DomainConstPtr_Type getDomain (int i) const
 
DomainConstPtr_vec_Type getDomainVector () const
 
std::string getFEType (int i) const
 
std::string getVariableName (int i) const
 
int getDofsPerNode (int i) const
 
ParameterListPtr_Type getParameterList () const
 
void addToRhs (BlockMultiVectorPtr_Type x) const
 
BlockMultiVectorPtr_Type getSourceTerm ()
 
void initSolutionWithVector (MultiVector_Type &mv)
 
LinSolverBuilderPtr_Type getLinearSolverBuilder () const
 
CommConstPtr_Type getComm () const
 
void addParemeterRhs (double para)
 
double calculateH1Norm (MultiVectorConstPtr_Type mv, int blockId1=0, int blockId2=0, int domainInd=0)
 
double calculateL2Norm (MultiVectorConstPtr_Type mv, int domainInd=0)
 
- Public Attributes inherited from FEDD::NonLinearProblem< default_sc, default_lo, default_go, default_no >
double nonLinearTolerance_
 
BlockMultiVectorPtr_Type previousSolution_
 
BlockMultiVectorPtr_Type residualVec_
 
SmallMatrix< double > coeff_
 
- Public Attributes inherited from FEDD::Problem< default_sc, default_lo, default_go, default_no >
int dim_
 
CommConstPtr_Type comm_
 
BlockMatrixPtr_Type system_
 
BlockMultiVectorPtr_Type rhs_
 
BlockMultiVectorPtr_Type solution_
 
PreconditionerPtr_Type preconditioner_
 
LinSolverBuilderPtr_Type linearSolverBuilder_
 
bool verbose_
 
std::vector< RhsFunc_Type > rhsFuncVec_
 
vec_dbl_Type parasSourceFunc_
 
- Protected Attributes inherited from FEDD::Problem< default_sc, default_lo, default_go, default_no >
ParameterListPtr_Type parameterList_
 
DomainConstPtr_vec_Type domainPtr_vec_
 
string_vec_Type domain_FEType_vec_
 
string_vec_Type variableName_vec_
 
BCConstPtr_Type bcFactory_
 
FEFacPtr_Type feFactory_
 
std::vector< int > dofsPerNode_vec_
 
BlockMultiVectorPtr_Type sourceTerm_
 

Member Function Documentation

◆ assemble()

template<class SC, class LO, class GO, class NO>
void FEDD::NonLinElasticity< SC, LO, GO, NO >::assemble ( std::string type = "") const
virtual

◆ calculateNonLinResidualVec()

template<class SC, class LO, class GO, class NO>
void FEDD::NonLinElasticity< SC, LO, GO, NO >::calculateNonLinResidualVec ( std::string type,
double time = 0. ) const
virtual

◆ computeValuesOfInterestAndExport()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::NonLinElasticity< SC, LO, GO, NO >::computeValuesOfInterestAndExport ( )
inlinevirtual

◆ getValuesOfInterest()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::NonLinElasticity< SC, LO, GO, NO >::getValuesOfInterest ( vec_dbl_Type & values)
inlinevirtual

◆ info()

template<class SC, class LO, class GO, class NO>
void FEDD::NonLinElasticity< SC, LO, GO, NO >::info ( )
virtual

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