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