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