22 #ifndef _aspect_simulator_access_h 23 #define _aspect_simulator_access_h 46 template <
int dim>
class Simulator;
51 namespace GravityModel
56 namespace HeatingModel
61 namespace PrescribedDilation
66 namespace MaterialModel
71 namespace InitialTemperature
77 namespace BoundaryTemperature
83 namespace BoundaryHeatFlux
88 namespace BoundaryConvectiveHeating
94 namespace BoundaryComposition
100 namespace BoundaryTraction
106 namespace BoundaryVelocity
112 namespace InitialComposition
118 namespace InitialTopographyModel
123 namespace MeshRefinement
128 namespace AdiabaticConditions
133 namespace Postprocess
141 namespace MeshDeformation
143 template <
int dim>
class MeshDeformationHandler;
155 namespace StokesSolver
157 template <
int dim>
class Interface;
165 namespace PrescribedSolution
252 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
265 introspection ()
const;
275 get_simulator ()
const;
282 get_parameters ()
const;
294 get_mpi_communicator ()
const;
303 get_computing_timer ()
const;
316 double get_time ()
const;
322 get_timestep ()
const;
328 get_old_timestep ()
const;
334 get_timestep_number ()
const;
342 get_timestepping_manager()
const;
348 get_nonlinear_iteration ()
const;
355 get_triangulation ()
const;
368 get_mapping ()
const;
376 get_output_directory ()
const;
385 get_checkpoint_id ()
const;
391 include_adiabatic_heating ()
const;
397 include_latent_heat ()
const;
403 include_melt_transport ()
const;
409 get_stokes_velocity_degree ()
const;
415 get_adiabatic_surface_temperature ()
const;
421 get_surface_pressure ()
const;
429 convert_output_to_years ()
const;
441 get_pre_refinement_step ()
const;
448 n_compositional_fields ()
const;
454 get_end_time ()
const;
463 get_refinement_criteria(
Vector<float> &estimated_error_per_cell)
const;
477 const bool skip_interior_cells =
false)
const;
484 get_artificial_viscosity_composition(
Vector<float> &viscosity_per_cell,
485 const unsigned int compositional_variable)
const;
504 get_current_linearization_point ()
const;
517 get_solution ()
const;
528 get_old_solution ()
const;
539 get_old_old_solution ()
const;
549 get_reaction_vector ()
const;
559 get_mesh_velocity ()
const;
566 get_dof_handler ()
const;
583 get_system_matrix ()
const;
589 get_system_preconditioner_matrix ()
const;
602 get_material_model ()
const;
608 get_gravity_model ()
const;
614 get_initial_topography_model ()
const;
621 const std::shared_ptr<const InitialTopographyModel::Interface<dim>>
622 get_initial_topography_model_pointer ()
const;
628 get_geometry_model ()
const;
636 get_adiabatic_conditions ()
const;
646 bool has_boundary_temperature ()
const;
655 get_boundary_temperature_manager ()
const;
664 get_boundary_convective_heating_manager ()
const;
671 get_boundary_heat_flux ()
const;
680 bool has_boundary_composition ()
const;
689 get_boundary_composition_manager ()
const;
698 get_boundary_traction_manager ()
const;
726 std::shared_ptr<const InitialTemperature::Manager<dim>>
727 get_initial_temperature_manager_pointer ()
const;
744 get_initial_temperature_manager ()
const;
771 std::shared_ptr<const InitialComposition::Manager<dim>>
772 get_initial_composition_manager_pointer ()
const;
789 get_initial_composition_manager ()
const;
795 const std::set<types::boundary_id> &
796 get_fixed_temperature_boundary_indicators ()
const;
802 const std::set<types::boundary_id> &
803 get_fixed_heat_flux_boundary_indicators ()
const;
809 const std::set<types::boundary_id> &
810 get_fixed_convective_heating_boundary_indicators ()
const;
816 const std::set<types::boundary_id> &
817 get_fixed_composition_boundary_indicators ()
const;
825 const std::set<types::boundary_id> &
826 get_mesh_deformation_boundary_indicators ()
const;
835 get_boundary_velocity_manager ()
const;
843 get_heating_model_manager ()
const;
851 get_prescribed_dilation_manager ()
const;
860 get_mesh_refinement_manager ()
const;
866 get_melt_handler ()
const;
872 get_volume_of_fluid_handler ()
const;
879 get_newton_handler ()
const;
881 #ifdef ASPECT_WITH_WORLD_BUILDER 899 get_world_builder ()
const;
910 std::shared_ptr<const WorldBuilder::World>
911 get_world_builder_pointer ()
const;
918 get_mesh_deformation_handler ()
const;
926 get_lateral_averaging ()
const;
933 get_current_constraints ()
const;
967 bool simulator_is_past_initialization ()
const;
974 get_pressure_scaling ()
const;
983 pressure_rhs_needs_compatibility_modification()
const;
989 model_has_prescribed_stokes_solution ()
const;
998 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
999 const unsigned int q,
1000 std::vector<double> &composition_values_at_q_point);
1019 get_postprocess_manager ()
const;
1025 n_particle_managers()
const;
1032 get_particle_manager(
const unsigned int particle_manager_index)
const;
1041 get_particle_manager(
const unsigned int particle_manager_index);
1046 bool is_stokes_matrix_free()
const;
1053 get_stokes_matrix_free ()
const;
1059 get_stokes_solver ()
const;
1066 get_prescribed_solution ()
const;
1080 compute_net_angular_momentum(
const bool use_constant_density,
1082 const bool limit_to_top_faces =
false)
const;
1120 void denormalize_pressure(
const double pressure_adjustment,
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator