22 #ifndef _aspect_simulator_access_h
23 #define _aspect_simulator_access_h
46 template <
int dim>
class Simulator;
47 template <
int dim>
struct SimulatorSignals;
48 template <
int dim>
class LateralAveraging;
49 template <
int dim>
struct RotationProperties;
51 namespace GravityModel
56 namespace HeatingModel
58 template <
int dim>
class Manager;
61 namespace MaterialModel
63 template <
int dim>
class Interface;
66 namespace InitialTemperature
68 template <
int dim>
class Manager;
72 namespace BoundaryTemperature
74 template <
int dim>
class Manager;
78 namespace BoundaryHeatFlux
83 namespace BoundaryConvectiveHeating
85 template <
int dim>
class Manager;
89 namespace BoundaryComposition
91 template <
int dim>
class Manager;
95 namespace BoundaryTraction
97 template <
int dim>
class Manager;
101 namespace BoundaryVelocity
103 template <
int dim>
class Manager;
107 namespace InitialComposition
109 template <
int dim>
class Manager;
113 namespace InitialTopographyModel
118 namespace MeshRefinement
120 template <
int dim>
class Manager;
123 namespace AdiabaticConditions
128 namespace Postprocess
130 template <
int dim>
class Manager;
136 namespace MeshDeformation
138 template <
int dim>
class MeshDeformationHandler;
141 template <
int dim>
class NewtonHandler;
143 template <
int dim>
class StokesMatrixFreeHandler;
147 template <
int dim>
class Manager;
152 template <
int dim>
class Manager;
155 namespace PrescribedSolution
157 template <
int dim>
class Manager;
467 const bool skip_interior_cells =
false)
const;
475 const unsigned int compositional_variable)
const;
611 const std::shared_ptr<const InitialTopographyModel::Interface<dim>>
716 std::shared_ptr<const InitialTemperature::Manager<dim>>
761 std::shared_ptr<const InitialComposition::Manager<dim>>
785 const std::set<types::boundary_id> &
792 const std::set<types::boundary_id> &
799 const std::set<types::boundary_id> &
806 const std::set<types::boundary_id> &
815 const std::set<types::boundary_id> &
863 #ifdef ASPECT_WITH_WORLD_BUILDER
881 get_world_builder ()
const;
892 std::shared_ptr<const WorldBuilder::World>
893 get_world_builder_pointer ()
const;
981 const unsigned int q,
982 std::vector<double> &composition_values_at_q_point);
1058 const bool limit_to_top_faces =
false)
const;
const LinearAlgebra::BlockVector & get_current_linearization_point() const
const BoundaryVelocity::Manager< dim > & get_boundary_velocity_manager() const
const VolumeOfFluidHandler< dim > & get_volume_of_fluid_handler() const
bool simulator_is_past_initialization() const
const Mapping< dim > & get_mapping() const
const Parameters< dim > & get_parameters() const
double get_timestep() const
bool model_has_prescribed_stokes_solution() const
const BoundaryTemperature::Manager< dim > & get_boundary_temperature_manager() const
const InitialTemperature::Manager< dim > & get_initial_temperature_manager() const
bool is_stokes_matrix_free()
bool include_adiabatic_heating() const
const StokesMatrixFreeHandler< dim > & get_stokes_matrix_free() const
const ConditionalOStream & get_pcout() const
const Introspection< dim > & introspection() const
double get_end_time() const
unsigned int n_compositional_fields() const
const MaterialModel::Interface< dim > & get_material_model() const
const GravityModel::Interface< dim > & get_gravity_model() const
bool has_boundary_composition() const
unsigned int get_checkpoint_id() const
bool include_latent_heat() const
const GeometryModel::Interface< dim > & get_geometry_model() const
const InitialComposition::Manager< dim > & get_initial_composition_manager() const
const LinearAlgebra::BlockSparseMatrix & get_system_matrix() const
const parallel::distributed::Triangulation< dim > & get_triangulation() const
const AffineConstraints< double > & get_current_constraints() const
const Postprocess::Manager< dim > & get_postprocess_manager() const
const std::set< types::boundary_id > & get_fixed_temperature_boundary_indicators() const
const NewtonHandler< dim > & get_newton_handler() const
const LinearAlgebra::BlockSparseMatrix & get_system_preconditioner_matrix() const
double get_pressure_scaling() const
std::shared_ptr< const InitialTemperature::Manager< dim > > get_initial_temperature_manager_pointer() const
Particle::Manager< dim > & get_particle_manager(const unsigned int particle_manager_index)
SimulatorSignals< dim > & get_signals() const
void remove_nullspace(LinearAlgebra::BlockVector &solution, LinearAlgebra::BlockVector &distributed_stokes_solution) const
const TimeStepping::Manager< dim > & get_timestepping_manager() const
const BoundaryComposition::Manager< dim > & get_boundary_composition_manager() const
const LinearAlgebra::BlockVector & get_reaction_vector() const
static void get_composition_values_at_q_point(const std::vector< std::vector< double >> &composition_values, const unsigned int q, std::vector< double > &composition_values_at_q_point)
SimulatorAccess(const Simulator< dim > &simulator_object)
const HeatingModel::Manager< dim > & get_heating_model_manager() const
virtual void initialize_simulator(const Simulator< dim > &simulator_object)
bool convert_output_to_years() const
const MeshDeformation::MeshDeformationHandler< dim > & get_mesh_deformation_handler() const
const std::set< types::boundary_id > & get_fixed_composition_boundary_indicators() const
unsigned int get_nonlinear_iteration() const
const MeshRefinement::Manager< dim > & get_mesh_refinement_manager() const
const LinearAlgebra::BlockVector & get_solution() const
const AdiabaticConditions::Interface< dim > & get_adiabatic_conditions() const
bool include_melt_transport() const
double get_adiabatic_surface_temperature() const
const std::shared_ptr< const InitialTopographyModel::Interface< dim > > get_initial_topography_model_pointer() const
bool has_boundary_temperature() const
void get_artificial_viscosity(Vector< float > &viscosity_per_cell, const bool skip_interior_cells=false) const
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator
const BoundaryHeatFlux::Interface< dim > & get_boundary_heat_flux() const
std::string get_output_directory() const
const LinearAlgebra::BlockVector & get_old_solution() const
TableHandler & get_statistics_object() const
double get_old_timestep() const
const InitialTopographyModel::Interface< dim > & get_initial_topography_model() const
double normalize_pressure(LinearAlgebra::BlockVector &vector) const
void get_artificial_viscosity_composition(Vector< float > &viscosity_per_cell, const unsigned int compositional_variable) const
unsigned int n_particle_managers() const
unsigned int get_pre_refinement_step() const
const BoundaryConvectiveHeating::Manager< dim > & get_boundary_convective_heating_manager() const
const std::set< types::boundary_id > & get_fixed_heat_flux_boundary_indicators() const
const Particle::Manager< dim > & get_particle_manager(const unsigned int particle_manager_index) const
void get_refinement_criteria(Vector< float > &estimated_error_per_cell) const
const std::set< types::boundary_id > & get_fixed_convective_heating_boundary_indicators() const
const LinearAlgebra::BlockVector & get_old_old_solution() const
double get_volume() const
MPI_Comm get_mpi_communicator() const
unsigned int get_timestep_number() const
const LateralAveraging< dim > & get_lateral_averaging() const
const FiniteElement< dim > & get_fe() const
int get_stokes_velocity_degree() const
const PrescribedSolution::Manager< dim > & get_prescribed_solution() const
std::shared_ptr< const InitialComposition::Manager< dim > > get_initial_composition_manager_pointer() const
bool pressure_rhs_needs_compatibility_modification() const
const DoFHandler< dim > & get_dof_handler() const
TimerOutput & get_computing_timer() const
void denormalize_pressure(const double pressure_adjustment, LinearAlgebra::BlockVector &vector) const
const MeltHandler< dim > & get_melt_handler() const
const std::set< types::boundary_id > & get_mesh_deformation_boundary_indicators() const
const LinearAlgebra::BlockVector & get_mesh_velocity() const
RotationProperties< dim > compute_net_angular_momentum(const bool use_constant_density, const LinearAlgebra::BlockVector &solution, const bool limit_to_top_faces=false) const
double get_surface_pressure() const
const BoundaryTraction::Manager< dim > & get_boundary_traction_manager() const
const Simulator< dim > & get_simulator() const
virtual ~SimulatorAccess()