1#ifndef AssembleFE_SCI_SMC_Active_Growth_Reorientation_DECL_hpp
2#define AssembleFE_SCI_SMC_Active_Growth_Reorientation_DECL_hpp
4#include "feddlib/core/AceFemAssembly/AssembleFE.hpp"
5#include "feddlib/core/AceFemAssembly/AssembleFEBlock.hpp"
6#include "feddlib/core/FEDDCore.hpp"
7#include "feddlib/core/LinearAlgebra/Matrix.hpp"
8#include "feddlib/core/LinearAlgebra/MultiVector.hpp"
28template <
class SC = default_sc,
class LO = default_lo,
class GO = default_go,
class NO = default_no>
29class AssembleFE_SCI_SMC_Active_Growth_Reorientation :
public AssembleFE<SC,LO,GO,NO> {
33 typedef Teuchos::RCP<Matrix_Type> MatrixPtr_Type;
36 typedef Teuchos::RCP<SmallMatrix_Type> SmallMatrixPtr_Type;
39 typedef Teuchos::RCP<MultiVector_Type> MultiVectorPtr_Type;
61 void getMassMatrix(SmallMatrixPtr_Type &massMatrix ){massMatrix=massMatrix_;};
68 void assemble_SCI_SMC_Active_Growth_Reorientation(SmallMatrixPtr_Type &elementMatrix);
75 SmallMatrixPtr_Type massMatrix_;
94 vec_dbl_Type historyUpdated_;
95 vec_dbl_Type history_;
97 vec_dbl_Type solutionC_n_;
98 vec_dbl_Type solutionC_n1_;
100 vec2D_dbl_Type timeParametersVec_;
101 double numSegments_ ;
165 double lambdaBarCDotMax_;
166 double lambdaBarCDotMin_;
191 double lambdaBarDotPMin_ ;
192 double lambdaBarDotPMax_ ;
195 double DeltaLambdaBarPMin_ ;
201 double activeStartTime_;
204 double growthStartTime_ ;
205 double reorientationStartTime_ ;
206 double growthEndTime_ ;
207 double reorientationEndTime_ ;
209 double kThetaMinus_ ;
211 double mThetaMinus_ ;
215 double thetaMinus1_ ;
216 double thetaMinus2_ ;
217 double thetaMinus3_ ;
This class allows for constructing AssembleFE objects.
Definition AssembleFEFactory_decl.hpp:37
Definition AssembleFE_SCI_SMC_Active_Growth_Reorientation_decl.hpp:29
void assembleJacobian() override
Assemble the element Jacobian matrix.
Definition AssembleFE_SCI_SMC_Active_Growth_Reorientation_def.hpp:194
void advanceInTime(double dt) override
This function is called every time the FEDDLib proceeds from one to the next time step....
Definition AssembleFE_SCI_SMC_Active_Growth_Reorientation_def.hpp:204
void assembleJacobianBlock(LO i) override
Assemble block parts of the element Jacobian matrix.
Definition AssembleFE_SCI_SMC_Active_Growth_Reorientation_decl.hpp:57
void assembleRHS() override
Assemble the element right hand side vector.
Definition AssembleFE_SCI_SMC_Active_Growth_Reorientation_def.hpp:228
AssembleFE(int flag, vec2D_dbl_Type nodesRefConfig, ParameterListPtr_Type parameters, tuple_disk_vec_ptr_Type tuple)
Definition AssembleFE_def.hpp:10
Definition Matrix_decl.hpp:32
Definition MultiVector_decl.hpp:36
This class represents a templated small Matrix of type T. Primarily created for 2x2 and 3x3 matrices....
Definition SmallMatrix.hpp:22
Adaptive Mesh Refinement.
Definition AdaptiveMeshRefinement.cpp:5