Peano
Loading...
Searching...
No Matches
Easi.h
Go to the documentation of this file.
1
#ifndef EXASEIS_SCENARIOEASI_HEADER
2
#define EXASEIS_SCENARIOEASI_HEADER
3
#include "
Scenario.h
"
4
#include "easi/ResultAdapter.h"
5
#include "easi/YAMLParser.h"
6
// #include "../include/easi/reader/asagi_reader.h"
7
#include "../easi/reader/asagi_reader.h"
8
9
struct
ElasticMaterial
{
10
double
lambda
;
11
double
mu
;
12
double
rho
;
13
};
14
15
template
<
class
Shortcuts,
int
basisSize>
16
class
EasiScen
:
public
Scenario
<Shortcuts, basisSize> {
17
18
public
:
19
EasiScen
(
DomainInformation
*
info
):
20
Scenario
<Shortcuts, basisSize>(
info
) {
21
asagiReader
=
new
AsagiReader(
""
);
22
easi::YAMLParser parser(3,
asagiReader
);
23
model
= parser.parse(
"material.yaml"
);
24
};
25
26
void
initUnknownsPointwise
(
27
const
double
*
const
x,
28
const
tarch::la::Vector<Dimensions, double>
& center,
29
const
double
t,
30
const
double
dt,
31
double
* Q
32
) {
33
Shortcuts s;
34
35
ElasticMaterial
material[1];
36
easi::ArrayOfStructsAdapter<ElasticMaterial> adapter(material);
37
adapter.addBindingPoint(
"rho"
, &
ElasticMaterial::rho
);
38
adapter.addBindingPoint(
"mu"
, &
ElasticMaterial::mu
);
39
adapter.addBindingPoint(
"lambda"
, &
ElasticMaterial::lambda
);
40
41
easi::Query query(1, 3);
42
query.group(0) = 0;
43
query.x(0, 0) = x[0];
44
query.x(0, 1) = x[1];
45
query.x(0, 2) = x[2];
46
47
model
->evaluate(query, adapter);
48
49
Q[s.rho] = material[0].
rho
;
50
Q[s.cp] = sqrt((material[0].lambda + 2 * material[0].mu) / material[0].rho);
51
Q[s.cs] = sqrt(material[0].mu / material[0].rho);
52
}
53
void
refinementCriteria
(std::vector<
Refinement::RefinementCriterion<Shortcuts>
*>& criteria)
override
{}
54
55
private
:
56
AsagiReader*
asagiReader
;
57
easi::Component*
model
;
58
};
59
#endif
DomainInformation
Definition
DomainInformation.h:8
EasiScen
Definition
Easi.h:16
EasiScen::asagiReader
AsagiReader * asagiReader
Definition
Easi.h:56
EasiScen::model
easi::Component * model
Definition
Easi.h:57
EasiScen::initUnknownsPointwise
void initUnknownsPointwise(const double *const x, const tarch::la::Vector< Dimensions, double > ¢er, const double t, const double dt, double *Q)
Definition
Easi.h:26
EasiScen::EasiScen
EasiScen(DomainInformation *info)
Definition
Easi.h:19
EasiScen::refinementCriteria
void refinementCriteria(std::vector< Refinement::RefinementCriterion< Shortcuts > * > &criteria) override
Definition
Easi.h:53
Refinement::RefinementCriterion
Definition
refinement.h:10
Scenario
Definition
Scenario.h:8
Scenario::info
DomainInformation * info
Definition
Scenario.h:35
ElasticMaterial
Definition
Easi.h:9
ElasticMaterial::rho
double rho
Definition
Easi.h:12
ElasticMaterial::mu
double mu
Definition
Easi.h:11
ElasticMaterial::lambda
double lambda
Definition
Easi.h:10
tarch::la::Vector
Simple vector class.
Definition
Vector.h:159
Scenario.h
applications
exahype2
exaseis
ExaSeis_core
Scenario
Easi.h
Generated on Wed Nov 4 2026 08:20:46 for Peano by
1.9.8