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

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::BlockMatrix_Type BlockMatrix_Type
 
typedef Problem_Type::MultiVector_Type MultiVector_Type
 
typedef Problem_Type::MultiVectorPtr_Type MultiVectorPtr_Type
 
typedef Problem_Type::DomainConstPtr_Type DomainConstPtr_Type
 
typedef Problem_Type::CommConstPtr_Type CommConstPtr_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
 

Public Member Functions

 LaplaceBlocks (const DomainConstPtr_Type &domain1, const DomainConstPtr_Type &domain2, std::string FEType1, std::string FEType2, ParameterListPtr_Type parameterList)
 
virtual void info ()
 
virtual void assemble (std::string type="") const
 
virtual void getValuesOfInterest (vec_dbl_Type &values)
 
virtual void computeValuesOfInterestAndExport ()
 
void setPrecLists (ParameterListPtr_Type p1list, ParameterListPtr_Type p2list)
 
ParameterListPtr_Type getPrecList1 ()
 
ParameterListPtr_Type getPrecList2 ()
 
- 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)
 

Additional Inherited Members

- 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::LaplaceBlocks< SC, LO, GO, NO >::assemble ( std::string type = "") const
virtual

◆ computeValuesOfInterestAndExport()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::LaplaceBlocks< 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::LaplaceBlocks< SC, LO, GO, NO >::getValuesOfInterest ( vec_dbl_Type & values)
inlinevirtual

◆ info()

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

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