Neko
0.9.0
A portable framework for high-order spectral element flow simulations
|
A module containing filter functions and subroutines. These functions are used to modify fields in a way that is useful for various simulations.
Functions/Subroutines | |
subroutine, public | smooth_step_field (F, edge0, edge1) |
Apply a smooth step function to a field. More... | |
subroutine, public | permeability_field (F, k_0, k_1, q) |
Apply a permeability function to a field. More... | |
subroutine, public | step_function_field (F, x0, value0, value1) |
Apply a step function to a field. More... | |
subroutine, public filters::permeability_field | ( | type(field_t), intent(inout) | F, |
real(kind=rp), intent(in) | k_0, | ||
real(kind=rp), intent(in) | k_1, | ||
real(kind=rp), intent(in) | q | ||
) |
The permeability function is defined as:
\[ k(x) = k_0 + (k_1 - k_0) x \frac{q + 1}{q + x}} \]
[in,out] | F | Field to be modified. |
[in] | k_0 | Permeability at x=0. |
[in] | k_1 | Permeability at x=1. |
[in] | q | Penalty factor. |
Definition at line 89 of file filters.f90.
subroutine, public filters::smooth_step_field | ( | type(field_t), intent(inout) | F, |
real(kind=rp), intent(in) | edge0, | ||
real(kind=rp), intent(in) | edge1 | ||
) |
The smooth step function is defined as:
\[ t = (x - edge0) / (edge1 - edge0) f(t) = \begin{cases} t^3 (t (6x - 15) + 10), & t \in [0, 1] \\ 0, & t \leq 0 \\ 1, & t \geq 1 \\ \end{cases} \]
[in,out] | F | Field to be modified. |
[in] | edge0 | Edge giving output 0. |
[in] | edge1 | Edge giving output 1. |
Definition at line 69 of file filters.f90.
subroutine, public filters::step_function_field | ( | type(field_t), intent(inout) | F, |
real(kind=rp), intent(in) | x0, | ||
real(kind=rp), intent(in) | value0, | ||
real(kind=rp), intent(in) | value1 | ||
) |
[in,out] | F | Field to be modified. |
[in] | x0 | Position of the step. |
[in] | value0 | Value of the field before the step. |
[in] | value1 | Value of the field after the step. |
Definition at line 108 of file filters.f90.