Finite Element Domain Decomposition Library
FEDDLib
Toggle main menu visibility
Loading...
Searching...
No Matches
AssembleFE_SCI_NH_decl.hpp
1
#ifndef ASSEMBLEFE_SCI_NH_DECL_hpp
2
#define ASSEMBLEFE_SCI_NH_DECL_hpp
3
4
#include "feddlib/core/AceFemAssembly/AssembleFE.hpp"
5
#include "feddlib/core/FEDDCore.hpp"
6
#include "feddlib/core/LinearAlgebra/Matrix.hpp"
7
#include "feddlib/core/LinearAlgebra/MultiVector.hpp"
8
9
namespace
FEDD
{
10
11
template
<
class
SC = default_sc,
class
LO = default_lo,
class
GO = default_go,
class
NO = default_no>
12
class
AssembleFE_SCI_NH :
public
AssembleFE
<SC,LO,GO,NO> {
13
public
:
14
15
typedef
Matrix<SC,LO,GO,NO>
Matrix_Type;
16
typedef
Teuchos::RCP<Matrix_Type> MatrixPtr_Type;
17
18
typedef
SmallMatrix<SC>
SmallMatrix_Type;
19
typedef
Teuchos::RCP<SmallMatrix_Type> SmallMatrixPtr_Type;
20
21
typedef
MultiVector<SC,LO,GO,NO>
MultiVector_Type;
22
typedef
Teuchos::RCP<MultiVector_Type> MultiVectorPtr_Type;
23
24
typedef
AssembleFE<SC,LO,GO,NO>
AssembleFE_Type;
25
30
void
assembleJacobian
()
override
;
31
36
void
assembleRHS
()
override
;
37
42
void
assembleJacobianBlock
(LO i)
override
{}
43
44
void
advanceInTime
(
double
dt)
override
;
45
46
protected
:
47
AssembleFE_SCI_NH
(
int
flag, vec2D_dbl_Type nodesRefConfig, ParameterListPtr_Type params,tuple_disk_vec_ptr_Type tuple);
48
49
private
:
50
51
void
assembleDeformationDiffusionNeoHook(SmallMatrixPtr_Type &elementMatrix);
52
53
friend
class
AssembleFEFactory
<SC,LO,GO,NO>;
// Must have for specfic classes
54
55
double
E0_;
56
double
E1_;
57
double
poissonRatio_;
58
double
c1_;
59
double
D0_;
60
double
m_;
61
62
std::string FEType_ ;
// FEType of Disk
63
64
int
dofsSolid_ ;
// Degrees of freedom per node
65
int
dofsChem_;
66
int
numNodesSolid_ ;
// Number of nodes of element
67
int
numNodesChem_ ;
// Number of nodes of element
68
69
70
int
dofsElement_;
// "Dimension of return matrix"
71
72
int
dofOrdering_;
// Order of DOFs:
73
// dofOrdering = 1 -> 'u1 v1 w1 c1 u2 v2 w2 c2 ... un vn wn cn'
74
// dofOrdering = 2 -> 'u1 v1 w1 u2 v2 w2 ... un vn wn c1 c2 c3 ... cn'
75
vec_dbl_Type solution_n_;
76
vec_dbl_Type solution_n1_;
77
78
vec2D_dbl_Type timeParametersVec_;
79
double
numSegments_ ;
80
};
81
82
}
83
#endif
//ASSEMBLEFE_SCI_NH_DECL_hpp
FEDD::AssembleFEFactory
This class allows for constructing AssembleFE objects.
Definition
AssembleFEFactory_decl.hpp:36
FEDD::AssembleFE_SCI_NH
Definition
AssembleFE_SCI_NH_decl.hpp:12
FEDD::AssembleFE_SCI_NH::assembleRHS
void assembleRHS() override
Assemble the element right hand side vector.
Definition
AssembleFE_SCI_NH_def.hpp:87
FEDD::AssembleFE_SCI_NH::assembleJacobianBlock
void assembleJacobianBlock(LO i) override
Assemble the element Jacobian matrix.
Definition
AssembleFE_SCI_NH_decl.hpp:42
FEDD::AssembleFE_SCI_NH::advanceInTime
void advanceInTime(double dt) override
This function is called every time the FEDDLib proceeds from one to the next time step....
Definition
AssembleFE_SCI_NH_def.hpp:64
FEDD::AssembleFE_SCI_NH::assembleJacobian
void assembleJacobian() override
Assemble the element Jacobian matrix.
Definition
AssembleFE_SCI_NH_def.hpp:53
FEDD::AssembleFE< default_sc, default_lo, default_go, default_no >::AssembleFE
AssembleFE(int flag, vec2D_dbl_Type nodesRefConfig, ParameterListPtr_Type parameters, tuple_disk_vec_ptr_Type tuple)
Definition
AssembleFE_def.hpp:8
FEDD::Matrix
Definition
Matrix_decl.hpp:30
FEDD::MultiVector
Definition
MultiVector_decl.hpp:61
FEDD::SmallMatrix
This class represents a templated small Matrix of type T. Primarily created for 2x2 and 3x3 matrices....
Definition
SmallMatrix.hpp:20
FEDD
Adaptive Mesh Refinement.
Definition
AdaptiveMeshRefinement_decl.hpp:36
feddlib
core
AceFemAssembly
specific
AssembleFE_SCI_NH_decl.hpp
Generated by
1.17.0