22 #ifndef _aspect_simulator_access_h 23 #define _aspect_simulator_access_h 29 #include <deal.II/base/table_handler.h> 30 #include <deal.II/base/timer.h> 31 #include <deal.II/base/conditional_ostream.h> 32 #include <deal.II/distributed/tria.h> 33 #include <deal.II/dofs/dof_handler.h> 34 #include <deal.II/fe/fe.h> 35 #include <deal.II/fe/mapping_q.h> 36 #include <deal.II/lac/affine_constraints.h> 46 template <
int dim>
class Simulator;
51 namespace GravityModel
56 namespace HeatingModel
61 namespace MaterialModel
66 namespace InitialTemperature
72 namespace BoundaryTemperature
78 namespace BoundaryHeatFlux
83 namespace BoundaryComposition
89 namespace BoundaryTraction
95 namespace BoundaryVelocity
101 namespace InitialComposition
107 namespace InitialTopographyModel
112 namespace MeshRefinement
117 namespace AdiabaticConditions
122 namespace Postprocess
130 namespace MeshDeformation
132 template <
int dim>
class MeshDeformationHandler;
144 namespace TimeStepping
203 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
216 introspection ()
const;
226 get_simulator ()
const;
233 get_parameters ()
const;
245 get_mpi_communicator ()
const;
254 get_computing_timer ()
const;
261 const ConditionalOStream &
267 double get_time ()
const;
273 get_timestep ()
const;
279 get_old_timestep ()
const;
285 get_timestep_number ()
const;
293 get_timestepping_manager()
const;
299 get_nonlinear_iteration ()
const;
305 const parallel::distributed::Triangulation<dim> &
306 get_triangulation ()
const;
319 get_mapping ()
const;
327 get_output_directory ()
const;
333 include_adiabatic_heating ()
const;
339 include_latent_heat ()
const;
345 include_melt_transport ()
const;
351 get_stokes_velocity_degree ()
const;
357 get_adiabatic_surface_temperature ()
const;
363 get_surface_pressure ()
const;
371 convert_output_to_years ()
const;
383 get_pre_refinement_step ()
const;
390 n_compositional_fields ()
const;
396 get_end_time ()
const;
405 get_refinement_criteria(Vector<float> &estimated_error_per_cell)
const;
418 get_artificial_viscosity(Vector<float> &viscosity_per_cell,
419 const bool skip_interior_cells =
false)
const;
426 get_artificial_viscosity_composition(Vector<float> &viscosity_per_cell,
427 const unsigned int compositional_variable)
const;
446 get_current_linearization_point ()
const;
459 get_solution ()
const;
470 get_old_solution ()
const;
481 get_old_old_solution ()
const;
491 get_reaction_vector ()
const;
501 get_mesh_velocity ()
const;
507 const DoFHandler<dim> &
508 get_dof_handler ()
const;
518 const FiniteElement<dim> &
525 get_system_matrix ()
const;
531 get_system_preconditioner_matrix ()
const;
544 get_material_model ()
const;
550 get_gravity_model ()
const;
556 get_initial_topography_model ()
const;
562 get_geometry_model ()
const;
570 get_adiabatic_conditions ()
const;
580 bool has_boundary_temperature ()
const;
589 get_boundary_temperature_manager ()
const;
596 get_boundary_heat_flux ()
const;
605 bool has_boundary_composition ()
const;
614 get_boundary_composition_manager ()
const;
623 get_boundary_traction_manager ()
const;
651 std::shared_ptr<const InitialTemperature::Manager<dim>>
652 get_initial_temperature_manager_pointer ()
const;
669 get_initial_temperature_manager ()
const;
696 std::shared_ptr<const InitialComposition::Manager<dim>>
697 get_initial_composition_manager_pointer ()
const;
714 get_initial_composition_manager ()
const;
720 const std::set<types::boundary_id> &
721 get_fixed_temperature_boundary_indicators ()
const;
727 const std::set<types::boundary_id> &
728 get_fixed_heat_flux_boundary_indicators ()
const;
734 const std::set<types::boundary_id> &
735 get_fixed_composition_boundary_indicators ()
const;
743 const std::set<types::boundary_id> &
744 get_mesh_deformation_boundary_indicators ()
const;
753 get_boundary_velocity_manager ()
const;
761 get_heating_model_manager ()
const;
770 get_mesh_refinement_manager ()
const;
776 get_melt_handler ()
const;
782 get_volume_of_fluid_handler ()
const;
789 get_newton_handler ()
const;
791 #ifdef ASPECT_WITH_WORLD_BUILDER 809 get_world_builder ()
const;
820 std::shared_ptr<const WorldBuilder::World>
821 get_world_builder_pointer ()
const;
828 get_mesh_deformation_handler ()
const;
836 get_lateral_averaging ()
const;
842 const AffineConstraints<double> &
843 get_current_constraints ()
const;
877 bool simulator_is_past_initialization ()
const;
884 get_pressure_scaling ()
const;
893 pressure_rhs_needs_compatibility_modification()
const;
899 model_has_prescribed_stokes_solution ()
const;
908 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
909 const unsigned int q,
910 std::vector<double> &composition_values_at_q_point);
923 TableHandler &get_statistics_object()
const;
929 get_postprocess_manager ()
const;
935 n_particle_managers()
const;
942 get_particle_manager(
const unsigned int particle_manager_index)
const;
951 get_particle_manager(
const unsigned int particle_manager_index);
956 bool is_stokes_matrix_free();
963 get_stokes_matrix_free ()
const;
977 compute_net_angular_momentum(
const bool use_constant_density,
979 const bool limit_to_top_faces =
false)
const;
const Simulator< dim > * simulator
::TrilinosWrappers::MPI::BlockVector BlockVector
::TrilinosWrappers::BlockSparseMatrix BlockSparseMatrix