ASPECT
include
aspect
material_model
equation_of_state
multicomponent_incompressible.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) 2011-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_material_model_equation_of_state_multicomponent_incompressible_h
16
#define _aspect_material_model_equation_of_state_multicomponent_incompressible_h
17
18
#include <
aspect/material_model/interface.h
>
19
#include <
aspect/simulator_access.h
>
20
#include <
aspect/material_model/equation_of_state/interface.h
>
21
22
23
namespace
aspect
24
{
25
namespace
MaterialModel
26
{
27
namespace
EquationOfState
28
{
45
template
<
int
dim>
46
class
MulticomponentIncompressible
:
public
::aspect::SimulatorAccess
<dim>
47
{
48
public
:
54
void
evaluate
(
const
MaterialModel::MaterialModelInputs<dim>
&in,
55
const
unsigned
int
input_index,
56
MaterialModel::EquationOfStateOutputs<dim>
&eos_outputs)
const
;
57
66
bool
is_compressible
()
const
;
67
74
static
75
void
76
declare_parameters
(
ParameterHandler
&prm,
77
const
double
default_thermal_expansion = 3.5
e
-5);
78
86
void
87
parse_parameters
(
ParameterHandler
&prm,
88
const
std::unique_ptr<std::vector<unsigned int>> &expected_n_phases_per_composition =
nullptr
);
89
90
private
:
97
std::vector<double>
densities
;
98
104
double
reference_T
;
105
111
std::vector<double>
thermal_expansivities
;
112
119
std::vector<double>
specific_heats
;
120
};
121
}
122
}
123
}
124
125
#endif
interface.h
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::evaluate
void evaluate(const MaterialModel::MaterialModelInputs< dim > &in, const unsigned int input_index, MaterialModel::EquationOfStateOutputs< dim > &eos_outputs) const
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::specific_heats
std::vector< double > specific_heats
Definition:
multicomponent_incompressible.h:119
ParameterHandler
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::parse_parameters
void parse_parameters(ParameterHandler &prm, const std::unique_ptr< std::vector< unsigned int >> &expected_n_phases_per_composition=nullptr)
e
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::reference_T
double reference_T
Definition:
multicomponent_incompressible.h:104
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::is_compressible
bool is_compressible() const
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::thermal_expansivities
std::vector< double > thermal_expansivities
Definition:
multicomponent_incompressible.h:111
simulator_access.h
aspect::SimulatorAccess
Definition:
plugins.h:41
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::declare_parameters
static void declare_parameters(ParameterHandler &prm, const double default_thermal_expansion=3.5e-5)
aspect::MaterialModel::EquationOfStateOutputs
Definition:
utilities.h:57
aspect
Definition:
advection_field.h:24
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible
Definition:
multicomponent_incompressible.h:46
aspect::MaterialModel::MaterialModelInputs
Definition:
interface.h:237
interface.h
aspect::MaterialModel::EquationOfState::MulticomponentIncompressible::densities
std::vector< double > densities
Definition:
multicomponent_incompressible.h:97
ASPECT manual
| Generated by
1.8.12