KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
residualbased_derivative_recovery_strategy.h
Go to the documentation of this file.
1 //
2 // Main author: Guillermo Casas
3 //
4 //
5 
6 #if !defined(KRATOS_RESIDUALBASED_DERIVATIVE_RECOVERY_STRATEGY )
7 #define KRATOS_RESIDUALBASED_DERIVATIVE_RECOVERY_STRATEGY
8 
9 
11 
12 namespace Kratos
13 {
14 
41 
63 template<class TSparseSpace,
64  class TDenseSpace, //= DenseSpace<double>,
65  class TLinearSolver //= LinearSolver<TSparseSpace,TDenseSpace>
66  >
68  : public ResidualBasedLinearStrategy<TSparseSpace, TDenseSpace, TLinearSolver>
69 {
70 public:
76 
78  typedef typename BaseType::TDataType TDataType;
79  typedef TSparseSpace SparseSpaceType;
89 
90 
100  typename TSchemeType::Pointer pScheme,
101  typename TLinearSolver::Pointer pNewLinearSolver,
102  bool CalculateReactionFlag = false,
103  bool ReformDofSetAtEachStep = false,
104  bool CalculateNormDxFlag = false,
105  bool MoveMeshFlag = false
106  ): ResidualBasedLinearStrategy<TSparseSpace, TDenseSpace, TLinearSolver>(model_part,
107  pScheme,
108  CalculateReactionFlag,
109  ReformDofSetAtEachStep,
110  CalculateNormDxFlag,
111  MoveMeshFlag)
112  {}
113 
114 
115 
118  typename TSchemeType::Pointer pScheme,
119  typename TLinearSolver::Pointer pNewLinearSolver,
120  typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver,
121  bool CalculateReactionFlag = false,
122  bool ReformDofSetAtEachStep = false,
123  bool CalculateNormDxFlag = false,
124  bool MoveMeshFlag = false
125  ): ResidualBasedLinearStrategy<TSparseSpace, TDenseSpace, TLinearSolver>(model_part,
126  pScheme,
127  pNewBuilderAndSolver,
128  CalculateReactionFlag,
129  ReformDofSetAtEachStep,
130  CalculateNormDxFlag,
131  MoveMeshFlag)
132  {}
133 
137 
169 protected:
208 private:
242 
243 
246 }; /* Class ResidualBasedDerivativeRecoveryStrategy */
247 
256 } /* namespace Kratos.*/
257 
258 #endif /* KRATOS_RESIDUALBASED_DERIVATIVE_RECOVERY_STRATEGY defined */
259 
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
Short class definition.
Definition: residualbased_derivative_recovery_strategy.h:69
BaseType::DofsArrayType DofsArrayType
Definition: residualbased_derivative_recovery_strategy.h:82
BaseType::TBuilderAndSolverType TBuilderAndSolverType
Definition: residualbased_derivative_recovery_strategy.h:81
BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
Definition: residualbased_derivative_recovery_strategy.h:87
BaseType::TSystemVectorPointerType TSystemVectorPointerType
Definition: residualbased_derivative_recovery_strategy.h:88
ResidualBasedDerivativeRecoveryStrategy(ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, typename TBuilderAndSolverType::Pointer pNewBuilderAndSolver, bool CalculateReactionFlag=false, bool ReformDofSetAtEachStep=false, bool CalculateNormDxFlag=false, bool MoveMeshFlag=false)
Definition: residualbased_derivative_recovery_strategy.h:116
BaseType::TSystemMatrixType TSystemMatrixType
Definition: residualbased_derivative_recovery_strategy.h:83
virtual ~ResidualBasedDerivativeRecoveryStrategy()
Definition: residualbased_derivative_recovery_strategy.h:136
ResidualBasedLinearStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
Definition: residualbased_derivative_recovery_strategy.h:77
ResidualBasedDerivativeRecoveryStrategy(ModelPart &model_part, typename TSchemeType::Pointer pScheme, typename TLinearSolver::Pointer pNewLinearSolver, bool CalculateReactionFlag=false, bool ReformDofSetAtEachStep=false, bool CalculateNormDxFlag=false, bool MoveMeshFlag=false)
Definition: residualbased_derivative_recovery_strategy.h:98
BaseType::TSystemVectorType TSystemVectorType
Definition: residualbased_derivative_recovery_strategy.h:84
BaseType::TDataType TDataType
Definition: residualbased_derivative_recovery_strategy.h:78
BaseType::TSchemeType TSchemeType
Definition: residualbased_derivative_recovery_strategy.h:80
KRATOS_CLASS_POINTER_DEFINITION(ResidualBasedDerivativeRecoveryStrategy)
BaseType::LocalSystemMatrixType LocalSystemMatrixType
Definition: residualbased_derivative_recovery_strategy.h:86
BaseType::LocalSystemVectorType LocalSystemVectorType
Definition: residualbased_derivative_recovery_strategy.h:85
TSparseSpace SparseSpaceType
Definition: residualbased_derivative_recovery_strategy.h:79
This is a very simple strategy to solve linearly the problem.
Definition: residualbased_linear_strategy.h:64
BaseType::TSchemeType TSchemeType
Definition: residualbased_linear_strategy.h:82
BaseType::TBuilderAndSolverType TBuilderAndSolverType
Definition: residualbased_linear_strategy.h:84
TSparseSpace::VectorPointerType TSystemVectorPointerType
Definition: solving_strategy.h:77
TDenseSpace::MatrixType LocalSystemMatrixType
Definition: solving_strategy.h:79
TSparseSpace::DataType TDataType
Definition: solving_strategy.h:69
TSparseSpace::MatrixType TSystemMatrixType
Definition: solving_strategy.h:71
TSparseSpace::MatrixPointerType TSystemMatrixPointerType
Definition: solving_strategy.h:75
bool MoveMeshFlag()
This function returns the flag that says if the mesh is moved.
Definition: solving_strategy.h:290
TSparseSpace::VectorType TSystemVectorType
Definition: solving_strategy.h:73
TDenseSpace::VectorType LocalSystemVectorType
Definition: solving_strategy.h:81
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
model_part
Definition: face_heat.py:14