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> 48 template <
int dim>
class Simulator;
53 namespace GravityModel
58 namespace HeatingModel
63 namespace MaterialModel
68 namespace InitialTemperature
74 namespace BoundaryTemperature
80 namespace BoundaryHeatFlux
85 namespace BoundaryComposition
91 namespace BoundaryTraction
97 namespace BoundaryVelocity
103 namespace InitialComposition
109 namespace InitialTopographyModel
114 namespace MeshRefinement
119 namespace AdiabaticConditions
124 namespace Postprocess
132 namespace MeshDeformation
134 template <
int dim>
class MeshDeformationHandler;
146 namespace TimeStepping
205 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
218 introspection ()
const;
228 get_simulator ()
const;
235 get_parameters ()
const;
247 get_mpi_communicator ()
const;
256 get_computing_timer ()
const;
263 const ConditionalOStream &
269 double get_time ()
const;
275 get_timestep ()
const;
281 get_old_timestep ()
const;
287 get_timestep_number ()
const;
295 get_timestepping_manager()
const;
301 get_nonlinear_iteration ()
const;
307 const parallel::distributed::Triangulation<dim> &
308 get_triangulation ()
const;
321 get_mapping ()
const;
329 get_output_directory ()
const;
335 include_adiabatic_heating ()
const;
341 include_latent_heat ()
const;
347 include_melt_transport ()
const;
353 get_stokes_velocity_degree ()
const;
359 get_adiabatic_surface_temperature ()
const;
365 get_surface_pressure ()
const;
373 convert_output_to_years ()
const;
385 get_pre_refinement_step ()
const;
392 n_compositional_fields ()
const;
398 get_end_time ()
const;
407 get_refinement_criteria(Vector<float> &estimated_error_per_cell)
const;
420 get_artificial_viscosity(Vector<float> &viscosity_per_cell,
421 const bool skip_interior_cells =
false)
const;
428 get_artificial_viscosity_composition(Vector<float> &viscosity_per_cell,
429 const unsigned int compositional_variable)
const;
448 get_current_linearization_point ()
const;
461 get_solution ()
const;
472 get_old_solution ()
const;
483 get_old_old_solution ()
const;
493 get_reaction_vector ()
const;
503 get_mesh_velocity ()
const;
509 const DoFHandler<dim> &
510 get_dof_handler ()
const;
520 const FiniteElement<dim> &
527 get_system_matrix ()
const;
533 get_system_preconditioner_matrix ()
const;
546 get_material_model ()
const;
552 get_gravity_model ()
const;
558 get_initial_topography_model ()
const;
564 get_geometry_model ()
const;
572 get_adiabatic_conditions ()
const;
582 bool has_boundary_temperature ()
const;
591 get_boundary_temperature_manager ()
const;
598 get_boundary_heat_flux ()
const;
607 bool has_boundary_composition ()
const;
616 get_boundary_composition_manager ()
const;
625 get_boundary_traction_manager ()
const;
653 std::shared_ptr<const InitialTemperature::Manager<dim>>
654 get_initial_temperature_manager_pointer ()
const;
671 get_initial_temperature_manager ()
const;
698 std::shared_ptr<const InitialComposition::Manager<dim>>
699 get_initial_composition_manager_pointer ()
const;
716 get_initial_composition_manager ()
const;
722 const std::set<types::boundary_id> &
723 get_fixed_temperature_boundary_indicators ()
const;
729 const std::set<types::boundary_id> &
730 get_fixed_heat_flux_boundary_indicators ()
const;
736 const std::set<types::boundary_id> &
737 get_fixed_composition_boundary_indicators ()
const;
745 const std::set<types::boundary_id> &
746 get_mesh_deformation_boundary_indicators ()
const;
755 get_boundary_velocity_manager ()
const;
763 get_heating_model_manager ()
const;
772 get_mesh_refinement_manager ()
const;
778 get_melt_handler ()
const;
784 get_volume_of_fluid_handler ()
const;
791 get_newton_handler ()
const;
793 #ifdef ASPECT_WITH_WORLD_BUILDER 811 get_world_builder ()
const;
822 std::shared_ptr<const WorldBuilder::World>
823 get_world_builder_pointer ()
const;
830 get_mesh_deformation_handler ()
const;
838 get_lateral_averaging ()
const;
844 const AffineConstraints<double> &
845 get_current_constraints ()
const;
879 bool simulator_is_past_initialization ()
const;
886 get_pressure_scaling ()
const;
895 pressure_rhs_needs_compatibility_modification()
const;
901 model_has_prescribed_stokes_solution ()
const;
910 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
911 const unsigned int q,
912 std::vector<double> &composition_values_at_q_point);
925 TableHandler &get_statistics_object()
const;
931 get_postprocess_manager ()
const;
937 n_particle_managers()
const;
944 get_particle_manager(
const unsigned int particle_manager_index)
const;
953 get_particle_manager(
const unsigned int particle_manager_index);
958 bool is_stokes_matrix_free();
965 get_stokes_matrix_free ()
const;
979 compute_net_angular_momentum(
const bool use_constant_density,
981 const bool limit_to_top_faces =
false)
const;
const Simulator< dim > * simulator
::TrilinosWrappers::MPI::BlockVector BlockVector
::TrilinosWrappers::BlockSparseMatrix BlockSparseMatrix