Finite Element Domain Decomposition Library
FEDDLib
Toggle main menu visibility
Loading...
Searching...
No Matches
LinElasFirstOrder_decl.hpp
1
#ifndef LinElasFirstOrder_decl_hpp
2
#define LinElasFirstOrder_decl_hpp
3
#include "feddlib/problems/abstract/LinearProblem.hpp"
4
5
namespace
FEDD
{
6
template
<
class
SC = default_sc,
class
LO = default_lo,
class
GO = default_go,
class
NO = default_no>
7
class
LinElasFirstOrder :
public
Problem<SC,LO,GO,NO> {
8
9
public
:
10
typedef
Problem<SC,LO,GO,NO> Problem_Type;
11
12
typedef
typename
Problem_Type::Matrix_Type Matrix_Type;
13
typedef
typename
Problem_Type::MatrixPtr_Type MatrixPtr_Type;
14
15
typedef
typename
Problem_Type::BlockMatrix_Type BlockMatrix_Type;
16
17
typedef
typename
Problem_Type::MultiVector_Type MultiVector_Type;
18
typedef
typename
Problem_Type::MultiVectorPtr_Type MultiVectorPtr_Type;
19
20
typedef
typename
Problem_Type::BlockMultiVector_Type BlockMultiVector_Type;
21
typedef
typename
Problem_Type::BlockMultiVectorPtr_Type BlockMultiVectorPtr_Type;
22
23
typedef
typename
Problem_Type::DomainConstPtr_Type DomainConstPtr_Type;
24
typedef
typename
Problem_Type::CommConstPtr_Type CommConstPtr_Type;
25
26
27
// Konstruktor
28
LinElasFirstOrder(
const
DomainConstPtr_Type &domain, std::string FEType, ParameterListPtr_Type parameterList);
29
30
// Destruktor
31
~LinElasFirstOrder();
32
33
virtual
void
info();
34
35
// Assemblierung der Matrix, hier: \sigma = 2\mu \epsilon + \lambda \div(u) I, mit \epsilon = 0.5 ( \grad u + (\grad u)^T )
36
virtual
void
assemble( std::string type =
""
)
const
;
37
38
// Assemblierung der rechten Seite der DGL (RHS), welche in AdvanceinTime() genutzt wird;
39
// also fuer zeitabhaengige Probleme ist
40
// Beachte: In AdvanceTime() wird in jedem Zeitschritt der SourceTerm neu berechnet, auch
41
// wenn dieser konstant ist!
42
// TODO: Baue in Problem_def.hpp sowas wie boolHasTimeDependentSourceTerm ein, mit default auf false.
43
// void assembleSourceTerm(double time);
44
45
virtual
void
getValuesOfInterest( vec_dbl_Type& values ){}
46
47
virtual
void
computeValuesOfInterestAndExport() {}
48
// Steifigkeitsmatrix des Problems der linearen Elastizitaet gegeben wie in assemble().
49
// Moeglicherweise nicht noetig (vgl. Laplace.hpp)
50
// Falls es doch irgendwann benutzt wird, denke daran den Konstruktor zu aendern (vgl. Stokes.hpp)
51
// Teuchos::RCP<Matrix_Type> K_;
52
// virtual void assembleExternal( std::string type ){}
53
private
:
54
55
};
56
}
57
58
#endif
FEDD
Adaptive Mesh Refinement.
Definition
AdaptiveMeshRefinement_decl.hpp:36
feddlib
problems
specific
deprecated
LinElasFirstOrder_decl.hpp
Generated by
1.17.0