![]() |
ASPECT
|
Inherited by aspect::AdiabaticConditions::Interface< dim >, aspect::Assemblers::AdvectionSystem< dim >, aspect::Assemblers::AdvectionSystemBoundaryFace< dim >, aspect::Assemblers::AdvectionSystemBoundaryHeatFlux< dim >, aspect::Assemblers::AdvectionSystemInteriorFace< dim >, aspect::Assemblers::ApplyStabilization< dim >, aspect::Assemblers::DiffusionSystem< dim >, aspect::Assemblers::MeltInterface< dim >, aspect::Assemblers::NewtonInterface< dim >, aspect::Assemblers::NewtonStokesCompressibleStrainRateViscosityTerm< dim >, aspect::Assemblers::NewtonStokesImplicitReferenceDensityCompressibilityTerm< dim >, aspect::Assemblers::NewtonStokesIsentropicCompressionTerm< dim >, aspect::Assemblers::NewtonStokesReferenceDensityCompressibilityTerm< dim >, aspect::Assemblers::StokesBoundaryTraction< dim >, aspect::Assemblers::StokesCompressiblePreconditioner< dim >, aspect::Assemblers::StokesCompressibleStrainRateViscosityTerm< dim >, aspect::Assemblers::StokesHydrostaticCompressionTerm< dim >, aspect::Assemblers::StokesImplicitReferenceDensityCompressibilityTerm< dim >, aspect::Assemblers::StokesIncompressibleTerms< dim >, aspect::Assemblers::StokesIsentropicCompressionTerm< dim >, aspect::Assemblers::StokesPreconditioner< dim >, aspect::Assemblers::StokesPressureRHSCompatibilityModification< dim >, aspect::Assemblers::StokesProjectedDensityFieldTerm< dim >, aspect::Assemblers::StokesReferenceDensityCompressibilityTerm< dim >, aspect::Assemblers::VolumeOfFluidAssembler< dim >, aspect::BoundaryComposition::Box< dim >, aspect::BoundaryComposition::Function< dim >, aspect::BoundaryComposition::InitialComposition< dim >, aspect::BoundaryComposition::Manager< dim >, aspect::BoundaryComposition::SphericalConstant< dim >, aspect::BoundaryComposition::TwoMergedBoxes< dim >, aspect::BoundaryFluidPressure::Density< dim >, aspect::BoundaryHeatFlux::Function< dim >, aspect::BoundaryTemperature::Box< dim >, aspect::BoundaryTemperature::Constant< dim >, aspect::BoundaryTemperature::DynamicCore< dim >, aspect::BoundaryTemperature::Function< dim >, aspect::BoundaryTemperature::InitialTemperature< dim >, aspect::BoundaryTemperature::Manager< dim >, aspect::BoundaryTemperature::SphericalConstant< dim >, aspect::BoundaryTemperature::TwoMergedBoxes< dim >, aspect::BoundaryTraction::Function< dim >, aspect::BoundaryTraction::InitialLithostaticPressure< dim >, aspect::BoundaryVelocity::Function< dim >, aspect::BoundaryVelocity::GPlates< dim >, aspect::BoundaryVelocity::Manager< dim >, aspect::GeometryModel::Box< dim >, aspect::GeometryModel::Chunk< dim >, aspect::GeometryModel::EllipsoidalChunk< dim >, aspect::GeometryModel::Sphere< dim >, aspect::GeometryModel::SphericalShell< dim >, aspect::GeometryModel::TwoMergedBoxes< dim >, aspect::GravityModel::AsciiData< dim >, aspect::GravityModel::Function< dim >, aspect::GravityModel::RadialConstant< dim >, aspect::GravityModel::RadialEarthLike< dim >, aspect::GravityModel::RadialLinear< dim >, aspect::GravityModel::Vertical< dim >, aspect::HeatingModel::AdiabaticHeating< dim >, aspect::HeatingModel::AdiabaticHeatingMelt< dim >, aspect::HeatingModel::CompositionalHeating< dim >, aspect::HeatingModel::Function< dim >, aspect::HeatingModel::LatentHeatMelt< dim >, aspect::HeatingModel::Manager< dim >, aspect::HeatingModel::RadioactiveDecay< dim >, aspect::HeatingModel::ShearHeating< dim >, aspect::HeatingModel::ShearHeatingMelt< dim >, aspect::InitialComposition::AdiabaticDensity< dim >, aspect::InitialComposition::Function< dim >, aspect::InitialComposition::Manager< dim >, aspect::InitialComposition::Porosity< dim >, aspect::InitialTemperature::Adiabatic< dim >, aspect::InitialTemperature::AsciiProfile< dim >, aspect::InitialTemperature::ContinentalGeotherm< dim >, aspect::InitialTemperature::Function< dim >, aspect::InitialTemperature::HarmonicPerturbation< dim >, aspect::InitialTemperature::InclusionShapeBox< dim >, aspect::InitialTemperature::LABDepth::LABDepthLookup< dim >, aspect::InitialTemperature::LithosphereMask< dim >, aspect::InitialTemperature::Manager< dim >, aspect::InitialTemperature::MandelBox< dim >, aspect::InitialTemperature::PerturbedBox< dim >, aspect::InitialTemperature::PolarBox< dim >, aspect::InitialTemperature::S40RTSPerturbation< dim >, aspect::InitialTemperature::SAVANIPerturbation< dim >, aspect::InitialTemperature::SphericalGaussianPerturbation< dim >, aspect::InitialTemperature::SphericalHexagonalPerturbation< dim >, aspect::InitialTopographyModel::Function< dim >, aspect::LateralAveraging< dim >, aspect::MaterialModel::AsciiReferenceProfile< dim >, aspect::MaterialModel::Averaging< dim >, aspect::MaterialModel::Compositing< dim >, aspect::MaterialModel::CompositionReaction< dim >, aspect::MaterialModel::DepthDependent< dim >, aspect::MaterialModel::DiffusionDislocation< dim >, aspect::MaterialModel::DruckerPrager< dim >, aspect::MaterialModel::DynamicFriction< dim >, aspect::MaterialModel::EquationOfState::MulticomponentCompressible< dim >, aspect::MaterialModel::EquationOfState::MulticomponentIncompressible< dim >, aspect::MaterialModel::GrainSize< dim >, aspect::MaterialModel::LatentHeat< dim >, aspect::MaterialModel::LatentHeatMelt< dim >, aspect::MaterialModel::MaterialUtilities::PhaseFunction< dim >, aspect::MaterialModel::MeltGlobal< dim >, aspect::MaterialModel::MeltSimple< dim >, aspect::MaterialModel::ModifiedTait< dim >, aspect::MaterialModel::Multicomponent< dim >, aspect::MaterialModel::MulticomponentCompressible< dim >, aspect::MaterialModel::Nondimensional< dim >, aspect::MaterialModel::ReplaceLithosphereViscosity< dim >, aspect::MaterialModel::Rheology::AsciiDepthProfile< dim >, aspect::MaterialModel::Rheology::CompositeViscoPlastic< dim >, aspect::MaterialModel::Rheology::ConstantViscosityPrefactors< dim >, aspect::MaterialModel::Rheology::DiffusionCreep< dim >, aspect::MaterialModel::Rheology::DislocationCreep< dim >, aspect::MaterialModel::Rheology::Elasticity< dim >, aspect::MaterialModel::Rheology::FrankKamenetskii< dim >, aspect::MaterialModel::Rheology::PeierlsCreep< dim >, aspect::MaterialModel::Rheology::StrainDependent< dim >, aspect::MaterialModel::Rheology::ViscoPlastic< dim >, aspect::MaterialModel::Simple< dim >, aspect::MaterialModel::SimpleCompressible< dim >, aspect::MaterialModel::Steinberger< dim >, aspect::MaterialModel::Viscoelastic< dim >, aspect::MaterialModel::ViscoPlastic< dim >, aspect::MeltHandler< dim >, aspect::MeshDeformation::BoundaryFunction< dim >, aspect::MeshDeformation::Diffusion< dim >, aspect::MeshDeformation::FreeSurface< dim >, aspect::MeshDeformation::MeshDeformationHandler< dim >, aspect::MeshRefinement::ArtificialViscosity< dim >, aspect::MeshRefinement::Boundary< dim >, aspect::MeshRefinement::CompactionLength< dim >, aspect::MeshRefinement::Composition< dim >, aspect::MeshRefinement::CompositionApproximateGradient< dim >, aspect::MeshRefinement::CompositionGradient< dim >, aspect::MeshRefinement::CompositionThreshold< dim >, aspect::MeshRefinement::Density< dim >, aspect::MeshRefinement::Manager< dim >, aspect::MeshRefinement::MaximumRefinementFunction< dim >, aspect::MeshRefinement::MinimumRefinementFunction< dim >, aspect::MeshRefinement::NonadiabaticTemperature< dim >, aspect::MeshRefinement::ParticleDensity< dim >, aspect::MeshRefinement::Slope< dim >, aspect::MeshRefinement::StrainRate< dim >, aspect::MeshRefinement::Temperature< dim >, aspect::MeshRefinement::ThermalEnergyDensity< dim >, aspect::MeshRefinement::Topography< dim >, aspect::MeshRefinement::Velocity< dim >, aspect::MeshRefinement::Viscosity< dim >, aspect::MeshRefinement::VolumeOfFluidInterface< dim >, aspect::NewtonHandler< dim >, aspect::Particle::Generator::Interface< dim >, aspect::Particle::Integrator::RK2< dim >, aspect::Particle::Interpolator::BilinearLeastSquares< dim >, aspect::Particle::Interpolator::CellAverage< dim >, aspect::Particle::Interpolator::HarmonicAverage< dim >, aspect::Particle::Interpolator::NearestNeighbor< dim >, aspect::Particle::Interpolator::QuadraticLeastSquares< dim >, aspect::Particle::Property::Composition< dim >, aspect::Particle::Property::ElasticStress< dim >, aspect::Particle::Property::InitialComposition< dim >, aspect::Particle::Property::IntegratedStrain< dim >, aspect::Particle::Property::IntegratedStrainInvariant< dim >, aspect::Particle::Property::Manager< dim >, aspect::Particle::Property::MeltParticle< dim >, aspect::Particle::Property::PTPath< dim >, aspect::Particle::Property::Velocity< dim >, aspect::Particle::Property::ViscoPlasticStrainInvariant< dim >, aspect::Particle::World< dim >, aspect::Postprocess::BasicStatistics< dim >, aspect::Postprocess::BoundaryDensities< dim >, aspect::Postprocess::BoundaryPressures< dim >, aspect::Postprocess::BoundaryVelocityResidualStatistics< dim >, aspect::Postprocess::Command< dim >, aspect::Postprocess::CompositionStatistics< dim >, aspect::Postprocess::CoreStatistics< dim >, aspect::Postprocess::DepthAverage< dim >, aspect::Postprocess::DynamicTopography< dim >, aspect::Postprocess::EntropyViscosityStatistics< dim >, aspect::Postprocess::Geoid< dim >, aspect::Postprocess::GlobalStatistics< dim >, aspect::Postprocess::GravityPointValues< dim >, aspect::Postprocess::HeatFluxDensities< dim >, aspect::Postprocess::HeatFluxMap< dim >, aspect::Postprocess::HeatFluxStatistics< dim >, aspect::Postprocess::HeatingStatistics< dim >, aspect::Postprocess::LoadBalanceStatistics< dim >, aspect::Postprocess::Manager< dim >, aspect::Postprocess::MassFluxStatistics< dim >, aspect::Postprocess::MaterialStatistics< dim >, aspect::Postprocess::MatrixStatistics< dim >, aspect::Postprocess::MeltStatistics< dim >, aspect::Postprocess::MemoryStatistics< dim >, aspect::Postprocess::ParticleCountStatistics< dim >, aspect::Postprocess::Particles< dim >, aspect::Postprocess::PointValues< dim >, aspect::Postprocess::PressureStatistics< dim >, aspect::Postprocess::RotationStatistics< dim >, aspect::Postprocess::SphericalVelocityStatistics< dim >, aspect::Postprocess::StokesResidual< dim >, aspect::Postprocess::TemperatureStatistics< dim >, aspect::Postprocess::Topography< dim >, aspect::Postprocess::VelocityBoundaryStatistics< dim >, aspect::Postprocess::VelocityStatistics< dim >, aspect::Postprocess::Visualization< dim >, aspect::Postprocess::VisualizationPostprocessors::Adiabat< dim >, aspect::Postprocess::VisualizationPostprocessors::ArtificialViscosity< dim >, aspect::Postprocess::VisualizationPostprocessors::ArtificialViscosityComposition< dim >, aspect::Postprocess::VisualizationPostprocessors::BoundaryIndicator< dim >, aspect::Postprocess::VisualizationPostprocessors::BoundaryVelocityResidual< dim >, aspect::Postprocess::VisualizationPostprocessors::CompositionalVector< dim >, aspect::Postprocess::VisualizationPostprocessors::Depth< dim >, aspect::Postprocess::VisualizationPostprocessors::DynamicTopography< dim >, aspect::Postprocess::VisualizationPostprocessors::ErrorIndicator< dim >, aspect::Postprocess::VisualizationPostprocessors::Geoid< dim >, aspect::Postprocess::VisualizationPostprocessors::GrainLagAngle< dim >, aspect::Postprocess::VisualizationPostprocessors::Gravity< dim >, aspect::Postprocess::VisualizationPostprocessors::HeatFluxMap< dim >, aspect::Postprocess::VisualizationPostprocessors::Heating< dim >, aspect::Postprocess::VisualizationPostprocessors::ISARotationTimescale< dim >, aspect::Postprocess::VisualizationPostprocessors::MaterialProperties< dim >, aspect::Postprocess::VisualizationPostprocessors::MaximumHorizontalCompressiveStress< dim >, aspect::Postprocess::VisualizationPostprocessors::MeltFraction< dim >, aspect::Postprocess::VisualizationPostprocessors::MeltMaterialProperties< dim >, aspect::Postprocess::VisualizationPostprocessors::NamedAdditionalOutputs< dim >, aspect::Postprocess::VisualizationPostprocessors::NonadiabaticPressure< dim >, aspect::Postprocess::VisualizationPostprocessors::NonadiabaticTemperature< dim >, aspect::Postprocess::VisualizationPostprocessors::ParticleCount< dim >, aspect::Postprocess::VisualizationPostprocessors::Partition< dim >, aspect::Postprocess::VisualizationPostprocessors::PrincipalStress< dim >, aspect::Postprocess::VisualizationPostprocessors::SeismicVpAnomaly< dim >, aspect::Postprocess::VisualizationPostprocessors::SeismicVsAnomaly< dim >, aspect::Postprocess::VisualizationPostprocessors::ShearStress< dim >, aspect::Postprocess::VisualizationPostprocessors::SPD_Factor< dim >, aspect::Postprocess::VisualizationPostprocessors::SphericalVelocityComponents< dim >, aspect::Postprocess::VisualizationPostprocessors::StrainRate< dim >, aspect::Postprocess::VisualizationPostprocessors::StrainRateTensor< dim >, aspect::Postprocess::VisualizationPostprocessors::Stress< dim >, aspect::Postprocess::VisualizationPostprocessors::SurfaceDynamicTopography< dim >, aspect::Postprocess::VisualizationPostprocessors::SurfaceStress< dim >, aspect::Postprocess::VisualizationPostprocessors::TemperatureAnomaly< dim >, aspect::Postprocess::VisualizationPostprocessors::VerticalHeatFlux< dim >, aspect::Postprocess::VisualizationPostprocessors::VolumeOfFluidValues< dim >, aspect::Postprocess::VisualizationPostprocessors::VolumetricStrainRate< dim >, aspect::Postprocess::VolumeOfFluidStatistics< dim >, aspect::PrescribedStokesSolution::Circle< dim >, aspect::PrescribedStokesSolution::Function< dim >, aspect::TerminationCriteria::EndStep< dim >, aspect::TerminationCriteria::EndTime< dim >, aspect::TerminationCriteria::EndWalltime< dim >, aspect::TerminationCriteria::Manager< dim >, aspect::TerminationCriteria::SteadyRMSVelocity< dim >, aspect::TerminationCriteria::SteadyTemperature< dim >, aspect::TerminationCriteria::UserRequest< dim >, aspect::TimeStepping::ConductionTimeStep< dim >, aspect::TimeStepping::ConvectionTimeStep< dim >, aspect::TimeStepping::Function< dim >, aspect::TimeStepping::Manager< dim >, aspect::TimeStepping::RepeatOnCutback< dim >, aspect::Utilities::AsciiDataBoundary< dim >, aspect::Utilities::AsciiDataInitial< dim >, aspect::Utilities::AsciiDataLayered< dim >, and aspect::VolumeOfFluidHandler< dim >.
Private Attributes | |
const Simulator< dim > * | simulator |
SimulatorAccess is a base class for different plugins like postprocessors. It provides access to the various variables of the main class that plugins may want to use in their evaluations, such as solution vectors, the current time, time step sizes, material models, or the triangulations and DoFHandlers that correspond to solutions.
This class is the interface between plugins and the main simulator class. Using this insulation layer, the plugins need not know anything about the internal details of the simulation class.
Every Postprocessor is required to derive from SimulatorAccess. It is optional for other plugins like MaterialModel, GravityModel, etc..
Since the functions providing access to details of the simulator class are meant to be used only by derived classes of this class (rather than becoming part of the public interface of these classes), the functions of this class are made protected
.
aspect::SimulatorAccess< dim >::SimulatorAccess | ( | ) |
Default constructor. Initialize the SimulatorAccess object without a reference to a particular Simulator object. You will later have to call initialize() to provide this reference to the Simulator object.
aspect::SimulatorAccess< dim >::SimulatorAccess | ( | const Simulator< dim > & | simulator_object | ) |
Create a SimulatorAccess object that is already initialized for a particular Simulator.
|
virtual |
Destructor. Does nothing but is virtual so that derived classes destructors are also virtual.
|
virtual |
Initialize this class for a given simulator. This function is marked as virtual so that derived classes can do something upon initialization as well, for example look up and cache data; derived classes should call this function from the base class as well, however.
simulator_object | A reference to the main simulator object. |
Reimplemented in aspect::MeltHandler< dim >, and aspect::TimeStepping::Manager< dim >.
const Introspection<dim>& aspect::SimulatorAccess< dim >::introspection | ( | ) | const |
Return a reference to an introspection object that describes overall properties of the simulator. In particular, it provides symbolic names for extractors and component masks for each variable, etc, and thereby reduces the need for implicit knowledge throughout the code base.
const Simulator<dim>& aspect::SimulatorAccess< dim >::get_simulator | ( | ) | const |
Return a reference to the Simulator itself. Note that you can not access any members or functions of the Simulator. This function exists so that any class with SimulatorAccess can create other objects with SimulatorAccess (because initializing them requires a reference to the Simulator).
const Parameters<dim>& aspect::SimulatorAccess< dim >::get_parameters | ( | ) | const |
Return a reference to the parameters object that describes all run-time parameters used in the current simulation.
SimulatorSignals<dim>& aspect::SimulatorAccess< dim >::get_signals | ( | ) | const |
Get Access to the structure containing the signals of the simulator.
MPI_Comm aspect::SimulatorAccess< dim >::get_mpi_communicator | ( | ) | const |
Return the MPI communicator for this simulation.
TimerOutput& aspect::SimulatorAccess< dim >::get_computing_timer | ( | ) | const |
Return the timer object for this simulation. Since the timer is mutable in the Simulator class, this allows plugins to define their own sections in the timer to measure the time spent in sections of their code.
const ConditionalOStream& aspect::SimulatorAccess< dim >::get_pcout | ( | ) | const |
Return a reference to the stream object that only outputs something on one processor in a parallel program and simply ignores output put into it on all other processors.
double aspect::SimulatorAccess< dim >::get_time | ( | ) | const |
Return the current simulation time in seconds.
double aspect::SimulatorAccess< dim >::get_timestep | ( | ) | const |
Return the size of the current time step.
double aspect::SimulatorAccess< dim >::get_old_timestep | ( | ) | const |
Return the size of the last time step.
unsigned int aspect::SimulatorAccess< dim >::get_timestep_number | ( | ) | const |
Return the current number of a time step.
unsigned int aspect::SimulatorAccess< dim >::get_nonlinear_iteration | ( | ) | const |
Return the current nonlinear iteration number of a time step.
const parallel::distributed::Triangulation<dim>& aspect::SimulatorAccess< dim >::get_triangulation | ( | ) | const |
Return a reference to the triangulation in use by the simulator object.
double aspect::SimulatorAccess< dim >::get_volume | ( | ) | const |
Return the global volume of the computational domain.
const Mapping<dim>& aspect::SimulatorAccess< dim >::get_mapping | ( | ) | const |
Return a reference to the mapping used to describe the boundary of the domain.
std::string aspect::SimulatorAccess< dim >::get_output_directory | ( | ) | const |
Return the directory specified in the input parameter file to be the place where output files are to be placed. The string is terminated by a directory separator (i.e., '/').
bool aspect::SimulatorAccess< dim >::include_adiabatic_heating | ( | ) | const |
Return whether we use the adiabatic heating term.
bool aspect::SimulatorAccess< dim >::include_latent_heat | ( | ) | const |
Return whether we use the latent heat term.
bool aspect::SimulatorAccess< dim >::include_melt_transport | ( | ) | const |
Return whether we solve the equations for melt transport.
int aspect::SimulatorAccess< dim >::get_stokes_velocity_degree | ( | ) | const |
Return the stokes velocity degree.
double aspect::SimulatorAccess< dim >::get_adiabatic_surface_temperature | ( | ) | const |
Return the adiabatic surface temperature.
double aspect::SimulatorAccess< dim >::get_surface_pressure | ( | ) | const |
Return the adiabatic surface pressure.
bool aspect::SimulatorAccess< dim >::convert_output_to_years | ( | ) | const |
Return whether things like velocities should be converted from the seconds in the MKS system to years. The value of this flag is set by the corresponding entry in the input parameter file.
unsigned int aspect::SimulatorAccess< dim >::get_pre_refinement_step | ( | ) | const |
Return the number of the current pre refinement step. This can be useful for plugins that want to function differently in the initial adaptive refinements and later on. This will be not initialized before Simulator<dim>::run() is called. It iterates upward from 0 to parameters.initial_adaptive_refinement during the initial adaptive refinement steps, and equals std::numeric_limits<unsigned int>::max() afterwards.
unsigned int aspect::SimulatorAccess< dim >::n_compositional_fields | ( | ) | const |
Return the number of compositional fields specified in the input parameter file that will be advected along with the flow field.
void aspect::SimulatorAccess< dim >::get_refinement_criteria | ( | Vector< float > & | estimated_error_per_cell | ) | const |
Compute the error indicators in the same way they are normally used for mesh refinement. The mesh is not refined when doing so, but the indicators can be used when generating graphical output to check why mesh refinement is proceeding as it is.
void aspect::SimulatorAccess< dim >::get_artificial_viscosity | ( | Vector< float > & | viscosity_per_cell, |
const bool | skip_interior_cells = false |
||
) | const |
Returns the entropy viscosity on each locally owned cell as it is used to stabilize the temperature equation.
viscosity_per_cell | Output vector with as many entries as active cells. Each entry corresponding to a locally owned active cell index will contain the artificial viscosity for this cell. |
skip_interior_cells | A boolean flag. If set to true the function will only compute the artificial viscosity in cells at boundaries. |
void aspect::SimulatorAccess< dim >::get_artificial_viscosity_composition | ( | Vector< float > & | viscosity_per_cell, |
const unsigned int | compositional_variable | ||
) | const |
Returns the entropy viscosity on each locally owned cell as it is used to stabilize the composition equation.
const LinearAlgebra::BlockVector& aspect::SimulatorAccess< dim >::get_current_linearization_point | ( | ) | const |
Return a reference to the vector that has the current linearization point of the entire system, i.e. the velocity and pressure variables as well as the temperature and compositional fields. This vector is associated with the DoFHandler object returned by get_dof_handler(). This vector is only different from the one returned by get_solution() during the solver phase.
const LinearAlgebra::BlockVector& aspect::SimulatorAccess< dim >::get_solution | ( | ) | const |
Return a reference to the vector that has the current solution of the entire system, i.e. the velocity and pressure variables as well as the temperature and compositional fields. This vector is associated with the DoFHandler object returned by get_dof_handler().
const LinearAlgebra::BlockVector& aspect::SimulatorAccess< dim >::get_old_solution | ( | ) | const |
Return a reference to the vector that has the solution of the entire system at the previous time step. This vector is associated with the DoFHandler object returned by get_stokes_dof_handler().
const LinearAlgebra::BlockVector& aspect::SimulatorAccess< dim >::get_old_old_solution | ( | ) | const |
Return a reference to the vector that has the solution of the entire system at the second-to-last time step. This vector is associated with the DoFHandler object returned by get_stokes_dof_handler().
const LinearAlgebra::BlockVector& aspect::SimulatorAccess< dim >::get_reaction_vector | ( | ) | const |
Return a reference to the vector that has the reactions computed by the operator splitting scheme in the current time step.
const LinearAlgebra::BlockVector& aspect::SimulatorAccess< dim >::get_mesh_velocity | ( | ) | const |
Return a reference to the vector that has the mesh velocity for simulations with mesh deformation.
const DoFHandler<dim>& aspect::SimulatorAccess< dim >::get_dof_handler | ( | ) | const |
Return a reference to the DoFHandler that is used to discretize the variables at the current time step.
const FiniteElement<dim>& aspect::SimulatorAccess< dim >::get_fe | ( | ) | const |
Return a reference to the finite element that the DoFHandler that is used to discretize the variables at the current time step is built on. This is the finite element for the entire, couple problem, i.e., it contains sub-elements for velocity, pressure, temperature and all other variables in this problem (e.g., compositional variables, if used in this simulation).
const LinearAlgebra::BlockSparseMatrix& aspect::SimulatorAccess< dim >::get_system_matrix | ( | ) | const |
Return a reference to the system matrix at the current time step.
const LinearAlgebra::BlockSparseMatrix& aspect::SimulatorAccess< dim >::get_system_preconditioner_matrix | ( | ) | const |
Return a reference to the system preconditioner matrix at the current time step.
const MaterialModel::Interface<dim>& aspect::SimulatorAccess< dim >::get_material_model | ( | ) | const |
Return a pointer to the material model to access functions like density().
void aspect::SimulatorAccess< dim >::compute_material_model_input_values | ( | const LinearAlgebra::BlockVector & | input_solution, |
const FEValuesBase< dim, dim > & | input_finite_element_values, | ||
const typename DoFHandler< dim >::active_cell_iterator & | cell, | ||
const bool | compute_strainrate, | ||
MaterialModel::MaterialModelInputs< dim > & | material_model_inputs | ||
) | const |
This function simply calls Simulator<dim>::compute_material_model_input_values() with the given arguments.
const GravityModel::Interface<dim>& aspect::SimulatorAccess< dim >::get_gravity_model | ( | ) | const |
Return a pointer to the gravity model description.
const InitialTopographyModel::Interface<dim>& aspect::SimulatorAccess< dim >::get_initial_topography_model | ( | ) | const |
Return a pointer to the initial topography model.
const GeometryModel::Interface<dim>& aspect::SimulatorAccess< dim >::get_geometry_model | ( | ) | const |
Return a pointer to the geometry model.
const AdiabaticConditions::Interface<dim>& aspect::SimulatorAccess< dim >::get_adiabatic_conditions | ( | ) | const |
Return a pointer to the object that describes the adiabatic conditions.
bool aspect::SimulatorAccess< dim >::has_boundary_temperature | ( | ) | const |
Return whether the current model has a boundary temperature object set. This is useful because a simulation does not actually have to declare any boundary temperature model, for example if all boundaries are insulating. In such cases, there is no boundary temperature model that can provide, for example, a minimal and maximal temperature on the boundary.
DEAL_II_DEPRECATED const BoundaryTemperature::Interface<dim>& aspect::SimulatorAccess< dim >::get_boundary_temperature | ( | ) | const |
Return a reference to the object that describes the temperature boundary values.
const BoundaryTemperature::Manager<dim>& aspect::SimulatorAccess< dim >::get_boundary_temperature_manager | ( | ) | const |
Return an reference to the manager of the boundary temperature models. This can then, for example, be used to get the names of the initial temperature models used in a computation, or to compute the initial temperature for a given position.
const BoundaryHeatFlux::Interface<dim>& aspect::SimulatorAccess< dim >::get_boundary_heat_flux | ( | ) | const |
Return a reference to the object that describes heat flux boundary conditions.
bool aspect::SimulatorAccess< dim >::has_boundary_composition | ( | ) | const |
Return whether the current model has a boundary composition object set. This is useful because a simulation does not actually have to declare any boundary composition model, for example if all boundaries are reflecting. In such cases, there is no boundary composition model.
DEAL_II_DEPRECATED const BoundaryComposition::Interface<dim>& aspect::SimulatorAccess< dim >::get_boundary_composition | ( | ) | const |
Return a reference to the object that describes the composition boundary values.
const BoundaryComposition::Manager<dim>& aspect::SimulatorAccess< dim >::get_boundary_composition_manager | ( | ) | const |
Return an reference to the manager of the boundary composition models. This can then, for example, be used to get the names of the boundary composition models used in a computation, or to compute the boundary composition for a given position.
const std::map<types::boundary_id,std::unique_ptr<BoundaryTraction::Interface<dim> > >& aspect::SimulatorAccess< dim >::get_boundary_traction | ( | ) | const |
Return a reference to the object that describes traction boundary conditions.
DEAL_II_DEPRECATED const InitialTemperature::Interface<dim>& aspect::SimulatorAccess< dim >::get_initial_temperature | ( | ) | const |
Return a pointer to the object that describes the temperature initial values.
get_initial_temperature_manager
instead. const InitialTemperature::Manager<dim>& aspect::SimulatorAccess< dim >::get_initial_temperature_manager | ( | ) | const |
Return a reference to the manager of the initial temperature models. This can then, for example, be used to get the names of the initial temperature models used in a computation, or to compute the initial temperature for a given position.
DEAL_II_DEPRECATED const InitialComposition::Interface<dim>& aspect::SimulatorAccess< dim >::get_initial_composition | ( | ) | const |
Return a pointer to the object that describes the composition initial values.
const InitialComposition::Manager<dim>& aspect::SimulatorAccess< dim >::get_initial_composition_manager | ( | ) | const |
Return a pointer to the manager of the initial composition model. This can then, for example, be used to get the names of the initial composition models used in a computation.
const std::set<types::boundary_id>& aspect::SimulatorAccess< dim >::get_fixed_temperature_boundary_indicators | ( | ) | const |
Return a set of boundary indicators that describes which of the boundaries have a fixed temperature.
const std::set<types::boundary_id>& aspect::SimulatorAccess< dim >::get_fixed_heat_flux_boundary_indicators | ( | ) | const |
Return a set of boundary indicators that describes which of the boundaries have a fixed heat flux.
const std::set<types::boundary_id>& aspect::SimulatorAccess< dim >::get_fixed_composition_boundary_indicators | ( | ) | const |
Return a set of boundary indicators that describes which of the boundaries have a fixed composition.
const std::set<types::boundary_id>& aspect::SimulatorAccess< dim >::get_mesh_deformation_boundary_indicators | ( | ) | const |
Return a set of boundary indicators that describes which of the boundaries have a mesh deformation boundary condition. Note that it does not specify which boundaries have which mesh deformation condition, only which boundaries have a mesh deformation condition.
const BoundaryVelocity::Manager<dim>& aspect::SimulatorAccess< dim >::get_boundary_velocity_manager | ( | ) | const |
Return an reference to the manager of the boundary velocity models. This can then, for example, be used to get the names of the boundary velocity models used in a computation, or to compute the boundary velocity for a given position.
const HeatingModel::Manager<dim>& aspect::SimulatorAccess< dim >::get_heating_model_manager | ( | ) | const |
Return a pointer to the manager of the heating model. This can then, for example, be used to get the names of the heating models used in a computation.
const MeshRefinement::Manager<dim>& aspect::SimulatorAccess< dim >::get_mesh_refinement_manager | ( | ) | const |
Return a reference to the manager of the mesh refinement strategies. this can then, for example, be used to get the names of the active refinement strategies for such purposes as confirming that a particular one has been included.
const MeltHandler<dim>& aspect::SimulatorAccess< dim >::get_melt_handler | ( | ) | const |
Return a reference to the melt handler.
const VolumeOfFluidHandler<dim>& aspect::SimulatorAccess< dim >::get_volume_of_fluid_handler | ( | ) | const |
Return a reference to the VolumeOfFluid handler.
const NewtonHandler<dim>& aspect::SimulatorAccess< dim >::get_newton_handler | ( | ) | const |
const MeshDeformation::MeshDeformationHandler<dim>& aspect::SimulatorAccess< dim >::get_mesh_deformation_handler | ( | ) | const |
Return a reference to the mesh deformation handler. This function will throw an exception if mesh deformation is not activated.
const LateralAveraging<dim>& aspect::SimulatorAccess< dim >::get_lateral_averaging | ( | ) | const |
Return a reference to the lateral averaging object owned by the simulator, which can be used to query lateral averages of various quantities at depth slices.
const AffineConstraints<double>& aspect::SimulatorAccess< dim >::get_current_constraints | ( | ) | const |
Return a pointer to the object that describes the DoF constraints for the time step we are currently solving.
bool aspect::SimulatorAccess< dim >::simulator_is_past_initialization | ( | ) | const |
Return whether the Simulator object has been completely initialized and has started to run its time stepping loop.
This function is useful to determine in a plugin whether some of the information one can query about the Simulator can be trusted because it has already been set up completely. For example, while the Simulator is being set up, plugins may already have access to it via the current SimulatorAccess object, but data such as the current time, the time step number, etc, may all still be in a state that is not reliable since it may not have been initialized at that time. (As an example, at the very beginning of the Simulator object's existence, the time step number is set to numbers::invalid_unsigned_int, and only when the time step loop is started is it set to a valid value). Similar examples are that at some point the Simulator sets the solution vector to the correct size, but only at a later time (though before the time stepping starts), the contents of the solution vector are set based on the initial conditions specified in the input file.
Only when this function returns true
is all of the information returned by the SimulatorAccess object reliable and correct.
true
starting with the moment where the Simulator starts the time stepping loop. However, it may temporarily revert to returning false
if, for example, the Simulator does the initial mesh refinement steps where it starts the time loop, but then goes back to initialization steps (mesh refinement, interpolation of initial conditions, etc.) before re-starting the time loop. double aspect::SimulatorAccess< dim >::get_pressure_scaling | ( | ) | const |
Return the value used for rescaling the pressure in the linear solver.
bool aspect::SimulatorAccess< dim >::pressure_rhs_needs_compatibility_modification | ( | ) | const |
Return whether we need to apply a compatibility modification to the pressure right hand side. See documentation of Simulator<dim>::do_pressure_rhs_compatibility_modification for more information.
bool aspect::SimulatorAccess< dim >::model_has_prescribed_stokes_solution | ( | ) | const |
Return whether the model uses a prescribed Stokes solution.
|
static |
A convenience function that copies the values of the compositional fields at the quadrature point q given as input parameter to the output vector composition_values_at_q_point.
TableHandler& aspect::SimulatorAccess< dim >::get_statistics_object | ( | ) | const |
Return a writable reference to the statistics object into which you can store additional data that then shows up in the output_dir/statistics
file.
Postprocessor objects get a reference to this object automatically when called, but other plugins may not. They do not usually produce output anyway, but through this function they can still record information as necessary.
DEAL_II_DEPRECATED PostprocessorType* aspect::SimulatorAccess< dim >::find_postprocessor | ( | ) | const |
This function can be used to find out whether the list of postprocessors that are run at the end of each time step contains an object of the given template type. If so, the function returns a pointer to the postprocessor object of this type. If no postprocessor of this type has been selected in the input file (or, has been required by another postprocessor using the Postprocess::Interface::required_other_postprocessors() mechanism), then the function returns a nullptr.
const Postprocess::Manager<dim>& aspect::SimulatorAccess< dim >::get_postprocess_manager | ( | ) | const |
Return a reference to the melt handler.
const Particle::World<dim>& aspect::SimulatorAccess< dim >::get_particle_world | ( | ) | const |
Returns a const reference to the particle world, in case anyone wants to query something about particles.
Particle::World<dim>& aspect::SimulatorAccess< dim >::get_particle_world | ( | ) |
Returns a reference to the particle world, in case anyone wants to change something within the particle world. Use with care, usually you want to only let the functions within the particle subsystem change member variables of the particle world.
bool aspect::SimulatorAccess< dim >::is_stokes_matrix_free | ( | ) |
Return true if using the block GMG Stokes solver.
const StokesMatrixFreeHandler<dim>& aspect::SimulatorAccess< dim >::get_stokes_matrix_free | ( | ) | const |
Return a reference to the StokesMatrixFreeHandler that controls the matrix-free Stokes solver.
RotationProperties<dim> aspect::SimulatorAccess< dim >::compute_net_angular_momentum | ( | const bool | use_constant_density, |
const LinearAlgebra::BlockVector & | solution, | ||
const bool | limit_to_top_faces = false |
||
) | const |
Compute the angular momentum and other rotation properties of the velocities in the given solution vector.
use_constant_density | determines whether to use a constant density (which corresponds to computing a net rotation instead of net angular momentum). |
solution | Solution vector to compute the properties for. |
limit_to_top_faces | allows to only compute the net angular momentum (or net rotation) of the top surface. |
|
inline |
Definition at line 946 of file simulator_access.h.
|
private |
A pointer to the simulator object to which we want to get access.
Definition at line 939 of file simulator_access.h.