ASPECT
include
aspect
simulator
assemblers
stokes.h
Go to the documentation of this file.
1
// ------------------------------------------------------
2
//
3
// SPDX-License-Identifier: GPL-2.0-or-later
4
//
5
// SPDX-FileCopyrightText: Copyright (C) 2017-2026 by the ASPECT authors.
6
//
7
// This file is part of ASPECT.
8
//
9
// Detailed license information governing the source code and
10
// contributions can be found in the folder LICENSES and in
11
// LICENSE and CONTRIBUTING.md at the top level directory.
12
//
13
// ------------------------------------------------------
14
15
#ifndef _aspect_simulator_assemblers_stokes_h
16
#define _aspect_simulator_assemblers_stokes_h
17
18
19
#include <
aspect/simulator/assemblers/interface.h
>
20
#include <
aspect/simulator_access.h
>
21
22
namespace
aspect
23
{
24
namespace
Assemblers
25
{
29
template
<
int
dim>
30
class
StokesPreconditioner
:
public
Assemblers::Interface
<dim>,
31
public
SimulatorAccess
<dim>
32
{
33
public
:
34
void
35
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
36
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
37
38
void
create_additional_material_model_outputs
(
MaterialModel::MaterialModelOutputs<dim>
&outputs)
const override
;
39
};
40
45
template
<
int
dim>
46
class
StokesCompressiblePreconditioner
:
public
Assemblers::Interface
<dim>,
47
public
SimulatorAccess
<dim>
48
{
49
public
:
50
void
51
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
52
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
53
};
54
59
template
<
int
dim>
60
class
StokesIncompressibleTerms
:
public
Assemblers::Interface
<dim>,
61
public
SimulatorAccess
<dim>
62
{
63
public
:
64
void
65
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
66
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
67
71
void
create_additional_material_model_outputs
(
MaterialModel::MaterialModelOutputs<dim>
&outputs)
const override
;
72
};
73
78
template
<
int
dim>
79
class
StokesCompressibleStrainRateViscosityTerm
:
public
Assemblers::Interface
<dim>,
80
public
SimulatorAccess
<dim>
81
{
82
public
:
83
void
84
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
85
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
86
};
87
97
template
<
int
dim>
98
class
StokesReferenceDensityCompressibilityTerm
:
public
Assemblers::Interface
<dim>,
99
public
SimulatorAccess
<dim>
100
{
101
public
:
102
void
103
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
104
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
105
};
106
116
template
<
int
dim>
117
class
StokesImplicitReferenceDensityCompressibilityTerm
:
public
Assemblers::Interface
<dim>,
118
public
SimulatorAccess
<dim>
119
{
120
public
:
121
void
122
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
123
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
124
};
125
135
template
<
int
dim>
136
class
StokesIsentropicCompressionTerm
:
public
Assemblers::Interface
<dim>,
137
public
SimulatorAccess
<dim>
138
{
139
public
:
140
void
141
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
142
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
143
};
144
153
template
<
int
dim>
154
class
StokesProjectedDensityFieldTerm
:
public
Assemblers::Interface
<dim>,
155
public
SimulatorAccess
<dim>
156
{
157
public
:
158
void
159
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch,
160
internal::Assembly::CopyData::CopyDataBase<dim>
&
data
)
const override
;
161
};
162
163
176
template
<
int
dim>
177
class
StokesHydrostaticCompressionTerm
:
public
Assemblers::Interface
<dim>,
178
public
SimulatorAccess
<dim>
179
{
180
public
:
181
void
182
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
183
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
184
};
185
190
template
<
int
dim>
191
class
StokesBoundaryTraction
:
public
Assemblers::Interface
<dim>,
192
public
SimulatorAccess
<dim>
193
{
194
public
:
195
void
196
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
197
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
198
};
199
207
template
<
int
dim>
208
class
StokesPressureRHSCompatibilityModification
:
public
Assemblers::Interface
<dim>,
209
public
SimulatorAccess
<dim>
210
{
211
public
:
212
void
213
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
214
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
215
};
216
222
template
<
int
dim>
223
class
StokesPrescribedDilation
:
public
Assemblers::Interface
<dim>,
224
public
SimulatorAccess
<dim>
225
{
226
public
:
227
void
228
execute
(
internal::Assembly::Scratch::ScratchBase<dim>
&scratch_base,
229
internal::Assembly::CopyData::CopyDataBase<dim>
&data_base)
const override
;
230
};
231
}
232
}
233
234
235
#endif
data
std::vector< index_type > data
aspect::Assemblers::StokesPreconditioner
Definition:
stokes.h:30
aspect::Assemblers::StokesProjectedDensityFieldTerm
Definition:
stokes.h:154
aspect::Assemblers::StokesHydrostaticCompressionTerm
Definition:
stokes.h:177
aspect::Assemblers::StokesCompressiblePreconditioner
Definition:
stokes.h:46
aspect::Assemblers::StokesIsentropicCompressionTerm
Definition:
stokes.h:136
aspect::Assemblers::StokesReferenceDensityCompressibilityTerm
Definition:
stokes.h:98
aspect::Assemblers::StokesPrescribedDilation
Definition:
stokes.h:223
simulator_access.h
aspect::Assemblers::StokesPreconditioner::create_additional_material_model_outputs
void create_additional_material_model_outputs(MaterialModel::MaterialModelOutputs< dim > &outputs) const override
aspect::Assemblers::StokesBoundaryTraction
Definition:
stokes.h:191
aspect::Assemblers::StokesPreconditioner::execute
void execute(internal::Assembly::Scratch::ScratchBase< dim > &scratch_base, internal::Assembly::CopyData::CopyDataBase< dim > &data_base) const override
aspect::SimulatorAccess
Definition:
plugins.h:41
aspect
Definition:
advection_field.h:24
aspect::Assemblers::Interface
Definition:
simulator.h:139
interface.h
aspect::internal::Assembly::Scratch::ScratchBase
Definition:
interface.h:51
aspect::Assemblers::StokesImplicitReferenceDensityCompressibilityTerm
Definition:
stokes.h:117
aspect::MaterialModel::MaterialModelOutputs
Definition:
interface.h:524
aspect::Assemblers::StokesPressureRHSCompatibilityModification
Definition:
stokes.h:208
aspect::internal::Assembly::CopyData::CopyDataBase
Definition:
interface.h:345
aspect::Assemblers::StokesIncompressibleTerms
Definition:
stokes.h:60
aspect::Assemblers::StokesCompressibleStrainRateViscosityTerm
Definition:
stokes.h:79
ASPECT manual
| Generated by
1.8.12