22 #ifndef _aspect_simulator_access_h
23 #define _aspect_simulator_access_h
46 template <
int dim>
class Simulator;
47 template <
int dim>
struct SimulatorSignals;
48 template <
int dim>
class LateralAveraging;
49 template <
int dim>
struct RotationProperties;
51 namespace GravityModel
56 namespace HeatingModel
58 template <
int dim>
class Manager;
61 namespace PrescribedDilation
63 template <
int dim>
class Manager;
66 namespace MaterialModel
68 template <
int dim>
class Interface;
71 namespace InitialTemperature
73 template <
int dim>
class Manager;
77 namespace BoundaryTemperature
79 template <
int dim>
class Manager;
83 namespace BoundaryHeatFlux
88 namespace BoundaryConvectiveHeating
90 template <
int dim>
class Manager;
94 namespace BoundaryComposition
96 template <
int dim>
class Manager;
100 namespace BoundaryTraction
102 template <
int dim>
class Manager;
106 namespace BoundaryVelocity
108 template <
int dim>
class Manager;
112 namespace InitialComposition
114 template <
int dim>
class Manager;
118 namespace InitialTopographyModel
123 namespace MeshRefinement
125 template <
int dim>
class Manager;
128 namespace AdiabaticConditions
133 namespace Postprocess
135 template <
int dim>
class Manager;
141 namespace MeshDeformation
143 template <
int dim>
class MeshDeformationHandler;
146 template <
int dim>
class NewtonHandler;
148 template <
int dim>
class StokesMatrixFreeHandler;
152 template <
int dim>
class Manager;
155 namespace StokesSolver
157 template <
int dim>
class Interface;
162 template <
int dim>
class Manager;
165 namespace PrescribedSolution
167 template <
int dim>
class Manager;
477 const bool skip_interior_cells =
false)
const;
485 const unsigned int compositional_variable)
const;
621 const std::shared_ptr<const InitialTopographyModel::Interface<dim>>
726 std::shared_ptr<const InitialTemperature::Manager<dim>>
771 std::shared_ptr<const InitialComposition::Manager<dim>>
795 const std::set<types::boundary_id> &
802 const std::set<types::boundary_id> &
809 const std::set<types::boundary_id> &
816 const std::set<types::boundary_id> &
825 const std::set<types::boundary_id> &
881 #ifdef ASPECT_WITH_WORLD_BUILDER
899 get_world_builder ()
const;
910 std::shared_ptr<const WorldBuilder::World>
911 get_world_builder_pointer ()
const;
1009 const unsigned int q,
1010 std::vector<double> &composition_values_at_q_point);
1092 const bool limit_to_top_faces =
false)
const;
const LinearAlgebra::BlockVector & get_current_linearization_point() const
const BoundaryVelocity::Manager< dim > & get_boundary_velocity_manager() const
const VolumeOfFluidHandler< dim > & get_volume_of_fluid_handler() const
bool simulator_is_past_initialization() const
const Mapping< dim > & get_mapping() const
const Parameters< dim > & get_parameters() const
double get_timestep() const
bool model_has_prescribed_stokes_solution() const
const BoundaryTemperature::Manager< dim > & get_boundary_temperature_manager() const
const InitialTemperature::Manager< dim > & get_initial_temperature_manager() const
bool include_adiabatic_heating() const
const StokesMatrixFreeHandler< dim > & get_stokes_matrix_free() const
const ConditionalOStream & get_pcout() const
const Introspection< dim > & introspection() const
double get_end_time() const
unsigned int n_compositional_fields() const
const MaterialModel::Interface< dim > & get_material_model() const
const GravityModel::Interface< dim > & get_gravity_model() const
bool has_boundary_composition() const
unsigned int get_checkpoint_id() const
bool include_latent_heat() const
const GeometryModel::Interface< dim > & get_geometry_model() const
const InitialComposition::Manager< dim > & get_initial_composition_manager() const
const LinearAlgebra::BlockSparseMatrix & get_system_matrix() const
const parallel::distributed::Triangulation< dim > & get_triangulation() const
const AffineConstraints< double > & get_current_constraints() const
const Postprocess::Manager< dim > & get_postprocess_manager() const
const std::set< types::boundary_id > & get_fixed_temperature_boundary_indicators() const
const NewtonHandler< dim > & get_newton_handler() const
const LinearAlgebra::BlockSparseMatrix & get_system_preconditioner_matrix() const
double get_pressure_scaling() const
std::shared_ptr< const InitialTemperature::Manager< dim > > get_initial_temperature_manager_pointer() const
Particle::Manager< dim > & get_particle_manager(const unsigned int particle_manager_index)
SimulatorSignals< dim > & get_signals() const
void remove_nullspace(LinearAlgebra::BlockVector &solution, LinearAlgebra::BlockVector &distributed_stokes_solution) const
const TimeStepping::Manager< dim > & get_timestepping_manager() const
const BoundaryComposition::Manager< dim > & get_boundary_composition_manager() const
const LinearAlgebra::BlockVector & get_reaction_vector() const
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)
SimulatorAccess(const Simulator< dim > &simulator_object)
bool stokes_A_block_is_symmetric() const
const HeatingModel::Manager< dim > & get_heating_model_manager() const
virtual void initialize_simulator(const Simulator< dim > &simulator_object)
bool convert_output_to_years() const
const MeshDeformation::MeshDeformationHandler< dim > & get_mesh_deformation_handler() const
const std::set< types::boundary_id > & get_fixed_composition_boundary_indicators() const
unsigned int get_nonlinear_iteration() const
const MeshRefinement::Manager< dim > & get_mesh_refinement_manager() const
const LinearAlgebra::BlockVector & get_solution() const
const AdiabaticConditions::Interface< dim > & get_adiabatic_conditions() const
bool include_melt_transport() const
double get_adiabatic_surface_temperature() const
const std::shared_ptr< const InitialTopographyModel::Interface< dim > > get_initial_topography_model_pointer() const
bool has_boundary_temperature() const
void get_artificial_viscosity(Vector< float > &viscosity_per_cell, const bool skip_interior_cells=false) const
const StokesSolver::Interface< dim > & get_stokes_solver() const
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator
const BoundaryHeatFlux::Interface< dim > & get_boundary_heat_flux() const
std::string get_output_directory() const
const LinearAlgebra::BlockVector & get_old_solution() const
TableHandler & get_statistics_object() const
double get_old_timestep() const
const InitialTopographyModel::Interface< dim > & get_initial_topography_model() const
double normalize_pressure(LinearAlgebra::BlockVector &vector) const
void get_artificial_viscosity_composition(Vector< float > &viscosity_per_cell, const unsigned int compositional_variable) const
unsigned int n_particle_managers() const
unsigned int get_pre_refinement_step() const
const BoundaryConvectiveHeating::Manager< dim > & get_boundary_convective_heating_manager() const
const std::set< types::boundary_id > & get_fixed_heat_flux_boundary_indicators() const
const Particle::Manager< dim > & get_particle_manager(const unsigned int particle_manager_index) const
void get_refinement_criteria(Vector< float > &estimated_error_per_cell) const
const std::set< types::boundary_id > & get_fixed_convective_heating_boundary_indicators() const
const LinearAlgebra::BlockVector & get_old_old_solution() const
double get_volume() const
MPI_Comm get_mpi_communicator() const
unsigned int get_timestep_number() const
const PrescribedDilation::Manager< dim > & get_prescribed_dilation_manager() const
const LateralAveraging< dim > & get_lateral_averaging() const
const FiniteElement< dim > & get_fe() const
bool is_stokes_matrix_free() const
int get_stokes_velocity_degree() const
const PrescribedSolution::Manager< dim > & get_prescribed_solution() const
std::shared_ptr< const InitialComposition::Manager< dim > > get_initial_composition_manager_pointer() const
bool pressure_rhs_needs_compatibility_modification() const
const DoFHandler< dim > & get_dof_handler() const
TimerOutput & get_computing_timer() const
void denormalize_pressure(const double pressure_adjustment, LinearAlgebra::BlockVector &vector) const
const MeltHandler< dim > & get_melt_handler() const
const std::set< types::boundary_id > & get_mesh_deformation_boundary_indicators() const
const LinearAlgebra::BlockVector & get_mesh_velocity() const
RotationProperties< dim > compute_net_angular_momentum(const bool use_constant_density, const LinearAlgebra::BlockVector &solution, const bool limit_to_top_faces=false) const
double get_surface_pressure() const
const BoundaryTraction::Manager< dim > & get_boundary_traction_manager() const
const Simulator< dim > & get_simulator() const
virtual ~SimulatorAccess()