![]() |
ASPECT
|
Static Public Member Functions | |
static void | declare_parameters (ParameterHandler &prm) |
static void | register_boundary_composition (const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)()) |
static void | write_plugin_graph (std::ostream &output_stream) |
![]() | |
static void | get_composition_values_at_q_point (const std::vector< std::vector< double >> &composition_values, const unsigned int q, std::vector< double > &composition_values_at_q_point) |
Private Attributes | |
std::vector< std::unique_ptr< Interface< dim > > > | boundary_composition_objects |
std::vector< std::string > | model_names |
std::vector< aspect::Utilities::Operator > | model_operators |
std::set< types::boundary_id > | fixed_composition_boundary_indicators |
bool | allow_fixed_composition_on_outflow_boundaries |
A class that manages all boundary composition objects.
Definition at line 87 of file simulator_access.h.
|
override |
Destructor. Made virtual since this class has virtual member functions.
|
virtual |
A function that is called at the beginning of each time step and calls the corresponding functions of all created plugins.
The point of this function is to allow complex boundary composition models to do an initialization step once at the beginning of each time step. An example would be a model that needs to call an external program to compute the composition change at a boundary.
|
static |
Declare the parameters of all known boundary composition plugins, as well as the ones this class has itself.
void aspect::BoundaryComposition::Manager< dim >::parse_parameters | ( | ParameterHandler & | prm | ) |
Read the parameters this class declares from the parameter file. This determines which boundary composition objects will be created; then let these objects read their parameters as well.
double aspect::BoundaryComposition::Manager< dim >::boundary_composition | ( | const types::boundary_id | boundary_indicator, |
const Point< dim > & | position, | ||
const unsigned int | compositional_field | ||
) | const |
A function that calls the boundary_composition functions of all the individual boundary composition objects and uses the stored operators to combine them.
|
static |
A function that is used to register boundary composition objects in such a way that the Manager can deal with all of them without having to know them by name. This allows the files in which individual plugins are implemented to register these plugins, rather than also having to modify the Manager class by adding the new boundary composition plugin class.
name | A string that identifies the boundary composition model |
description | A text description of what this model does and that will be listed in the documentation of the parameter file. |
declare_parameters_function | A pointer to a function that can be used to declare the parameters that this boundary composition model wants to read from input files. |
factory_function | A pointer to a function that can create an object of this boundary composition model. |
const std::vector<std::string>& aspect::BoundaryComposition::Manager< dim >::get_active_boundary_composition_names | ( | ) | const |
Return a list of names of all boundary composition models currently used in the computation, as specified in the input file.
const std::vector<std::unique_ptr<Interface<dim> > >& aspect::BoundaryComposition::Manager< dim >::get_active_boundary_composition_conditions | ( | ) | const |
Return a list of pointers to all boundary composition models currently used in the computation, as specified in the input file.
|
inline |
Go through the list of all boundary composition models that have been selected in the input file (and are consequently currently active) and return true if one of them has the desired type specified by the template argument.
Definition at line 318 of file interface.h.
|
inline |
Go through the list of all boundary composition models that have been selected in the input file (and are consequently currently active) and see if one of them has the type specified by the template argument or can be casted to that type. If so, return a reference to it. If no boundary composition model is active that matches the given type, throw an exception.
Definition at line 333 of file interface.h.
References aspect::BoundaryComposition::get_valid_model_names_pattern().
const std::set<types::boundary_id>& aspect::BoundaryComposition::Manager< dim >::get_fixed_composition_boundary_indicators | ( | ) | const |
bool aspect::BoundaryComposition::Manager< dim >::allows_fixed_composition_on_outflow_boundaries | ( | ) | const |
|
static |
For the current plugin subsystem, write a connection graph of all of the plugins we know about, in the format that the programs dot and neato understand. This allows for a visualization of how all of the plugins that ASPECT knows about are interconnected, and connect to other parts of the ASPECT code.
output_stream | The stream to write the output to. |
aspect::BoundaryComposition::Manager< dim >::DeclException1 | ( | ExcBoundaryCompositionNameNotFound | , |
std::string | |||
) |
Exception.
|
private |
A list of boundary composition objects that have been requested in the parameter file.
Definition at line 283 of file interface.h.
|
private |
A list of names of boundary composition objects that have been requested in the parameter file.
Definition at line 289 of file interface.h.
|
private |
A list of enums of boundary composition operators that have been requested in the parameter file. Each name is associated with a model_name, and is used to modify the composition boundary with the values from the current plugin.
Definition at line 297 of file interface.h.
|
private |
A set of boundary ids on which the boundary_composition_objects will be applied.
Definition at line 303 of file interface.h.
|
private |
Whether we allow the composition to be fixed on parts of the boundary where material flows out of the domain.
Definition at line 309 of file interface.h.