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 BoundaryConvectiveHeating
89 namespace BoundaryComposition
95 namespace BoundaryTraction
101 namespace BoundaryVelocity
107 namespace InitialComposition
113 namespace InitialTopographyModel
118 namespace MeshRefinement
123 namespace AdiabaticConditions
128 namespace Postprocess
136 namespace MeshDeformation
138 template <
int dim>
class MeshDeformationHandler;
150 namespace TimeStepping
155 namespace PrescribedSolution
242 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
255 introspection ()
const;
265 get_simulator ()
const;
272 get_parameters ()
const;
284 get_mpi_communicator ()
const;
293 get_computing_timer ()
const;
300 const ConditionalOStream &
306 double get_time ()
const;
312 get_timestep ()
const;
318 get_old_timestep ()
const;
324 get_timestep_number ()
const;
332 get_timestepping_manager()
const;
338 get_nonlinear_iteration ()
const;
344 const parallel::distributed::Triangulation<dim> &
345 get_triangulation ()
const;
358 get_mapping ()
const;
366 get_output_directory ()
const;
375 get_checkpoint_id ()
const;
381 include_adiabatic_heating ()
const;
387 include_latent_heat ()
const;
393 include_melt_transport ()
const;
399 get_stokes_velocity_degree ()
const;
405 get_adiabatic_surface_temperature ()
const;
411 get_surface_pressure ()
const;
419 convert_output_to_years ()
const;
431 get_pre_refinement_step ()
const;
438 n_compositional_fields ()
const;
444 get_end_time ()
const;
453 get_refinement_criteria(Vector<float> &estimated_error_per_cell)
const;
466 get_artificial_viscosity(Vector<float> &viscosity_per_cell,
467 const bool skip_interior_cells =
false)
const;
474 get_artificial_viscosity_composition(Vector<float> &viscosity_per_cell,
475 const unsigned int compositional_variable)
const;
494 get_current_linearization_point ()
const;
507 get_solution ()
const;
518 get_old_solution ()
const;
529 get_old_old_solution ()
const;
539 get_reaction_vector ()
const;
549 get_mesh_velocity ()
const;
555 const DoFHandler<dim> &
556 get_dof_handler ()
const;
566 const FiniteElement<dim> &
573 get_system_matrix ()
const;
579 get_system_preconditioner_matrix ()
const;
592 get_material_model ()
const;
598 get_gravity_model ()
const;
604 get_initial_topography_model ()
const;
611 const std::shared_ptr<const InitialTopographyModel::Interface<dim>>
612 get_initial_topography_model_pointer ()
const;
618 get_geometry_model ()
const;
626 get_adiabatic_conditions ()
const;
636 bool has_boundary_temperature ()
const;
645 get_boundary_temperature_manager ()
const;
654 get_boundary_convective_heating_manager ()
const;
661 get_boundary_heat_flux ()
const;
670 bool has_boundary_composition ()
const;
679 get_boundary_composition_manager ()
const;
688 get_boundary_traction_manager ()
const;
716 std::shared_ptr<const InitialTemperature::Manager<dim>>
717 get_initial_temperature_manager_pointer ()
const;
734 get_initial_temperature_manager ()
const;
761 std::shared_ptr<const InitialComposition::Manager<dim>>
762 get_initial_composition_manager_pointer ()
const;
779 get_initial_composition_manager ()
const;
785 const std::set<types::boundary_id> &
786 get_fixed_temperature_boundary_indicators ()
const;
792 const std::set<types::boundary_id> &
793 get_fixed_heat_flux_boundary_indicators ()
const;
799 const std::set<types::boundary_id> &
800 get_fixed_convective_heating_boundary_indicators ()
const;
806 const std::set<types::boundary_id> &
807 get_fixed_composition_boundary_indicators ()
const;
815 const std::set<types::boundary_id> &
816 get_mesh_deformation_boundary_indicators ()
const;
825 get_boundary_velocity_manager ()
const;
833 get_heating_model_manager ()
const;
842 get_mesh_refinement_manager ()
const;
848 get_melt_handler ()
const;
854 get_volume_of_fluid_handler ()
const;
861 get_newton_handler ()
const;
863 #ifdef ASPECT_WITH_WORLD_BUILDER 881 get_world_builder ()
const;
892 std::shared_ptr<const WorldBuilder::World>
893 get_world_builder_pointer ()
const;
900 get_mesh_deformation_handler ()
const;
908 get_lateral_averaging ()
const;
914 const AffineConstraints<double> &
915 get_current_constraints ()
const;
949 bool simulator_is_past_initialization ()
const;
956 get_pressure_scaling ()
const;
965 pressure_rhs_needs_compatibility_modification()
const;
971 model_has_prescribed_stokes_solution ()
const;
980 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
981 const unsigned int q,
982 std::vector<double> &composition_values_at_q_point);
995 TableHandler &get_statistics_object()
const;
1001 get_postprocess_manager ()
const;
1007 n_particle_managers()
const;
1014 get_particle_manager(
const unsigned int particle_manager_index)
const;
1023 get_particle_manager(
const unsigned int particle_manager_index);
1028 bool is_stokes_matrix_free();
1035 get_stokes_matrix_free ()
const;
1042 get_prescribed_solution ()
const;
1056 compute_net_angular_momentum(
const bool use_constant_density,
1058 const bool limit_to_top_faces =
false)
const;
1096 void denormalize_pressure(
const double pressure_adjustment,
::TrilinosWrappers::MPI::BlockVector BlockVector
::SmartPointer< T, P > ObserverPointer
::TrilinosWrappers::BlockSparseMatrix BlockSparseMatrix
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator