ASPECT
include
aspect
adiabatic_conditions
compute_entropy_profile.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2016 - 2023 by the authors of the ASPECT code.
3
4
This file is part of ASPECT.
5
6
ASPECT is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
11
ASPECT is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with ASPECT; see the file LICENSE. If not see
18
<http://www.gnu.org/licenses/>.
19
*/
20
21
22
#ifndef _aspect_adiabatic_conditions_compute_entropy_profile_h
23
#define _aspect_adiabatic_conditions_compute_entropy_profile_h
24
25
26
#include <
aspect/adiabatic_conditions/interface.h
>
27
28
namespace
aspect
29
{
30
namespace
AdiabaticConditions
31
{
32
using namespace
dealii
;
33
44
template
<
int
dim>
45
class
ComputeEntropyProfile
:
public
Interface
<dim>
46
{
47
public
:
51
ComputeEntropyProfile
();
52
60
void
initialize
()
override
;
61
72
bool
is_initialized()
const override
;
73
77
double
temperature
(
const
Point<dim> &p)
const override
;
78
82
double
pressure
(
const
Point<dim> &p)
const override
;
83
87
double
density
(
const
Point<dim> &p)
const override
;
88
93
double
density_derivative (
const
Point<dim> &p)
const override
;
94
95
static
96
void
97
declare_parameters
(ParameterHandler &prm);
98
99
void
100
parse_parameters (ParameterHandler &prm)
override
;
101
102
private
:
109
bool
initialized
;
110
114
unsigned
int
n_points
;
115
119
double
surface_entropy
;
120
126
std::vector<double>
temperatures
;
127
std::vector<double>
pressures
;
128
std::vector<double>
densities
;
129
134
double
delta_z
;
135
140
double
get_property (
const
Point<dim> &p,
141
const
std::vector<double> &property)
const
;
142
};
143
}
144
}
145
146
147
#endif
aspect::AdiabaticConditions::Interface
Definition:
simulator_access.h:121
aspect::AdiabaticConditions::ComputeEntropyProfile::pressures
std::vector< double > pressures
Definition:
compute_entropy_profile.h:127
aspect::MaterialModel::NonlinearDependence::pressure
Definition:
interface.h:90
aspect::AdiabaticConditions::ComputeEntropyProfile::surface_entropy
double surface_entropy
Definition:
compute_entropy_profile.h:119
aspect::MaterialModel::NonlinearDependence::temperature
Definition:
interface.h:89
interface.h
aspect::AdiabaticConditions::declare_parameters
void declare_parameters(ParameterHandler &prm)
aspect::AdiabaticConditions::ComputeEntropyProfile::initialized
bool initialized
Definition:
compute_entropy_profile.h:109
aspect::AdiabaticConditions::ComputeEntropyProfile::delta_z
double delta_z
Definition:
compute_entropy_profile.h:134
aspect
Definition:
compat.h:59
aspect::Particle::Property::initialize
Definition:
interface.h:306
aspect::AdiabaticConditions::ComputeEntropyProfile::temperatures
std::vector< double > temperatures
Definition:
compute_entropy_profile.h:126
aspect::AdiabaticConditions::ComputeEntropyProfile::n_points
unsigned int n_points
Definition:
compute_entropy_profile.h:114
aspect::MaterialModel::Property::density
Definition:
compositing.h:43
dealii
Definition:
compat.h:42
aspect::AdiabaticConditions::ComputeEntropyProfile::densities
std::vector< double > densities
Definition:
compute_entropy_profile.h:128
aspect::AdiabaticConditions::ComputeEntropyProfile
Definition:
compute_entropy_profile.h:45