include/meltpooldg/fluid_structure_interaction/brinkman_penalization.hpp Source File

Developer Documentation: include/meltpooldg/fluid_structure_interaction/brinkman_penalization.hpp Source File
Developer Documentation
brinkman_penalization.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/exception_macros.h>
4#include <deal.II/base/exceptions.h>
5#include <deal.II/base/point.h>
6#include <deal.II/base/vectorization.h>
7
8#include <deal.II/lac/la_parallel_vector.h>
9
10#include <deal.II/matrix_free/matrix_free.h>
11
19
20
21namespace MeltPoolDG
22{
23 template <int dim, typename number, typename ObstacleType>
59
60
79 template <int dim, typename number, typename ObstacleType>
81 : public CompressibleFlow::ExternalFlowForce<dim, number>
82 {
84
85 public:
97 &cell_cache);
98
112 value(number time_step_size,
113 const unsigned int cell_batch_id,
114 const dealii::Point<dim, dealii::VectorizedArray<number>> &q_point,
115 const ConservedVariablesType &w_q) override;
116
117 private:
120
122 const std::shared_ptr<MatrixFreeCellBatchParticleCache<dim, number, ObstacleType>> cell_cache;
123 };
124
125
143 template <int dim, typename number, typename ObstacleType>
146 {
148
149 public:
161 &cell_cache);
162
177 value(number time_step_size,
178 unsigned int cell_batch_id,
179 const dealii::Point<dim, dealii::VectorizedArray<number>> &q_point,
180 const ConservedVariablesType &w_q,
181 const ConservedVariablesType &delta_w_q) override;
182
183 private:
186
188 const std::shared_ptr<MatrixFreeCellBatchParticleCache<dim, number, ObstacleType>> cell_cache;
189 };
190} // namespace MeltPoolDG
Definition cell_batch_particle_cache.hpp:20
Definition obstacle_field.hpp:32
dealii::Tensor< 1, n_conserved_variables< dim, n_species >, VectorizedArrayType > ConservedVariablesType
Definition data_types.hpp:35
Interface for a general preconditioner.
Definition boundary_condition_functions.hpp:17
Definition brinkman_penalization.hpp:25
const MatrixFreeContext< dim, number > matrix_free
Matrix free object and corresponding relevant indices used by the compressible flow solver.
Definition brinkman_penalization.hpp:54
const VectorType & solution
Solution of the flow field.
Definition brinkman_penalization.hpp:57
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Definition brinkman_penalization.hpp:26
const BrinkmanPenalizationData< number > brinkman_penalization_data
Brinkman penalization data.
Definition brinkman_penalization.hpp:51
void add_load_to_obstacles(ObstacleField< dim, number, ObstacleType > &obstacle_field) const
Definition brinkman_penalization.cpp:38
Definition brinkman_penalization_data.hpp:12
Definition brinkman_penalization.hpp:146
const std::shared_ptr< MatrixFreeCellBatchParticleCache< dim, number, ObstacleType > > cell_cache
Cached cell data for computing Brinkman penalty term.
Definition brinkman_penalization.hpp:188
CompressibleFlow::ConservedVariablesType< dim, number > ConservedVariablesType
Definition brinkman_penalization.hpp:147
ConservedVariablesType value(number time_step_size, unsigned int cell_batch_id, const dealii::Point< dim, dealii::VectorizedArray< number > > &q_point, const ConservedVariablesType &w_q, const ConservedVariablesType &delta_w_q) override
Definition brinkman_penalization.cpp:189
const BrinkmanPenalizationData< number > brinkman_penalization_data
Brinkman penalization data.
Definition brinkman_penalization.hpp:185
Definition brinkman_penalization.hpp:82
CompressibleFlow::ConservedVariablesType< dim, number > ConservedVariablesType
Definition brinkman_penalization.hpp:83
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
Definition brinkman_penalization.cpp:141
const BrinkmanPenalizationData< number > brinkman_penalization_data
Brinkman penalization data.
Definition brinkman_penalization.hpp:119
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.
Definition brinkman_penalization.hpp:122
An abstract interface for defining external forces acting on the fluid that must be evaluated and inc...
Definition utils.hpp:117
Definition matrix_free_util.hpp:21