Finite Element Domain Decomposition Library
FEDDLib
Toggle main menu visibility
Loading...
Searching...
No Matches
Elasticity_decl.hpp
1
#ifndef ELASTICITY_decl_hpp
2
#define ELASTICITY_decl_hpp
3
4
#include "feddlib/problems/abstract/LinearProblem.hpp"
5
#include "feddlib/problems/abstract/NonLinearProblem.hpp"
6
7
namespace
FEDD
{
16
17
18
template
<
class
SC = default_sc,
class
LO = default_lo,
class
GO = default_go,
class
NO = default_no>
19
class
Elasticity :
public
NonLinearProblem
<SC,LO,GO,NO> {
20
// We want Elasticity to be a general nonlinear problem, however if the underlying elasticity problem is linear we still use the reassmble functions but they dont do anything in this case.
21
public
:
22
typedef
LinearProblem<SC,LO,GO,NO>
LinearProblem_Type;
23
typedef
NonLinearProblem<SC,LO,GO,NO>
NonLinearProblem_Type;
24
typedef
Teuchos::RCP<LinearProblem_Type> LinearProblemPtr_Type;
25
typedef
Teuchos::RCP<NonLinearProblem_Type> NonLinearProblemPtr_Type;
26
typedef
LinElas<SC,LO,GO,NO>
LinElas_Type;
27
typedef
NonLinElasticity<SC,LO,GO,NO>
NonLinElas_Type;
28
29
typedef
Problem<SC,LO,GO,NO>
Problem_Type;
30
typedef
typename
Problem_Type::DomainConstPtr_Type DomainConstPtr_Type;
31
32
typedef
typename
Problem_Type::BlockMatrix_Type BlockMatrix_Type;
33
typedef
typename
Problem_Type::BlockMatrixPtr_Type BlockMatrixPtr_Type;
34
35
Elasticity(
const
DomainConstPtr_Type &domain, std::string FEType, ParameterListPtr_Type parameterList );
36
37
~Elasticity();
38
39
virtual
void
info();
40
41
virtual
void
assemble();
42
43
virtual
void
reAssemble(std::string type=
"Newton"
)
const
;
44
45
virtual
void
reAssembleExtrapolation( );
46
47
virtual
void
calculateNonLinResidualVec(std::string type)
const
;
48
49
virtual
void
getValuesOfInterest
( vec_dbl_Type& values ){}
50
51
virtual
void
computeValuesOfInterestAndExport() {}
52
53
// virtual void assembleExternal( std::string type ){}
54
55
Teuchos::RCP< Thyra::LinearOpBase<SC> >
create_W_op
()
const
;
56
57
Teuchos::RCP<Thyra::PreconditionerBase<SC> > create_W_prec()
const
;
58
59
private
:
60
61
virtual
void
evalModelImpl(
62
const ::Thyra::ModelEvaluatorBase::InArgs<SC> &inArgs,
63
const ::Thyra::ModelEvaluatorBase::OutArgs<SC> &outArgs
64
)
const
;
65
66
/*####################*/
67
LinearProblemPtr_Type linearProblem_;
68
NonLinearProblemPtr_Type nonLinearProblem_;
69
};
70
}
71
#endif
FEDD::Elasticity::getValuesOfInterest
virtual void getValuesOfInterest(vec_dbl_Type &values)
Virtual class to extract values of interest that are computed during the solve.
Definition
Elasticity_decl.hpp:49
FEDD::LinElas
Definition
LinElas_decl.hpp:7
FEDD::LinearProblem
Definition
LinearProblem_decl.hpp:18
FEDD::NonLinElasticity
Definition
NonLinElasticity_decl.hpp:18
FEDD::NonLinearProblem< default_sc, default_lo, default_go, default_no >::create_W_op
Teuchos::RCP< Thyra::LinearOpBase< default_sc > > create_W_op() const
Definition
NonLinearProblem_def.hpp:578
FEDD::NonLinearProblem< default_sc, default_lo, default_go, default_no >::NonLinearProblem
NonLinearProblem(CommConstPtr_Type comm)
Definition
NonLinearProblem_def.hpp:23
FEDD::Problem
Definition
Problem_decl.hpp:42
FEDD
Adaptive Mesh Refinement.
Definition
AdaptiveMeshRefinement_decl.hpp:36
feddlib
problems
specific
deprecated
Elasticity_decl.hpp
Generated by
1.17.0