|
| | SimulationWallWetting (std::string parameter_file, const MPI_Comm mpi_communicator) |
| | Constructor of the wall wetting simulation using wetting boundary condition.
|
| |
| bool | add_case_specific_parameters (dealii::ParameterHandler &prm) final |
| | Add parameters that are specific to the simulation.
|
| |
| void | create_spatial_discretization () final |
| | Create the spatial discretization of the problem.
|
| |
| void | set_boundary_conditions () final |
| | Set boundary conditions.
|
| |
| void | set_field_conditions () final |
| | Set initial level-set field condition.
|
| |
| void | do_postprocessing (const GenericDataOut< dim, double > &generic_data_out) const final |
| | Post-process the solution to extract the contact angle at the boundary for the current time-step and write it in an output file.
|
| |
| void | compute_contact_angle_at_boundary (number &contact_angle, const GenericDataOut< dim, double > &generic_data_out) const |
| | Computes the position-weighted contact angle at the bottom boundary.
|
| |
| | ReinitializationCase (const std::string ¶meter_file_in, MPI_Comm mpi_communicator_in) |
| |
| virtual | ~SimulationCaseBase ()=default |
| |
| | SimulationCaseBase (const std::string ¶meter_file_in, MPI_Comm mpi_communicator_in) |
| |
| void | create () |
| | Main setup function to initialize the simulation.
|
| |
| std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > | get_boundary_condition (const std::string &type, const std::string &operation_name, const bool is_optional=true) const |
| | Retrieve boundary conditions of a specific type for an operation.
|
| |
| std::shared_ptr< BoundaryConditionManager< dim, number > > | get_boundary_condition_manager (const std::string &operation_name, const bool is_optional=true) const |
| | Retrieve the boundary condition object for a specific operation.
|
| |
| std::string | get_boundary_condition_type (dealii::types::boundary_id boundary_id, const std::string &operation_name) const |
| | Retrieve the type of a boundary condition for a specific boundary ID and operation.
|
| |
| void | set_time_boundary_conditions (const number time) |
| | Update the time for all boundary conditions.
|
| |
| std::shared_ptr< dealii::Function< dim > > | get_field_function (const std::string &type, const std::string &operation_name, const bool is_optional=false) |
| |
| std::shared_ptr< dealii::Function< dim > > | get_initial_condition (const std::string &operation_name, const bool is_optional=false) |
| | Retrieve the initial condition for a given operation.
|
| |
| const PeriodicBoundaryConditions< dim > & | get_periodic_bc () const |
| | Get the periodic boundary condition manager.
|
| |
| virtual void | do_postprocessing (const GenericDataOut< dim, number > &generic_data_out) const |
| | Perform specific postprocessing (can be overridden by derived classes).
|
| |
|
| ReinitializationCaseParameters< number > | parameters |
| |
| std::shared_ptr< dealii::Triangulation< dim, spacedim > > | triangulation |
| |
| const std::string | parameter_file |
| |
| const MPI_Comm | mpi_communicator |
| |
| void | attach_field_function (std::shared_ptr< dealii::Function< dim > > function, const std::string &type, const std::string &operation_name) |
| |
| void | attach_initial_condition (std::shared_ptr< dealii::Function< dim > > initial_function, const std::string &operation_name) |
| |
| void | attach_boundary_condition (std::pair< const dealii::types::boundary_id, const std::shared_ptr< dealii::Function< dim > > > id_and_function, const std::string &type, const std::string &operation_name) |
| | Attach a boundary condition for a specific operation.
|
| |
| void | attach_boundary_condition (const dealii::types::boundary_id id, const std::string &type, const std::string &operation_name) |
| | Attach a boundary condition with a dummy function for a specific operation.
|
| |
| void | attach_periodic_boundary_condition (const dealii::types::boundary_id id_in, const dealii::types::boundary_id id_out, const int direction) |
| |
template<int dim, typename number>
class MeltPoolDG::Simulation::WallWetting::SimulationWallWetting< dim, number >
Simulation of wetting at the bottom wall. This simulates the modelling problem described in "A conservative level set method for contact line dynamics" by Zahedi et al. (2009). DOI: https://doi.org/10.1016/j.jcp.2009.05.043.
- Template Parameters
-
| dim | Number of spatial dimensions of the simulation |
| number | Numeric type used for computations (e.g., float, double) |
template<int dim, typename number >
Computes the position-weighted contact angle at the bottom boundary.
This function evaluates the contact angle between the fluid interface and the bottom wall of the domain. It traverses the interface using LevelSet::Tools::evaluate_at_interface, identifies points near the bottom boundary, and computes the contact angle using a scalar product between the wall normal and the gradient of the level set indicator.
The resulting contact angle is weighted based on the vertical distance from the interface point to the bottom wall, so that points closer to the wall have a stronger influence on the result.
- Parameters
-
| [out] | contact_angle | Computed contact angle value in degrees |
| [in] | generic_data_out | GenericDataOut object containing solution information |