![]() |
ASPECT
|
Public Member Functions | |
~Manager () override | |
virtual void | update () |
void | parse_parameters (ParameterHandler &prm) |
double | boundary_temperature (const types::boundary_id boundary_indicator, const Point< dim > &position) const |
double | minimal_temperature (const std::set< types::boundary_id > &fixed_boundary_ids=std::set< types::boundary_id >()) const |
double | maximal_temperature (const std::set< types::boundary_id > &fixed_boundary_ids=std::set< types::boundary_id >()) const |
const std::vector< std::string > & | get_active_boundary_temperature_names () const |
const std::vector< std::unique_ptr< Interface< dim > > > & | get_active_boundary_temperature_conditions () const |
template<typename BoundaryTemperatureType > | |
bool | has_matching_boundary_temperature_model () const |
template<typename BoundaryTemperatureType > | |
const BoundaryTemperatureType & | get_matching_boundary_temperature_model () const |
const std::set< types::boundary_id > & | get_fixed_temperature_boundary_indicators () const |
bool | allows_fixed_temperature_on_outflow_boundaries () const |
DeclException1 (ExcBoundaryTemperatureNameNotFound, std::string,<< "Could not find entry <"<< arg1<< "> among the names of registered boundary temperature objects.") | |
![]() | |
SimulatorAccess () | |
SimulatorAccess (const Simulator< dim > &simulator_object) | |
virtual | ~SimulatorAccess ()=default |
virtual void | initialize_simulator (const Simulator< dim > &simulator_object) |
const Introspection< dim > & | introspection () const |
const Simulator< dim > & | get_simulator () const |
const Parameters< dim > & | get_parameters () const |
SimulatorSignals< dim > & | get_signals () const |
MPI_Comm | get_mpi_communicator () const |
TimerOutput & | get_computing_timer () const |
const ConditionalOStream & | get_pcout () const |
double | get_time () const |
double | get_timestep () const |
double | get_old_timestep () const |
unsigned int | get_timestep_number () const |
unsigned int | get_nonlinear_iteration () const |
const parallel::distributed::Triangulation< dim > & | get_triangulation () const |
double | get_volume () const |
const Mapping< dim > & | get_mapping () const |
std::string | get_output_directory () const |
bool | include_adiabatic_heating () const |
bool | include_latent_heat () const |
bool | include_melt_transport () const |
int | get_stokes_velocity_degree () const |
double | get_adiabatic_surface_temperature () const |
double | get_surface_pressure () const |
bool | convert_output_to_years () const |
unsigned int | get_pre_refinement_step () const |
unsigned int | n_compositional_fields () const |
void | get_refinement_criteria (Vector< float > &estimated_error_per_cell) const |
void | get_artificial_viscosity (Vector< float > &viscosity_per_cell, const bool skip_interior_cells=false) const |
void | get_artificial_viscosity_composition (Vector< float > &viscosity_per_cell, const unsigned int compositional_variable) const |
const LinearAlgebra::BlockVector & | get_current_linearization_point () const |
const LinearAlgebra::BlockVector & | get_solution () const |
const LinearAlgebra::BlockVector & | get_old_solution () const |
const LinearAlgebra::BlockVector & | get_old_old_solution () const |
const LinearAlgebra::BlockVector & | get_reaction_vector () const |
const LinearAlgebra::BlockVector & | get_mesh_velocity () const |
const DoFHandler< dim > & | get_dof_handler () const |
const FiniteElement< dim > & | get_fe () const |
const LinearAlgebra::BlockSparseMatrix & | get_system_matrix () const |
const LinearAlgebra::BlockSparseMatrix & | get_system_preconditioner_matrix () const |
const MaterialModel::Interface< dim > & | get_material_model () const |
const GravityModel::Interface< dim > & | get_gravity_model () const |
const InitialTopographyModel::Interface< dim > & | get_initial_topography_model () const |
const GeometryModel::Interface< dim > & | get_geometry_model () const |
const AdiabaticConditions::Interface< dim > & | get_adiabatic_conditions () const |
bool | has_boundary_temperature () const |
const BoundaryTemperature::Manager< dim > & | get_boundary_temperature_manager () const |
const BoundaryHeatFlux::Interface< dim > & | get_boundary_heat_flux () const |
bool | has_boundary_composition () const |
const BoundaryComposition::Manager< dim > & | get_boundary_composition_manager () const |
const std::map< types::boundary_id, std::unique_ptr< BoundaryTraction::Interface< dim > > > & | get_boundary_traction () const |
std::shared_ptr< const InitialTemperature::Manager< dim > > | get_initial_temperature_manager_pointer () const |
const InitialTemperature::Manager< dim > & | get_initial_temperature_manager () const |
std::shared_ptr< const InitialComposition::Manager< dim > > | get_initial_composition_manager_pointer () const |
const InitialComposition::Manager< dim > & | get_initial_composition_manager () const |
const std::set< types::boundary_id > & | get_fixed_temperature_boundary_indicators () const |
const std::set< types::boundary_id > & | get_fixed_heat_flux_boundary_indicators () const |
const std::set< types::boundary_id > & | get_fixed_composition_boundary_indicators () const |
const std::set< types::boundary_id > & | get_mesh_deformation_boundary_indicators () const |
const BoundaryVelocity::Manager< dim > & | get_boundary_velocity_manager () const |
const HeatingModel::Manager< dim > & | get_heating_model_manager () const |
const MeshRefinement::Manager< dim > & | get_mesh_refinement_manager () const |
const MeltHandler< dim > & | get_melt_handler () const |
const VolumeOfFluidHandler< dim > & | get_volume_of_fluid_handler () const |
const NewtonHandler< dim > & | get_newton_handler () const |
const MeshDeformation::MeshDeformationHandler< dim > & | get_mesh_deformation_handler () const |
const LateralAveraging< dim > & | get_lateral_averaging () const |
const AffineConstraints< double > & | get_current_constraints () const |
bool | simulator_is_past_initialization () const |
double | get_pressure_scaling () const |
bool | pressure_rhs_needs_compatibility_modification () const |
bool | model_has_prescribed_stokes_solution () const |
TableHandler & | get_statistics_object () const |
const Postprocess::Manager< dim > & | get_postprocess_manager () const |
const Particle::World< dim > & | get_particle_world () const |
Particle::World< dim > & | get_particle_world () |
bool | is_stokes_matrix_free () |
const StokesMatrixFreeHandler< dim > & | get_stokes_matrix_free () const |
RotationProperties< dim > | compute_net_angular_momentum (const bool use_constant_density, const LinearAlgebra::BlockVector &solution, const bool limit_to_top_faces=false) const |
Static Public Member Functions | |
static void | declare_parameters (ParameterHandler &prm) |
static void | register_boundary_temperature (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_temperature_objects |
std::vector< std::string > | model_names |
std::vector< aspect::Utilities::Operator > | model_operators |
std::set< types::boundary_id > | fixed_temperature_boundary_indicators |
bool | allow_fixed_temperature_on_outflow_boundaries |
A class that manages all boundary temperature objects.
Definition at line 76 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 temperature 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 temperature change at a boundary.
|
static |
Declare the parameters of all known boundary temperature plugins, as well as the ones this class has itself.
void aspect::BoundaryTemperature::Manager< dim >::parse_parameters | ( | ParameterHandler & | prm | ) |
Read the parameters this class declares from the parameter file. This determines which boundary temperature objects will be created; then let these objects read their parameters as well.
double aspect::BoundaryTemperature::Manager< dim >::boundary_temperature | ( | const types::boundary_id | boundary_indicator, |
const Point< dim > & | position | ||
) | const |
A function that calls the boundary_temperature functions of all the individual boundary temperature objects and uses the stored operators to combine them.
double aspect::BoundaryTemperature::Manager< dim >::minimal_temperature | ( | const std::set< types::boundary_id > & | fixed_boundary_ids = std::set< types::boundary_id >() | ) | const |
Return the minimal temperature of all selected plugins on that part of the boundary on which Dirichlet conditions are posed.
double aspect::BoundaryTemperature::Manager< dim >::maximal_temperature | ( | const std::set< types::boundary_id > & | fixed_boundary_ids = std::set< types::boundary_id >() | ) | const |
Return the maximal temperature of all selected plugins on that part of the boundary on which Dirichlet conditions are posed.
|
static |
A function that is used to register boundary temperature 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 temperature plugin class.
name | A string that identifies the boundary temperature 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 temperature model wants to read from input files. |
factory_function | A pointer to a function that can create an object of this boundary temperature model. |
const std::vector<std::string>& aspect::BoundaryTemperature::Manager< dim >::get_active_boundary_temperature_names | ( | ) | const |
Return a list of names of all boundary temperature models currently used in the computation, as specified in the input file.
const std::vector<std::unique_ptr<Interface<dim> > >& aspect::BoundaryTemperature::Manager< dim >::get_active_boundary_temperature_conditions | ( | ) | const |
Return a list of pointers to all boundary temperature models currently used in the computation, as specified in the input file.
|
inline |
Go through the list of all boundary temperature 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 352 of file interface.h.
|
inline |
Go through the list of all boundary temperature 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 temperature model is active that matches the given type, throw an exception.
Definition at line 365 of file interface.h.
References aspect::BoundaryTemperature::get_valid_model_names_pattern().
const std::set<types::boundary_id>& aspect::BoundaryTemperature::Manager< dim >::get_fixed_temperature_boundary_indicators | ( | ) | const |
bool aspect::BoundaryTemperature::Manager< dim >::allows_fixed_temperature_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::BoundaryTemperature::Manager< dim >::DeclException1 | ( | ExcBoundaryTemperatureNameNotFound | , |
std::string | |||
) |
Exception.
|
private |
A list of boundary temperature objects that have been requested in the parameter file.
Definition at line 317 of file interface.h.
|
private |
A list of names of boundary temperature objects that have been requested in the parameter file.
Definition at line 323 of file interface.h.
|
private |
A list of enums of boundary temperature operators that have been requested in the parameter file. Each name is associated with a model_name, and is used to modify the temperature boundary with the values from the current plugin.
Definition at line 331 of file interface.h.
|
private |
A set of boundary ids on which the boundary_temperature_objects will be applied.
Definition at line 337 of file interface.h.
|
private |
Whether we allow the temperature to be fixed on parts of the boundary where material flows out of the domain.
Definition at line 343 of file interface.h.