Finite Element Domain Decomposition Library
FEDDLib
Toggle main menu visibility
Loading...
Searching...
No Matches
AssembleFEBlock_def.hpp
1
#ifndef AssembleFEBLOCK_DEF_hpp
2
#define AssembleFEBLOCK_DEF_hpp
3
4
namespace
FEDD
{
5
6
7
template
<
class
SC,
class
LO,
class
GO,
class
NO>
8
AssembleFEBlock<SC,LO,GO,NO>::AssembleFEBlock
(
int
flag, vec2D_dbl_Type nodesRefConfig, ParameterListPtr_Type params,tuple_disk_vec_ptr_Type tuple):
9
AssembleFE
<SC,LO,GO,NO>(flag, nodesRefConfig, params,tuple)
10
{
11
FEType_ = std::get<1>(this->diskTuple_->at(0));
// FEType of Disk
12
dofsSolid_ = std::get<2>(this->diskTuple_->at(0));
// Degrees of freedom per node
13
dofsChem_ = std::get<2>(this->diskTuple_->at(1));
// Degrees of freedom per node
14
15
numNodesSolid_ = std::get<3>(this->diskTuple_->at(0));
// Number of nodes of element
16
numNodesChem_ = std::get<3>(this->diskTuple_->at(1));
// Number of nodes of element
17
18
dofsElement_ = dofsSolid_*numNodesSolid_ + dofsChem_*numNodesChem_;
// "Dimension of return matrix"
19
20
dimSystem_ = 2;
22
23
}
24
30
31
template
<
class
SC,
class
LO,
class
GO,
class
NO>
32
void
AssembleFEBlock<SC,LO,GO,NO>::assembleJacobian
() {
33
34
35
SmallMatrixPtr_Type elementMatrix =Teuchos::rcp(
new
SmallMatrix_Type( this->dofsElement_));
// Matrix we fill with entries.
36
37
assembleMonolithicSystem(elementMatrix);
// Function that fills the matrix. We pass though a pointer that will be filled.
38
39
this->jacobian_ = elementMatrix ;
// We init the jacobian matrix with the matrix we just build.
40
}
41
49
50
template
<
class
SC,
class
LO,
class
GO,
class
NO>
51
void
AssembleFEBlock<SC,LO,GO,NO>::assembleJacobianBlock
(LO i) {
52
53
54
SmallMatrixPtr_Type elementMatrix =Teuchos::rcp(
new
SmallMatrix_Type( this->dofsElement_));
// Matrix we fill with entries.
55
56
assembleMonolithicSystem(elementMatrix);
// Function that fills the matrix. We pass though a pointer that will be filled.
57
58
this->jacobian_ = elementMatrix ;
// We init the jacobian matrix with the matrix we just build.
59
}
60
61
template
<
class
SC,
class
LO,
class
GO,
class
NO>
62
void
AssembleFEBlock<SC,LO,GO,NO>::assembleMonolithicSystem(SmallMatrixPtr_Type elementMatrix){
63
64
65
};
66
67
68
69
}
70
#endif
FEDD::AssembleFEBlock::AssembleFEBlock
AssembleFEBlock(int flag, vec2D_dbl_Type nodesRefConfig, ParameterListPtr_Type parameters, tuple_disk_vec_ptr_Type tuple)
Constructor.
Definition
AssembleFEBlock_def.hpp:8
FEDD::AssembleFEBlock::assembleJacobian
virtual void assembleJacobian()=0
Assemble the element Jacobian matrix.
Definition
AssembleFEBlock_def.hpp:32
FEDD::AssembleFEBlock::assembleJacobianBlock
virtual void assembleJacobianBlock(LO i)=0
Assembly Jacobian.
Definition
AssembleFEBlock_def.hpp:51
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
Adaptive Mesh Refinement.
Definition
AdaptiveMeshRefinement_decl.hpp:36
feddlib
core
AceFemAssembly
AssembleFEBlock_def.hpp
Generated by
1.17.0