![]() |
ASPECT
|
Public Member Functions | |
AsciiData () | |
void | initialize () override |
Tensor< 1, dim > | boundary_traction (const types::boundary_id boundary_indicator, const Point< dim > &position, const Tensor< 1, dim > &normal_vector) const override |
void | update () override |
void | parse_parameters (ParameterHandler &prm) override |
![]() | |
AsciiDataBoundary () | |
virtual void | initialize (const std::set< types::boundary_id > &boundary_ids, const unsigned int components) |
void | update () |
double | get_data_component (const types::boundary_id boundary_indicator, const Point< dim > &position, const unsigned int component) const |
double | get_maximum_component_value (const types::boundary_id boundary_indicator, const unsigned int component) const |
Tensor< 1, dim-1 > | vector_gradient (const types::boundary_id boundary_indicator, const Point< dim > &p, const unsigned int component) const |
void | parse_parameters (ParameterHandler &prm, const std::string &subsection_name="Ascii data model", const bool parse_time_dependent_parameters=true) |
![]() | |
AsciiDataBase () | |
void | parse_parameters (ParameterHandler &prm, const std::string &subsection_name="Ascii data model") |
![]() | |
SimulatorAccess () | |
SimulatorAccess (const Simulator< dim > &simulator_object) | |
virtual | ~SimulatorAccess ()=default |
virtual void | initialize_simulator (const Simulator< dim > &simulator_object) |
const Introspection< dim > & | introspection () const |
const Simulator< dim > & | get_simulator () const |
const Parameters< dim > & | get_parameters () const |
SimulatorSignals< dim > & | get_signals () const |
MPI_Comm | get_mpi_communicator () const |
TimerOutput & | get_computing_timer () const |
const ConditionalOStream & | get_pcout () const |
double | get_time () const |
double | get_timestep () const |
double | get_old_timestep () const |
unsigned int | get_timestep_number () const |
const TimeStepping::Manager< dim > & | get_timestepping_manager () const |
unsigned int | get_nonlinear_iteration () const |
const parallel::distributed::Triangulation< dim > & | get_triangulation () const |
double | get_volume () const |
const Mapping< dim > & | get_mapping () const |
std::string | get_output_directory () const |
bool | include_adiabatic_heating () const |
bool | include_latent_heat () const |
bool | include_melt_transport () const |
int | get_stokes_velocity_degree () const |
double | get_adiabatic_surface_temperature () const |
double | get_surface_pressure () const |
bool | convert_output_to_years () const |
unsigned int | get_pre_refinement_step () const |
unsigned int | n_compositional_fields () const |
double | get_end_time () const |
void | get_refinement_criteria (Vector< float > &estimated_error_per_cell) const |
void | get_artificial_viscosity (Vector< float > &viscosity_per_cell, const bool skip_interior_cells=false) const |
void | get_artificial_viscosity_composition (Vector< float > &viscosity_per_cell, const unsigned int compositional_variable) const |
const LinearAlgebra::BlockVector & | get_current_linearization_point () const |
const LinearAlgebra::BlockVector & | get_solution () const |
const LinearAlgebra::BlockVector & | get_old_solution () const |
const LinearAlgebra::BlockVector & | get_old_old_solution () const |
const LinearAlgebra::BlockVector & | get_reaction_vector () const |
const LinearAlgebra::BlockVector & | get_mesh_velocity () const |
const DoFHandler< dim > & | get_dof_handler () const |
const FiniteElement< dim > & | get_fe () const |
const LinearAlgebra::BlockSparseMatrix & | get_system_matrix () const |
const LinearAlgebra::BlockSparseMatrix & | get_system_preconditioner_matrix () const |
const MaterialModel::Interface< dim > & | get_material_model () const |
const GravityModel::Interface< dim > & | get_gravity_model () const |
const InitialTopographyModel::Interface< dim > & | get_initial_topography_model () const |
const std::shared_ptr< const InitialTopographyModel::Interface< dim > > | get_initial_topography_model_pointer () const |
const GeometryModel::Interface< dim > & | get_geometry_model () const |
const AdiabaticConditions::Interface< dim > & | get_adiabatic_conditions () const |
bool | has_boundary_temperature () const |
const BoundaryTemperature::Manager< dim > & | get_boundary_temperature_manager () const |
const BoundaryConvectiveHeating::Manager< dim > & | get_boundary_convective_heating_manager () const |
const BoundaryHeatFlux::Interface< dim > & | get_boundary_heat_flux () const |
bool | has_boundary_composition () const |
const BoundaryComposition::Manager< dim > & | get_boundary_composition_manager () const |
const BoundaryTraction::Manager< dim > & | get_boundary_traction_manager () const |
std::shared_ptr< const InitialTemperature::Manager< dim > > | get_initial_temperature_manager_pointer () const |
const InitialTemperature::Manager< dim > & | get_initial_temperature_manager () const |
std::shared_ptr< const InitialComposition::Manager< dim > > | get_initial_composition_manager_pointer () const |
const InitialComposition::Manager< dim > & | get_initial_composition_manager () const |
const std::set< types::boundary_id > & | get_fixed_temperature_boundary_indicators () const |
const std::set< types::boundary_id > & | get_fixed_heat_flux_boundary_indicators () const |
const std::set< types::boundary_id > & | get_fixed_convective_heating_boundary_indicators () const |
const std::set< types::boundary_id > & | get_fixed_composition_boundary_indicators () const |
const std::set< types::boundary_id > & | get_mesh_deformation_boundary_indicators () const |
const BoundaryVelocity::Manager< dim > & | get_boundary_velocity_manager () const |
const HeatingModel::Manager< dim > & | get_heating_model_manager () const |
const MeshRefinement::Manager< dim > & | get_mesh_refinement_manager () const |
const MeltHandler< dim > & | get_melt_handler () const |
const VolumeOfFluidHandler< dim > & | get_volume_of_fluid_handler () const |
const NewtonHandler< dim > & | get_newton_handler () const |
const MeshDeformation::MeshDeformationHandler< dim > & | get_mesh_deformation_handler () const |
const LateralAveraging< dim > & | get_lateral_averaging () const |
const AffineConstraints< double > & | get_current_constraints () const |
bool | simulator_is_past_initialization () const |
double | get_pressure_scaling () const |
bool | pressure_rhs_needs_compatibility_modification () const |
bool | model_has_prescribed_stokes_solution () const |
TableHandler & | get_statistics_object () const |
const Postprocess::Manager< dim > & | get_postprocess_manager () const |
unsigned int | n_particle_managers () const |
const Particle::Manager< dim > & | get_particle_manager (const unsigned int particle_manager_index) const |
Particle::Manager< dim > & | get_particle_manager (const unsigned int particle_manager_index) |
bool | is_stokes_matrix_free () |
const StokesMatrixFreeHandler< dim > & | get_stokes_matrix_free () const |
RotationProperties< dim > | compute_net_angular_momentum (const bool use_constant_density, const LinearAlgebra::BlockVector &solution, const bool limit_to_top_faces=false) const |
void | remove_nullspace (LinearAlgebra::BlockVector &solution, LinearAlgebra::BlockVector &distributed_stokes_solution) const |
double | normalize_pressure (LinearAlgebra::BlockVector &vector) const |
void | denormalize_pressure (const double pressure_adjustment, LinearAlgebra::BlockVector &vector) const |
![]() | |
virtual | ~InterfaceBase ()=default |
Static Public Member Functions | |
static void | declare_parameters (ParameterHandler &prm) |
![]() | |
static void | declare_parameters (ParameterHandler &prm, const std::string &default_directory, const std::string &default_filename, const std::string &subsection_name="Ascii data model", const bool declare_time_dependent_parameters=true) |
![]() | |
static void | declare_parameters (ParameterHandler &prm, const std::string &default_directory, const std::string &default_filename, const std::string &subsection_name="Ascii data model") |
![]() | |
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) |
![]() | |
static void | declare_parameters (ParameterHandler &prm) |
Private Attributes | |
std::set< types::boundary_id > | boundary_ids |
bool | use_spherical_unit_vectors |
bool | prescribe_pressure_instead_of_full_traction |
Additional Inherited Members | |
![]() | |
std::string | data_directory |
std::string | data_file_name |
double | scale_factor |
![]() | |
void | update_data (const types::boundary_id boundary_id, const bool reload_both_files) |
void | end_time_dependence () |
std::string | create_filename (const int filenumber, const types::boundary_id boundary_id) const |
![]() | |
int | current_file_number |
int | first_data_file_number |
bool | decreasing_file_order |
double | data_file_time_step |
double | time_weight |
bool | time_dependent |
std::map< types::boundary_id, std::unique_ptr< aspect::Utilities::StructuredDataLookup< dim-1 > > > | lookups |
std::map< types::boundary_id, std::unique_ptr< aspect::Utilities::StructuredDataLookup< dim-1 > > > | old_lookups |
A class that implements prescribed traction boundary conditions from data given in an AsciiData input file.
This class supports prescribing either:
The behavior is controlled by the input parameter "Prescribe pressure instead of full traction" (default: true). If true, only one component (pressure) is read from the input file and used to compute traction as -pressure * normal_vector. If false, the full traction vector components (equal to the spatial dimension) are read from the input file.
Additionally, the traction vector components may be specified in either Cartesian coordinates or spherical coordinates, controlled by the "Use spherical unit vectors" parameter.
This flexibility allows compatibility with existing models prescribing pressure boundary conditions, while enabling models requiring full traction vectors.
Definition at line 60 of file ascii_data.h.
aspect::BoundaryTraction::AsciiData< dim >::AsciiData | ( | ) |
Constructor.
|
overridevirtual |
Initialization function. This function is called once at the beginning of the program. Checks preconditions.
Reimplemented from aspect::Plugins::InterfaceBase.
|
overridevirtual |
Return the boundary traction as a function of position. The (outward) normal vector to the domain is also provided as a second argument.
Implements aspect::BoundaryTraction::Interface< dim >.
|
overridevirtual |
A function that is called at the beginning of each time step to indicate what the model time is for which the boundary values will next be evaluated. For the current class, the function passes to the parsed function what the current time is.
Reimplemented from aspect::Plugins::InterfaceBase.
|
static |
Declare the parameters this class takes through input files.
|
overridevirtual |
Read the parameters this class declares from the parameter file.
Reimplemented from aspect::Plugins::InterfaceBase.
|
private |
Definition at line 111 of file ascii_data.h.
|
private |
Whether to specify traction in x, y, z components, or r, phi, theta components.
Definition at line 117 of file ascii_data.h.
|
private |
Whether to prescribe pressure (default: true) or full traction vector (false) at the boundary. If true, only 1 component will be used for the boundary condition.
Definition at line 123 of file ascii_data.h.