16 #ifndef _aspect_simulator_access_h 17 #define _aspect_simulator_access_h 40 template <
int dim>
class Simulator;
45 namespace GravityModel
50 namespace HeatingModel
55 namespace PrescribedDilation
60 namespace MaterialModel
65 namespace InitialTemperature
71 namespace BoundaryTemperature
77 namespace BoundaryHeatFlux
82 namespace BoundaryConvectiveHeating
88 namespace BoundaryComposition
94 namespace BoundaryTraction
100 namespace BoundaryVelocity
106 namespace InitialComposition
112 namespace InitialTopographyModel
117 namespace MeshRefinement
122 namespace AdiabaticConditions
127 namespace Postprocess
135 namespace MeshDeformation
137 template <
int dim>
class MeshDeformationHandler;
149 namespace StokesSolver
151 template <
int dim>
class Interface;
159 namespace PrescribedSolution
246 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
259 introspection ()
const;
269 get_simulator ()
const;
276 get_parameters ()
const;
288 get_mpi_communicator ()
const;
297 get_computing_timer ()
const;
310 double get_time ()
const;
316 get_timestep ()
const;
322 get_old_timestep ()
const;
328 get_timestep_number ()
const;
336 get_timestepping_manager()
const;
342 get_nonlinear_iteration ()
const;
349 get_triangulation ()
const;
362 get_mapping ()
const;
370 get_output_directory ()
const;
379 get_checkpoint_id ()
const;
385 include_adiabatic_heating ()
const;
391 include_latent_heat ()
const;
397 include_melt_transport ()
const;
403 get_stokes_velocity_degree ()
const;
409 get_adiabatic_surface_temperature ()
const;
415 get_surface_pressure ()
const;
423 convert_output_to_years ()
const;
435 get_pre_refinement_step ()
const;
442 n_compositional_fields ()
const;
448 get_end_time ()
const;
457 get_refinement_criteria(
Vector<float> &estimated_error_per_cell)
const;
471 const bool skip_interior_cells =
false)
const;
478 get_artificial_viscosity_composition(
Vector<float> &viscosity_per_cell,
479 const unsigned int compositional_variable)
const;
498 get_current_linearization_point ()
const;
511 get_solution ()
const;
522 get_old_solution ()
const;
533 get_old_old_solution ()
const;
543 get_reaction_vector ()
const;
553 get_mesh_velocity ()
const;
560 get_dof_handler ()
const;
577 get_system_matrix ()
const;
583 get_system_preconditioner_matrix ()
const;
596 get_material_model ()
const;
602 get_gravity_model ()
const;
608 get_initial_topography_model ()
const;
615 const std::shared_ptr<const InitialTopographyModel::Interface<dim>>
616 get_initial_topography_model_pointer ()
const;
622 get_geometry_model ()
const;
630 get_adiabatic_conditions ()
const;
640 bool has_boundary_temperature ()
const;
649 get_boundary_temperature_manager ()
const;
658 get_boundary_convective_heating_manager ()
const;
665 get_boundary_heat_flux ()
const;
674 bool has_boundary_composition ()
const;
683 get_boundary_composition_manager ()
const;
692 get_boundary_traction_manager ()
const;
720 std::shared_ptr<const InitialTemperature::Manager<dim>>
721 get_initial_temperature_manager_pointer ()
const;
738 get_initial_temperature_manager ()
const;
765 std::shared_ptr<const InitialComposition::Manager<dim>>
766 get_initial_composition_manager_pointer ()
const;
783 get_initial_composition_manager ()
const;
789 const std::set<types::boundary_id> &
790 get_fixed_temperature_boundary_indicators ()
const;
796 const std::set<types::boundary_id> &
797 get_fixed_heat_flux_boundary_indicators ()
const;
803 const std::set<types::boundary_id> &
804 get_fixed_convective_heating_boundary_indicators ()
const;
810 const std::set<types::boundary_id> &
811 get_fixed_composition_boundary_indicators ()
const;
819 const std::set<types::boundary_id> &
820 get_mesh_deformation_boundary_indicators ()
const;
829 get_boundary_velocity_manager ()
const;
837 get_heating_model_manager ()
const;
845 get_prescribed_dilation_manager ()
const;
854 get_mesh_refinement_manager ()
const;
860 get_melt_handler ()
const;
866 get_volume_of_fluid_handler ()
const;
873 get_newton_handler ()
const;
875 #ifdef ASPECT_WITH_WORLD_BUILDER 893 get_world_builder ()
const;
904 std::shared_ptr<const WorldBuilder::World>
905 get_world_builder_pointer ()
const;
912 get_mesh_deformation_handler ()
const;
920 get_lateral_averaging ()
const;
927 get_current_constraints ()
const;
961 bool simulator_is_past_initialization ()
const;
968 get_pressure_scaling ()
const;
977 pressure_rhs_needs_compatibility_modification()
const;
987 stokes_A_block_is_symmetric()
const;
993 model_has_prescribed_stokes_solution ()
const;
1002 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
1003 const unsigned int q,
1004 std::vector<double> &composition_values_at_q_point);
1023 get_postprocess_manager ()
const;
1029 n_particle_managers()
const;
1036 get_particle_manager(
const unsigned int particle_manager_index)
const;
1045 get_particle_manager(
const unsigned int particle_manager_index);
1050 bool is_stokes_matrix_free()
const;
1057 get_stokes_matrix_free ()
const;
1063 get_stokes_solver ()
const;
1070 get_prescribed_solution ()
const;
1084 compute_net_angular_momentum(
const bool use_constant_density,
1086 const bool limit_to_top_faces =
false)
const;
1124 void denormalize_pressure(
const double pressure_adjustment,
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator