34 typedef Teuchos::RCP<Matrix_Type> MatrixPtr_Type;
35 typedef Teuchos::RCP<const MatrixPtr_Type> MatrixConstPtr_Type;
37 typedef typename Problem_Type::MapConstPtr_Type MapConstPtr_Type;
39 typedef typename Problem_Type::BlockMatrix_Type BlockMatrix_Type;
40 typedef typename Problem_Type::BlockMatrixPtr_Type BlockMatrixPtr_Type;
42 typedef typename Problem_Type::MultiVector_Type MultiVector_Type;
43 typedef typename Problem_Type::MultiVectorPtr_Type MultiVectorPtr_Type;
44 typedef typename Problem_Type::MultiVectorConstPtr_Type MultiVectorConstPtr_Type;
45 typedef typename Problem_Type::BlockMultiVectorPtr_Type BlockMultiVectorPtr_Type;
46 typedef typename Problem_Type::BlockMultiVector_Type BlockMultiVector_Type;
48 typedef typename Problem_Type::Domain_Type Domain_Type;
49 typedef typename Problem_Type::DomainPtr_Type DomainPtr_Type;
50 typedef typename Problem_Type::DomainConstPtr_Type DomainConstPtr_Type;
51 typedef typename Problem_Type::CommConstPtr_Type CommConstPtr_Type;
54 typedef typename NonLinearProblem_Type::BlockMultiVectorPtrArray_Type BlockMultiVectorPtrArray_Type;
56 typedef typename NonLinearProblem_Type::TpetraMatrix_Type TpetraMatrix_Type;
58 typedef typename NonLinearProblem_Type::ThyraVecSpace_Type ThyraVecSpace_Type;
59 typedef typename NonLinearProblem_Type::ThyraVec_Type ThyraVec_Type;
60 typedef typename NonLinearProblem_Type::ThyraOp_Type ThyraOp_Type;
61 typedef Thyra::BlockedLinearOpBase<SC> ThyraBlockOp_Type;
64 typedef Teuchos::RCP<BC_Type> BCPtr_Type;
65 typedef Teuchos::RCP<const BC_Type> BCConstPtr_Type;
67 typedef typename NonLinearProblem_Type::TpetraOp_Type TpetraOp_Type;
72 NavierStokes(
const DomainConstPtr_Type &domainVelocity, std::string FETypeVelocity,
const DomainConstPtr_Type &domainPressure, std::string FETypePressure, ParameterListPtr_Type parameterList );
77 virtual void assemble( std::string type =
"" )
const;
79 void assembleConstantMatrices()
const;
81 void assembleDivAndStab()
const;
85 void reAssemble( std::string type )
const;
87 void reAssemble( BlockMultiVectorPtr_Type previousSolution )
const override{}
89 void reAssembleFSI(std::string type, MultiVectorPtr_Type u_minus_w, MatrixPtr_Type P)
const;
91 virtual void reAssemble(MatrixPtr_Type& massmatrix, std::string type )
const;
93 virtual void reAssembleExtrapolation(BlockMultiVectorPtrArray_Type previousSolutions);
97 void calculateNonLinResidualVecWithMeshVelo(std::string type,
double time, MultiVectorPtr_Type u_minus_w, MatrixPtr_Type P)
const;
102 void computeValuesOfInterestAndExport()
override {}
108 mutable MatrixPtr_Type A_;
109 mutable MatrixPtr_Type NNZ_A_;
110 vec_int_ptr_Type pressureIDsLoc;
111 MultiVectorPtr_Type u_rep_;
113 BCPtr_Type bcFactoryPCD_;
114 mutable MatrixPtr_Type Mp_;
115 mutable MatrixPtr_Type BT_Mp_;
116 mutable MatrixPtr_Type BT_Mp_B_;
117 mutable MatrixPtr_Type Ap_;
119 bool augmentedLagrange_=
false;
123 void establishNNZPattern()
const;
virtual void assemble(std::string type="") const
assemble of type exectuted by the derived specific non-linear problem classes
Definition NavierStokes_def.hpp:165
virtual void calculateNonLinResidualVec(std::string type="standard", double time=0.) const
Virtual function which is implemented in the specific non-linear problem classes to calculate the non...
Definition NavierStokes_def.hpp:740