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
96 namespace BoundaryVelocity
102 namespace InitialComposition
108 namespace InitialTopographyModel
113 namespace MeshRefinement
118 namespace AdiabaticConditions
123 namespace Postprocess
131 namespace MeshDeformation
133 template <
int dim>
class MeshDeformationHandler;
199 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
212 introspection ()
const;
222 get_simulator ()
const;
229 get_parameters ()
const;
241 get_mpi_communicator ()
const;
250 get_computing_timer ()
const;
257 const ConditionalOStream &
263 double get_time ()
const;
269 get_timestep ()
const;
275 get_old_timestep ()
const;
281 get_timestep_number ()
const;
287 get_nonlinear_iteration ()
const;
293 const parallel::distributed::Triangulation<dim> &
294 get_triangulation ()
const;
307 get_mapping ()
const;
315 get_output_directory ()
const;
321 include_adiabatic_heating ()
const;
327 include_latent_heat ()
const;
333 include_melt_transport ()
const;
339 get_stokes_velocity_degree ()
const;
345 get_adiabatic_surface_temperature ()
const;
351 get_surface_pressure ()
const;
359 convert_output_to_years ()
const;
371 get_pre_refinement_step ()
const;
378 n_compositional_fields ()
const;
387 get_refinement_criteria(Vector<float> &estimated_error_per_cell)
const;
400 get_artificial_viscosity(Vector<float> &viscosity_per_cell,
401 const bool skip_interior_cells =
false)
const;
408 get_artificial_viscosity_composition(Vector<float> &viscosity_per_cell,
409 const unsigned int compositional_variable)
const;
428 get_current_linearization_point ()
const;
441 get_solution ()
const;
452 get_old_solution ()
const;
463 get_old_old_solution ()
const;
473 get_reaction_vector ()
const;
483 get_mesh_velocity ()
const;
489 const DoFHandler<dim> &
490 get_dof_handler ()
const;
500 const FiniteElement<dim> &
507 get_system_matrix ()
const;
513 get_system_preconditioner_matrix ()
const;
526 get_material_model ()
const;
532 get_gravity_model ()
const;
538 get_initial_topography_model ()
const;
544 get_geometry_model ()
const;
552 get_adiabatic_conditions ()
const;
562 bool has_boundary_temperature ()
const;
572 get_boundary_temperature ()
const;
581 get_boundary_temperature_manager ()
const;
588 get_boundary_heat_flux ()
const;
597 bool has_boundary_composition ()
const;
607 get_boundary_composition ()
const;
616 get_boundary_composition_manager ()
const;
622 const std::map<types::boundary_id,std::unique_ptr<BoundaryTraction::Interface<dim>>> &
623 get_boundary_traction ()
const;
633 get_initial_temperature ()
const;
661 std::shared_ptr<const InitialTemperature::Manager<dim>>
662 get_initial_temperature_manager_pointer ()
const;
679 get_initial_temperature_manager ()
const;
687 get_initial_composition ()
const;
714 std::shared_ptr<const InitialComposition::Manager<dim>>
715 get_initial_composition_manager_pointer ()
const;
732 get_initial_composition_manager ()
const;
738 const std::set<types::boundary_id> &
739 get_fixed_temperature_boundary_indicators ()
const;
745 const std::set<types::boundary_id> &
746 get_fixed_heat_flux_boundary_indicators ()
const;
752 const std::set<types::boundary_id> &
753 get_fixed_composition_boundary_indicators ()
const;
761 const std::set<types::boundary_id> &
762 get_mesh_deformation_boundary_indicators ()
const;
771 get_boundary_velocity_manager ()
const;
779 get_heating_model_manager ()
const;
788 get_mesh_refinement_manager ()
const;
794 get_melt_handler ()
const;
800 get_volume_of_fluid_handler ()
const;
807 get_newton_handler ()
const;
809 #ifdef ASPECT_WITH_WORLD_BUILDER 826 const WorldBuilder::World &
827 get_world_builder ()
const;
838 std::shared_ptr<const WorldBuilder::World>
839 get_world_builder_pointer ()
const;
846 get_mesh_deformation_handler ()
const;
854 get_lateral_averaging ()
const;
860 const AffineConstraints<double> &
861 get_current_constraints ()
const;
895 bool simulator_is_past_initialization ()
const;
902 get_pressure_scaling ()
const;
911 pressure_rhs_needs_compatibility_modification()
const;
917 model_has_prescribed_stokes_solution ()
const;
926 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
927 const unsigned int q,
928 std::vector<double> &composition_values_at_q_point);
941 TableHandler &get_statistics_object()
const;
957 template <
typename PostprocessorType>
960 find_postprocessor ()
const;
966 get_postprocess_manager ()
const;
973 get_particle_world()
const;
982 get_particle_world();
987 bool is_stokes_matrix_free();
994 get_stokes_matrix_free ()
const;
1008 compute_net_angular_momentum(
const bool use_constant_density,
1010 const bool limit_to_top_faces =
false)
const;
1022 template <
typename PostprocessorType>
1027 if (get_postprocess_manager().
template has_matching_postprocessor<PostprocessorType>())
1028 return &get_postprocess_manager().template get_matching_postprocessor<PostprocessorType>();
const Simulator< dim > * simulator
::TrilinosWrappers::MPI::BlockVector BlockVector
StructuredDataLookup< dim > DEAL_II_DEPRECATED
::TrilinosWrappers::BlockSparseMatrix BlockSparseMatrix