BrinkmanObstacleForce< dim, number, ObstacleType > Struct Template Reference

Developer Documentation: MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType > Struct Template Reference
Developer Documentation
MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType > Struct Template Reference

#include <brinkman_penalization.hpp>

Collaboration diagram for MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType >:
[legend]

Public Types

using VectorType = dealii::LinearAlgebra::distributed::Vector< number >
 

Public Member Functions

 BrinkmanObstacleForce (const VectorType &solution, const MatrixFreeContext< dim, number > &matrix_free, const BrinkmanPenalizationData< number > &data)
 
void add_load_to_obstacles (ObstacleField< dim, number, ObstacleType > &obstacle_field) const
 

Private Attributes

const BrinkmanPenalizationData< number > brinkman_penalization_data
 Brinkman penalization data.
 
const MatrixFreeContext< dim, number > matrix_free
 Matrix free object and corresponding relevant indices used by the compressible flow solver.
 
const VectorTypesolution
 Solution of the flow field.
 

Member Typedef Documentation

◆ VectorType

template<int dim, typename number , typename ObstacleType >
using MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType >::VectorType = dealii::LinearAlgebra::distributed::Vector<number>

Constructor & Destructor Documentation

◆ BrinkmanObstacleForce()

template<int dim, typename number , typename ObstacleType >
MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType >::BrinkmanObstacleForce ( const VectorType solution,
const MatrixFreeContext< dim, number > &  matrix_free,
const BrinkmanPenalizationData< number > &  data 
)

Constructor. Stores all relevant data internally.

Parameters
solutionReference to the solution of the flow field.
matrix_freeMatrixFree object and corresponding relevant indices.
dataObject for caching relevant data for the penalty term computation.

Member Function Documentation

◆ add_load_to_obstacles()

template<int dim, typename number , typename ObstacleType >
void MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType >::add_load_to_obstacles ( ObstacleField< dim, number, ObstacleType > &  obstacle_field) const

Compute the force from the fluid on all obstacles in the given obstacle field

Parameters
obstacle_field.This is done by evaluating the Brinkman penalization terms at all (fluid) quadrature points lying in the obstacle volume, multiplying by the corresponding quadrature weight and computing the sum of the individual contributions. The final result is then added to the force property of the corresponding obstacle.

Member Data Documentation

◆ brinkman_penalization_data

template<int dim, typename number , typename ObstacleType >
const BrinkmanPenalizationData<number> MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType >::brinkman_penalization_data
private

Brinkman penalization data.

◆ matrix_free

template<int dim, typename number , typename ObstacleType >
const MatrixFreeContext<dim, number> MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType >::matrix_free
private

Matrix free object and corresponding relevant indices used by the compressible flow solver.

◆ solution

template<int dim, typename number , typename ObstacleType >
const VectorType& MeltPoolDG::BrinkmanObstacleForce< dim, number, ObstacleType >::solution
private

Solution of the flow field.


The documentation for this struct was generated from the following files: