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;
160 namespace PrescribedSolution
247 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
260 introspection ()
const;
270 get_simulator ()
const;
277 get_parameters ()
const;
289 get_mpi_communicator ()
const;
298 get_computing_timer ()
const;
311 double get_time ()
const;
317 get_timestep ()
const;
323 get_old_timestep ()
const;
329 get_timestep_number ()
const;
337 get_timestepping_manager()
const;
343 get_nonlinear_iteration ()
const;
350 get_triangulation ()
const;
363 get_mapping ()
const;
371 get_output_directory ()
const;
380 get_checkpoint_id ()
const;
386 include_adiabatic_heating ()
const;
392 include_latent_heat ()
const;
398 include_melt_transport ()
const;
404 get_stokes_velocity_degree ()
const;
410 get_adiabatic_surface_temperature ()
const;
416 get_surface_pressure ()
const;
424 convert_output_to_years ()
const;
436 get_pre_refinement_step ()
const;
443 n_compositional_fields ()
const;
449 get_end_time ()
const;
458 get_refinement_criteria(
Vector<float> &estimated_error_per_cell)
const;
472 const bool skip_interior_cells =
false)
const;
479 get_artificial_viscosity_composition(
Vector<float> &viscosity_per_cell,
480 const unsigned int compositional_variable)
const;
499 get_current_linearization_point ()
const;
512 get_solution ()
const;
523 get_old_solution ()
const;
534 get_old_old_solution ()
const;
544 get_reaction_vector ()
const;
554 get_mesh_velocity ()
const;
561 get_dof_handler ()
const;
578 get_system_matrix ()
const;
584 get_system_preconditioner_matrix ()
const;
597 get_material_model ()
const;
603 get_gravity_model ()
const;
609 get_initial_topography_model ()
const;
616 const std::shared_ptr<const InitialTopographyModel::Interface<dim>>
617 get_initial_topography_model_pointer ()
const;
623 get_geometry_model ()
const;
631 get_adiabatic_conditions ()
const;
641 bool has_boundary_temperature ()
const;
650 get_boundary_temperature_manager ()
const;
659 get_boundary_convective_heating_manager ()
const;
666 get_boundary_heat_flux ()
const;
675 bool has_boundary_composition ()
const;
684 get_boundary_composition_manager ()
const;
693 get_boundary_traction_manager ()
const;
721 std::shared_ptr<const InitialTemperature::Manager<dim>>
722 get_initial_temperature_manager_pointer ()
const;
739 get_initial_temperature_manager ()
const;
766 std::shared_ptr<const InitialComposition::Manager<dim>>
767 get_initial_composition_manager_pointer ()
const;
784 get_initial_composition_manager ()
const;
790 const std::set<types::boundary_id> &
791 get_fixed_temperature_boundary_indicators ()
const;
797 const std::set<types::boundary_id> &
798 get_fixed_heat_flux_boundary_indicators ()
const;
804 const std::set<types::boundary_id> &
805 get_fixed_convective_heating_boundary_indicators ()
const;
811 const std::set<types::boundary_id> &
812 get_fixed_composition_boundary_indicators ()
const;
820 const std::set<types::boundary_id> &
821 get_mesh_deformation_boundary_indicators ()
const;
830 get_boundary_velocity_manager ()
const;
838 get_heating_model_manager ()
const;
846 get_prescribed_dilation_manager ()
const;
855 get_mesh_refinement_manager ()
const;
861 get_melt_handler ()
const;
867 get_volume_of_fluid_handler ()
const;
874 get_newton_handler ()
const;
876 #ifdef ASPECT_WITH_WORLD_BUILDER 894 get_world_builder ()
const;
905 std::shared_ptr<const WorldBuilder::World>
906 get_world_builder_pointer ()
const;
913 get_mesh_deformation_handler ()
const;
921 get_lateral_averaging ()
const;
928 get_current_constraints ()
const;
962 bool simulator_is_past_initialization ()
const;
969 get_pressure_scaling ()
const;
978 pressure_rhs_needs_compatibility_modification()
const;
984 model_has_prescribed_stokes_solution ()
const;
993 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
994 const unsigned int q,
995 std::vector<double> &composition_values_at_q_point);
1014 get_postprocess_manager ()
const;
1020 n_particle_managers()
const;
1027 get_particle_manager(
const unsigned int particle_manager_index)
const;
1036 get_particle_manager(
const unsigned int particle_manager_index);
1041 bool is_stokes_matrix_free();
1048 get_stokes_matrix_free ()
const;
1055 get_prescribed_solution ()
const;
1069 compute_net_angular_momentum(
const bool use_constant_density,
1071 const bool limit_to_top_faces =
false)
const;
1109 void denormalize_pressure(
const double pressure_adjustment,
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator