include/meltpooldg/flow/incompressible_flow_operation_base.hpp Source File
|
Developer Documentation
|
incompressible_flow_operation_base.hpp
Go to the documentation of this file.
166 set_user_defined_material(std::function<dealii::Tensor<2, dim, dealii::VectorizedArray<number>>(
Abstract base class for incompressible flow solvers.
Definition incompressible_flow_operation_base.hpp:16
virtual dealii::AffineConstraints< number > & get_constraints_pressure()=0
Get pressure constraints (non-const).
virtual const dealii::AffineConstraints< number > & get_hanging_node_constraints_velocity() const =0
Get hanging node constraints for velocity.
virtual dealii::VectorizedArray< number > & get_density(const unsigned int cell, const unsigned int q)=0
Get the density at a given cell and quadrature point (non-const).
virtual dealii::VectorizedArray< number > & get_damping(const unsigned int cell, const unsigned int q)=0
Get the damping at a given cell and quadrature point (non-const).
virtual const unsigned int & get_dof_handler_idx_hanging_nodes_velocity() const =0
Get the index of the hanging node constraints for the velocity field.
virtual void attach_output_vectors_failed_step(GenericDataOut< dim, number > &data_out) const =0
Attach velocity and pressure vectors to output when a time step fails.
virtual const unsigned int & get_quad_idx_velocity() const =0
Get the quadrature index used for velocity evaluation.
virtual const unsigned int & get_dof_handler_idx_velocity() const =0
Get the index for the velocity DoFHandler.
virtual void attach_vectors_p(std::vector< dealii::LinearAlgebra::distributed::Vector< number > * > &vectors)=0
Attach the pressure vectors.
virtual const dealii::AffineConstraints< number > & get_constraints_pressure() const =0
Get pressure constraints (const).
virtual void attach_output_vectors(GenericDataOut< dim, number > &data_out) const =0
Attach velocity and pressure fields to a GenericDataOut object for visualization.
virtual void solve()=0
Perform a single time step.
virtual const dealii::VectorizedArray< number > & get_density(const unsigned int cell, const unsigned int q) const =0
Get the density at a given cell and quadrature point (const).
virtual const dealii::LinearAlgebra::distributed::Vector< number > & get_pressure() const =0
Get the pressure vector (const).
virtual const dealii::LinearAlgebra::distributed::Vector< number > & get_velocity_old() const =0
Get the velocity from the previous time step (const).
virtual const dealii::AffineConstraints< number > & get_hanging_node_constraints_pressure() const =0
Get hanging node constraints for pressure.
virtual const dealii::DoFHandler< dim > & get_dof_handler_velocity() const =0
Get the DoF handler for the velocity field.
virtual dealii::LinearAlgebra::distributed::Vector< number > & get_pressure()=0
Get the pressure vector (non-const).
virtual void set_force_rhs(const dealii::LinearAlgebra::distributed::Vector< number > &vec)=0
Set the external force right-hand side (e.g., gravity).
virtual const unsigned int & get_quad_idx_pressure() const =0
Get the quadrature index used for pressure evaluation.
virtual const dealii::DoFHandler< dim > & get_dof_handler_pressure() const =0
Get the DoF handler for the pressure field.
virtual const dealii::AffineConstraints< number > & get_constraints_velocity() const =0
Get velocity constraints (const).
virtual const dealii::VectorizedArray< number > & get_damping(const unsigned int cell, const unsigned int q) const =0
Get the damping at a given cell and quadrature point (const).
virtual void init_time_advance()=0
Initialize data structures required before time stepping begins.
virtual void attach_vectors_u(std::vector< dealii::LinearAlgebra::distributed::Vector< number > * > &vectors)=0
Attach the velocity vectors.
virtual void set_mass_balance_rhs(const dealii::LinearAlgebra::distributed::Vector< number > &vec)=0
Set the right-hand side for the mass balance equation.
virtual ~IncompressibleFlowOperationBase()=default
virtual const unsigned int & get_dof_handler_idx_pressure() const =0
Get the internal index for the pressure DoFHandler.
virtual const dealii::VectorizedArray< number > & get_viscosity(const unsigned int cell, const unsigned int q) const =0
Get the viscosity at a given cell and quadrature point (const).
virtual void set_user_defined_material(std::function< dealii::Tensor< 2, dim, dealii::VectorizedArray< number > >(const dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > &, const unsigned int, const unsigned int, const bool)> my_user_defined_material)=0
Set a user-defined constitutive material law.
virtual dealii::AffineConstraints< number > & get_constraints_velocity()=0
Get reference to velocity constraints (non-const).
virtual dealii::VectorizedArray< number > & get_viscosity(const unsigned int cell, const unsigned int q)=0
Get the viscosity at a given cell and quadrature point (non-const).
virtual const dealii::LinearAlgebra::distributed::Vector< number > & get_velocity() const =0
Get the current velocity vector (const).
virtual dealii::LinearAlgebra::distributed::Vector< number > & get_velocity()=0
Get the current velocity vector (non-const).
virtual void set_initial_condition(const dealii::Function< dim > &)=0
Set the initial condition for the simulation using a given function.
virtual void distribute_constraints()=0
Distribute the constraints to velocity and pressure fields.
A generic utility for managing simulation output data in the MeltPoolDG context.
Definition generic_data_out.hpp:32
Definition equation_of_state.hpp:17
Generated by