SpECTRE
v2021.02.08
Documentation
Introduction
Releases
Installation
User Tutorials
Dev Guide
Code of Conduct
Contributing Guide
Code Reference
Topics
Namespaces
Files
Bibliography
View on GitHub
src
PointwiseFunctions
AnalyticData
Elasticity
AnalyticData.hpp
1
// Distributed under the MIT License.
2
// See LICENSE.txt for details.
3
4
#pragma once
5
6
#include <
cstddef
>
7
8
#include "
DataStructures/Tensor/Tensor.hpp
"
9
#include "
Parallel/CharmPupable.hpp
"
10
#include "PointwiseFunctions/AnalyticData/AnalyticData.hpp"
11
#include "PointwiseFunctions/Elasticity/ConstitutiveRelations/ConstitutiveRelation.hpp"
12
#include "Utilities/FakeVirtual.hpp"
13
#include "Utilities/Registration.hpp"
14
#include "
Utilities/TMPL.hpp
"
15
#include "Utilities/TaggedTuple.hpp"
16
17
namespace
Elasticity
{
18
/// Analytic data for the Elasticity system
19
namespace
AnalyticData
{
20
21
/// Base class for the background of the Elasticity system, i.e. its
22
/// variable-independent quantities. Derived classes must provide a constitutive
23
/// relation.
24
template
<
size_t
Dim,
typename
Registrars>
25
class
AnalyticData
:
public
::AnalyticData
<Dim, Registrars> {
26
private
:
27
using
Base
=
::AnalyticData<Dim, Registrars>
;
28
29
protected
:
30
/// \cond
31
AnalyticData
() =
default
;
32
AnalyticData
(
const
AnalyticData
&) =
default
;
33
AnalyticData
(
AnalyticData
&&) =
default
;
34
AnalyticData
& operator=(
const
AnalyticData
&) =
default
;
35
AnalyticData
& operator=(
AnalyticData
&&) =
default
;
36
/// \endcond
37
38
public
:
39
~
AnalyticData
()
override
=
default
;
40
41
/// \cond
42
explicit
AnalyticData
(CkMigrateMessage* m) noexcept :
Base
(m) {}
43
WRAPPED_PUPable_abstract
(
AnalyticData
);
// NOLINT
44
/// \endcond
45
46
/// A constitutive relation that represents the properties of the elastic
47
/// material
48
virtual
const
ConstitutiveRelations::ConstitutiveRelation<Dim>
&
49
constitutive_relation
()
const
noexcept = 0;
50
};
51
}
// namespace AnalyticData
52
}
// namespace Elasticity
CharmPupable.hpp
Elasticity
Items related to solving elasticity problems.
Definition:
LaserBeam.cpp:13
cstddef
Elasticity::AnalyticData::AnalyticData
Base class for the background of the Elasticity system, i.e. its variable-independent quantities....
Definition:
AnalyticData.hpp:25
WRAPPED_PUPable_abstract
#define WRAPPED_PUPable_abstract(className)
Wraps the Charm++ macro, see the Charm++ documentation.
Definition:
CharmPupable.hpp:41
Elasticity::AnalyticData::AnalyticData::constitutive_relation
virtual const ConstitutiveRelations::ConstitutiveRelation< Dim > & constitutive_relation() const noexcept=0
A constitutive relation that represents the properties of the elastic material.
Tensor.hpp
Elasticity::ConstitutiveRelations::ConstitutiveRelation
Base class for constitutive (stress-strain) relations that characterize the elastic properties of a m...
Definition:
ConstitutiveRelation.hpp:56
TMPL.hpp
© Copyright 2017 - 2021
SXS Collaboration
,
Distributed under the
MIT License