BrinkmanPenalizationResidualContribution< dim, number, ObstacleType > Struct Template Reference
|
Developer Documentation
|
#include <brinkman_penalization.hpp>
Public Types | |
| using | ConservedVariablesType = CompressibleFlow::ConservedVariablesType< dim, number > |
Public Member Functions | |
| BrinkmanPenalizationResidualContribution (const BrinkmanPenalizationData< number > &brinkman_penalization_data, const std::shared_ptr< MatrixFreeCellBatchParticleCache< dim, number, ObstacleType > > &cell_cache) | |
| ConservedVariablesType | value (number time_step_size, const unsigned int cell_batch_id, const dealii::Point< dim, dealii::VectorizedArray< number > > &q_point, const ConservedVariablesType &w_q) override |
Public Member Functions inherited from MeltPoolDG::CompressibleFlow::ExternalFlowForce< dim, number, n_species > | |
| virtual | ~ExternalFlowForce ()=default |
| virtual ConservedVariablesType< dim, number, n_species > | value (number time_step_size, unsigned int cell_batch_id, const dealii::Point< dim, dealii::VectorizedArray< number > > &points, const ConservedVariablesType< dim, number, n_species > &w)=0 |
Private Attributes | |
| const BrinkmanPenalizationData< number > | brinkman_penalization_data |
| Brinkman penalization data. | |
| const std::shared_ptr< MatrixFreeCellBatchParticleCache< dim, number, ObstacleType > > | cell_cache |
| Cache for storing the particles relevant to each cell batch in the matrix-free context. | |
Detailed Description
struct MeltPoolDG::BrinkmanPenalizationResidualContribution< dim, number, ObstacleType >
Implementation of the Brinkman penalization force for compressible flows advanced in time using explicit time integration.
The penalization force is computed as
\[ f^{vp}_\rho &= 0,\\ f^{vp}_\bm{m} &= \frac{\xi}{\eta} \left(\rho_f \mathbf{u}_s - \mathbf{m}_f \right), \\ f^{vp}_e &= \frac{\xi}{\eta} \left(\rho_f \mathbf{u}_s - \mathbf{m}_f \right)\frac{m_j}{\rho}, \\ \]
where:
- \(\xi\) is the mask function,
- \(\eta\) is the permeability,
- \(\rho_f\) is the local fluid density,
- \(\mathbf{u}_s\) is the local obstacle velocity,
- \(\mathbf{m}_f\) is the current fluid momentum.
Member Typedef Documentation
◆ ConservedVariablesType
| using MeltPoolDG::BrinkmanPenalizationResidualContribution< dim, number, ObstacleType >::ConservedVariablesType = CompressibleFlow::ConservedVariablesType<dim, number> |
Constructor & Destructor Documentation
◆ BrinkmanPenalizationResidualContribution()
| MeltPoolDG::BrinkmanPenalizationResidualContribution< dim, number, ObstacleType >::BrinkmanPenalizationResidualContribution | ( | const BrinkmanPenalizationData< number > & | brinkman_penalization_data, |
| const std::shared_ptr< MatrixFreeCellBatchParticleCache< dim, number, ObstacleType > > & | cell_cache | ||
| ) |
Constructor that stores relevant data internally and uses the default mask function for the penalty term computation. The default mask function returns 1 for points inside the obstacle volume and 0 outside.
- Parameters
-
brinkman_penalization_data Data required for computing the Brinkman penalization term. cell_cache Cache for retrieving the particles relevant to each cell batch.
Member Function Documentation
◆ value()
|
override |
This function evaluates the Brinkman penalty term at a set of vectorized points, typically quadrature points. Since successive calls often operate on the same set of cells, the function internally caches the obstacles relevant to the provided cells. The cache is updated automatically if the cell set differs from that used in the previous call.
- Parameters
-
time_step_size Current time step size. cell_batch_id ID of the cell batch for which to compute the residual contribution. q_point Coordinates at which the penalty term is to be evaluated. w_q Conserved variables evaluated at the given coordinates.
- Returns
- The computed Brinkman penalty term at the specified points.
Member Data Documentation
◆ brinkman_penalization_data
|
private |
Brinkman penalization data.
◆ cell_cache
|
private |
Cache for storing the particles relevant to each cell batch in the matrix-free context.
The documentation for this struct was generated from the following files:
- include/meltpooldg/fluid_structure_interaction/brinkman_penalization.hpp
- source/fluid_structure_interaction/brinkman_penalization.cpp
Generated by
Public Member Functions inherited from