include/meltpooldg/level_set/advection_diffusion_operation.hpp Source File
|
Developer Documentation
|
advection_diffusion_operation.hpp
Go to the documentation of this file.
277 std::pair<std::vector<unsigned int>, std::vector<number>> inflow_constraints_indices_and_values;
A generic utility for managing simulation output data in the MeltPoolDG context.
Definition generic_data_out.hpp:32
Definition advection_diffusion_operation_base.hpp:13
Definition advection_diffusion_operation.hpp:20
VectorType rhs
System right-hand side.
Definition advection_diffusion_operation.hpp:260
const TimeIntegration::TimeIterator< number > & time_iterator
Time iterator reference.
Definition advection_diffusion_operation.hpp:229
std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > inflow_outflow_bc
Inflow/outflow boundary data: boundary id → Dirichlet value function.
Definition advection_diffusion_operation.hpp:269
std::pair< std::vector< unsigned int >, std::vector< number > > inflow_constraints_indices_and_values
Indices/values used to enforce inflow constraints in matrix-free mode.
Definition advection_diffusion_operation.hpp:277
VectorType solution_advected_field_extrapolated
Extrapolated advected field from the predictor.
Definition advection_diffusion_operation.hpp:254
const unsigned int advec_diff_quad_idx
Definition advection_diffusion_operation.hpp:236
dealii::LinearAlgebra::distributed::BlockVector< number > BlockVectorType
Definition advection_diffusion_operation.hpp:23
void attach_vectors(std::vector< dealii::LinearAlgebra::distributed::Vector< number > * > &vectors) override
Register internal solution vectors for adaptive mesh refinement.
Definition advection_diffusion_operation.cpp:545
const unsigned int advec_diff_dof_idx
Definition advection_diffusion_operation.hpp:235
dealii::LinearAlgebra::distributed::Vector< number > & get_user_rhs() override
Get a mutable reference to the user-supplied RHS vector.
Definition advection_diffusion_operation.cpp:531
void attach_output_vectors(GenericDataOut< dim, number > &data_out) const override
Attach output fields to a GenericDataOut object.
Definition advection_diffusion_operation.cpp:553
void create_inflow_outflow_constraints()
Build inflow constraints (matrix-free mode) and pass indices to the operator.
Definition advection_diffusion_operation.cpp:371
const ScratchData< dim, dim, number > & scratch_data
Read-only access to FE, DoFHandlers, quadratures, MF data, timers, etc.
Definition advection_diffusion_operation.hpp:215
void reinit() override
Allocate and (re)initialize vectors and the underlying operator.
Definition advection_diffusion_operation.cpp:138
void solve(const bool do_finish_time_step=true) override
Solve the linear system for the current time step.
Definition advection_diffusion_operation.cpp:229
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Definition advection_diffusion_operation.hpp:22
const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > & dirichlet_bc
Dirichlet BC map provided at construction.
Definition advection_diffusion_operation.hpp:219
void set_initial_condition(const dealii::Function< dim > &initial_field_function) override
Set the initial condition for the advected field.
Definition advection_diffusion_operation.cpp:76
Preconditioner< dim, VectorType, number > preconditioner
Preconditioner wrapper (matrix-based or matrix-free).
Definition advection_diffusion_operation.hpp:257
virtual void set_advection_velocity_function(const std::shared_ptr< dealii::Function< dim, number > > &advection_velocity) final
Provide the advection velocity via a (possibly time-dependent) function.
Definition advection_diffusion_operation.cpp:106
void commit_solution_history_and_compute_predictor()
Compute the predictor solution for the current time step and commit time history.
Definition advection_diffusion_operation.cpp:185
const dealii::LinearAlgebra::distributed::Vector< number > * advection_velocity
Optional pointer to an externally provided velocity vector.
Definition advection_diffusion_operation.hpp:242
std::unique_ptr< Predictor< VectorType, number > > predictor
Predictor used to extrapolate the solution for the current step.
Definition advection_diffusion_operation.hpp:251
TimeIntegration::SolutionHistory< VectorType > solution_history
History of solution vectors used by the predictor and time integrator.
Definition advection_diffusion_operation.hpp:248
unsigned int velocity_dof_idx
DoFHandler index corresponding to advection_velocity.
Definition advection_diffusion_operation.hpp:245
dealii::TrilinosWrappers::SparseMatrix SparseMatrixType
Definition advection_diffusion_operation.hpp:24
const dealii::LinearAlgebra::distributed::Vector< number > & get_advected_field_old() const override
Get the most recent old advected field (const).
Definition advection_diffusion_operation.cpp:517
bool update_ghosts
Whether we updated ghost values for the old solution in init_time_advance().
Definition advection_diffusion_operation.hpp:266
void init_time_advance() override
Prepare a time step: commit history, update constraints/BCs, build RHS, compute predictor.
Definition advection_diffusion_operation.cpp:162
void create_operator()
Instantiate and configure the underlying operator and preconditioner.
Definition advection_diffusion_operation.cpp:48
std::unique_ptr< AdvectionDiffusionOperator< dim, number > > advec_diff_operator
Concrete advection–diffusion operator.
Definition advection_diffusion_operation.hpp:226
VectorType user_rhs
User-supplied right-hand side (added to the system RHS).
Definition advection_diffusion_operation.hpp:263
std::shared_ptr< dealii::Function< dim, number > > advection_velocity_function
Optional velocity function (alternative to advection_velocity).
Definition advection_diffusion_operation.hpp:239
const dealii::LinearAlgebra::distributed::Vector< number > & get_advected_field() const override
Get the current advected field (const).
Definition advection_diffusion_operation.cpp:503
virtual void set_advection_velocity(const VectorType &advection_velocity, const unsigned int velocity_dof_idx) final
Provide the advection velocity from an existing vector.
Definition advection_diffusion_operation.cpp:96
void setup_constraints(ScratchData< dim, dim, number > &mutable_scratch_data, const PeriodicBoundaryConditions< dim > &periodic_bc, const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &dirichlet_bc_in) final
Build and merge Dirichlet, hanging-node, and periodic constraints into an AffineConstraints object.
Definition advection_diffusion_operation.cpp:122
const unsigned int advec_diff_hanging_nodes_dof_idx
Definition advection_diffusion_operation.hpp:237
void set_inflow_outflow_bc(const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > inflow_outflow_bc_)
Set inflow/outflow boundary data (matrix-free mode only).
Definition advection_diffusion_operation.cpp:114
Definition preconditioner.hpp:42
Container for shared scratch data between operations/operators.
Definition scratch_data.hpp:61
Definition solution_history.hpp:21
Definition time_iterator.hpp:15
This operation solves the reinitialization problem for a CG- or DG-FEM-based discrete level-set field...
Definition advection_DG_operation.hpp:20
Definition periodic_boundary_conditions.hpp:11
Generated by