ASPECT
include
aspect
particle
property
crust_and_lithosphere_formation.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) 2022-2025 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_particle_property_crust_and_lithosphere_formation_h
16
#define _aspect_particle_property_crust_and_lithosphere_formation_h
17
18
#include <
aspect/particle/property/interface.h
>
19
#include <
aspect/simulator_access.h
>
20
#include <
aspect/material_model/reaction_model/crust_and_lithosphere_formation.h
>
21
22
namespace
aspect
23
{
24
namespace
Particle
25
{
26
namespace
Property
27
{
34
template
<
int
dim>
35
class
CrustLithosphereFormation
:
public
Interface
<dim>,
public
::aspect::SimulatorAccess
<dim>
36
{
37
public
:
41
CrustLithosphereFormation
();
42
47
void
initialize
()
override
;
48
52
void
53
initialize_one_particle_property
(
const
Point<dim>
&position,
54
std::vector<double> &particle_properties)
const override
;
55
59
void
60
update_particle_properties
(
const
ParticleUpdateInputs<dim>
&inputs,
61
typename
ParticleHandler<dim>::particle_iterator_range
&particles)
const override
;
62
71
InitializationModeForLateParticles
72
late_initialization_mode
()
const override
;
73
81
AdvectionField
82
advection_field_for_boundary_initialization
(
const
unsigned
int
property_component)
const override
;
83
87
UpdateTimeFlags
88
need_update
()
const override
;
89
93
UpdateFlags
94
get_needed_update_flags
()
const override
;
95
99
std::vector<std::pair<std::string, unsigned int>>
100
get_property_information
()
const override
;
101
105
static
106
void
107
declare_parameters
(
ParameterHandler
&prm);
108
112
void
113
parse_parameters
(
ParameterHandler
&prm)
override
;
114
115
private
:
125
mutable
MaterialModel::MaterialModelInputs<dim>
material_inputs
;
126
mutable
MaterialModel::MaterialModelOutputs<dim>
material_outputs
;
127
132
unsigned
int
basalt_index
;
133
unsigned
int
harzburgite_index
;
134
138
std::unique_ptr<MaterialModel::ReactionModel::CrustLithosphereFormation<dim>>
crust_lithosphere_formation
;
139
};
140
}
141
}
142
}
143
144
#endif
aspect::Particle::Property::CrustLithosphereFormation::update_particle_properties
void update_particle_properties(const ParticleUpdateInputs< dim > &inputs, typename ParticleHandler< dim >::particle_iterator_range &particles) const override
aspect::MaterialModel::MaterialProperties::Property
Property
Definition:
interface.h:177
aspect::Particle::Property::CrustLithosphereFormation::late_initialization_mode
InitializationModeForLateParticles late_initialization_mode() const override
Point< dim >
aspect::Particle::Property::InitializationModeForLateParticles
InitializationModeForLateParticles
Definition:
interface.h:301
ParameterHandler
aspect::Particle::Property::CrustLithosphereFormation
Definition:
crust_and_lithosphere_formation.h:35
aspect::Particle::Property::CrustLithosphereFormation::need_update
UpdateTimeFlags need_update() const override
aspect::Particle::Property::CrustLithosphereFormation::material_outputs
MaterialModel::MaterialModelOutputs< dim > material_outputs
Definition:
crust_and_lithosphere_formation.h:126
UpdateFlags
UpdateFlags
aspect::Particle::Property::CrustLithosphereFormation::initialize
void initialize() override
aspect::Particle::Property::UpdateTimeFlags
UpdateTimeFlags
Definition:
interface.h:272
aspect::Particle::Property::ParticleUpdateInputs
Definition:
interface.h:45
simulator_access.h
aspect::SimulatorAccess
Definition:
plugins.h:41
crust_and_lithosphere_formation.h
interface.h
aspect::Particle::Property::Interface
Definition:
interface.h:339
aspect::Particle::Property::CrustLithosphereFormation::crust_lithosphere_formation
std::unique_ptr< MaterialModel::ReactionModel::CrustLithosphereFormation< dim > > crust_lithosphere_formation
Definition:
crust_and_lithosphere_formation.h:138
aspect::Particle::Property::CrustLithosphereFormation::declare_parameters
static void declare_parameters(ParameterHandler &prm)
aspect
Definition:
advection_field.h:24
aspect::Particle::Property::CrustLithosphereFormation::get_needed_update_flags
UpdateFlags get_needed_update_flags() const override
aspect::MaterialModel::MaterialModelInputs
Definition:
interface.h:237
Particles::ParticleHandler< dim >::particle_iterator_range
boost::iterator_range< particle_iterator > particle_iterator_range
aspect::Particle::Property::CrustLithosphereFormation::get_property_information
std::vector< std::pair< std::string, unsigned int > > get_property_information() const override
aspect::Particle::Property::CrustLithosphereFormation::parse_parameters
void parse_parameters(ParameterHandler &prm) override
aspect::Particle::Property::CrustLithosphereFormation::harzburgite_index
unsigned int harzburgite_index
Definition:
crust_and_lithosphere_formation.h:133
aspect::Particle::Property::CrustLithosphereFormation::initialize_one_particle_property
void initialize_one_particle_property(const Point< dim > &position, std::vector< double > &particle_properties) const override
aspect::Particle::Property::CrustLithosphereFormation::material_inputs
MaterialModel::MaterialModelInputs< dim > material_inputs
Definition:
crust_and_lithosphere_formation.h:125
aspect::Particle::Property::CrustLithosphereFormation::advection_field_for_boundary_initialization
AdvectionField advection_field_for_boundary_initialization(const unsigned int property_component) const override
aspect::MaterialModel::MaterialModelOutputs
Definition:
interface.h:524
aspect::Particle::Property::CrustLithosphereFormation::basalt_index
unsigned int basalt_index
Definition:
crust_and_lithosphere_formation.h:132
aspect::AdvectionField
Definition:
advection_field.h:39
aspect::Particle::Property::CrustLithosphereFormation::CrustLithosphereFormation
CrustLithosphereFormation()
ASPECT manual
| Generated by
1.8.12