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;
200 virtual void initialize_simulator (
const Simulator<dim> &simulator_object);
213 introspection ()
const;
223 get_simulator ()
const;
230 get_parameters ()
const;
242 get_mpi_communicator ()
const;
251 get_computing_timer ()
const;
258 const ConditionalOStream &
264 double get_time ()
const;
270 get_timestep ()
const;
276 get_old_timestep ()
const;
282 get_timestep_number ()
const;
288 get_nonlinear_iteration ()
const;
294 const parallel::distributed::Triangulation<dim> &
295 get_triangulation ()
const;
308 get_mapping ()
const;
316 get_output_directory ()
const;
322 include_adiabatic_heating ()
const;
328 include_latent_heat ()
const;
334 include_melt_transport ()
const;
340 get_stokes_velocity_degree ()
const;
346 get_adiabatic_surface_temperature ()
const;
352 get_surface_pressure ()
const;
360 convert_output_to_years ()
const;
372 get_pre_refinement_step ()
const;
379 n_compositional_fields ()
const;
388 get_refinement_criteria(Vector<float> &estimated_error_per_cell)
const;
401 get_artificial_viscosity(Vector<float> &viscosity_per_cell,
402 const bool skip_interior_cells =
false)
const;
409 get_artificial_viscosity_composition(Vector<float> &viscosity_per_cell,
410 const unsigned int compositional_variable)
const;
429 get_current_linearization_point ()
const;
442 get_solution ()
const;
453 get_old_solution ()
const;
464 get_old_old_solution ()
const;
474 get_reaction_vector ()
const;
484 get_mesh_velocity ()
const;
490 const DoFHandler<dim> &
491 get_dof_handler ()
const;
501 const FiniteElement<dim> &
508 get_system_matrix ()
const;
514 get_system_preconditioner_matrix ()
const;
527 get_material_model ()
const;
533 get_gravity_model ()
const;
539 get_initial_topography_model ()
const;
545 get_geometry_model ()
const;
553 get_adiabatic_conditions ()
const;
563 bool has_boundary_temperature ()
const;
572 get_boundary_temperature_manager ()
const;
579 get_boundary_heat_flux ()
const;
588 bool has_boundary_composition ()
const;
597 get_boundary_composition_manager ()
const;
606 get_boundary_traction_manager ()
const;
634 std::shared_ptr<const InitialTemperature::Manager<dim>>
635 get_initial_temperature_manager_pointer ()
const;
652 get_initial_temperature_manager ()
const;
679 std::shared_ptr<const InitialComposition::Manager<dim>>
680 get_initial_composition_manager_pointer ()
const;
697 get_initial_composition_manager ()
const;
703 const std::set<types::boundary_id> &
704 get_fixed_temperature_boundary_indicators ()
const;
710 const std::set<types::boundary_id> &
711 get_fixed_heat_flux_boundary_indicators ()
const;
717 const std::set<types::boundary_id> &
718 get_fixed_composition_boundary_indicators ()
const;
726 const std::set<types::boundary_id> &
727 get_mesh_deformation_boundary_indicators ()
const;
736 get_boundary_velocity_manager ()
const;
744 get_heating_model_manager ()
const;
753 get_mesh_refinement_manager ()
const;
759 get_melt_handler ()
const;
765 get_volume_of_fluid_handler ()
const;
772 get_newton_handler ()
const;
774 #ifdef ASPECT_WITH_WORLD_BUILDER 791 const WorldBuilder::World &
792 get_world_builder ()
const;
803 std::shared_ptr<const WorldBuilder::World>
804 get_world_builder_pointer ()
const;
811 get_mesh_deformation_handler ()
const;
819 get_lateral_averaging ()
const;
825 const AffineConstraints<double> &
826 get_current_constraints ()
const;
860 bool simulator_is_past_initialization ()
const;
867 get_pressure_scaling ()
const;
876 pressure_rhs_needs_compatibility_modification()
const;
882 model_has_prescribed_stokes_solution ()
const;
891 get_composition_values_at_q_point (
const std::vector<std::vector<double>> &composition_values,
892 const unsigned int q,
893 std::vector<double> &composition_values_at_q_point);
906 TableHandler &get_statistics_object()
const;
912 get_postprocess_manager ()
const;
919 get_particle_world()
const;
928 get_particle_world();
933 bool is_stokes_matrix_free();
940 get_stokes_matrix_free ()
const;
954 compute_net_angular_momentum(
const bool use_constant_density,
956 const bool limit_to_top_faces =
false)
const;
const Simulator< dim > * simulator
::TrilinosWrappers::MPI::BlockVector BlockVector
::TrilinosWrappers::BlockSparseMatrix BlockSparseMatrix