A BC which appears as a/forcing": the mini version.
More...
|
subroutine | pen_update () |
| Update penalty. More...
|
|
subroutine | pen_forcing (ix, iy, iz, ieg) |
| Compute penalty forcing. More...
|
|
subroutine | pen_fmask_get () |
| Get 1D projection, array mapping and forcing smoothing. More...
|
|
subroutine | pen_fterms_get (ifreset) |
| Generate forcing terms: pen_k_len and pen_fstab. More...
|
|
subroutine | pen_register () |
| Register penalty module. More...
|
|
subroutine | pen_init () |
| Initilise penalty module. More...
|
|
logical function | pen_is_initialised () |
| Check if module was initialised. More...
|
|
subroutine | local_cart_dy (us, u, N, e, Dt) |
| Assuming the mesh is cartesian, compute exact y-derivative for an element, by operating. More...
|
|
subroutine | local_cart_dy_pseudo (us, u, N, e, Dt) |
| Assuming the mesh is cartesian, compute pseudo(?) y-derivative along y-axis for an element, by operating. More...
|
|
subroutine | cart_diff_y (uy, u, ifexact) |
|
A BC which appears as a/forcing": the mini version.
◆ cart_diff_y()
subroutine cart_diff_y |
( |
real, dimension(lxyz,1) |
uy, |
|
|
real, dimension(lxyz,1) |
u, |
|
|
logical |
ifexact |
|
) |
| |
Compute exact / pseudo y-derivative in a Cartesian vel. mesh
- Parameters
-
[out] | uy | |
[in] | u | |
[in] | ifexact | Compute exact or pseudo-derivative |
◆ local_cart_dy()
subroutine local_cart_dy |
( |
real, dimension(0:n,0:n,0:n) |
us, |
|
|
real, dimension (0:n,0:n,0:n,1) |
u, |
|
|
integer |
N, |
|
|
integer |
e, |
|
|
real, dimension(0:n,0:n) |
Dt |
|
) |
| |
Assuming the mesh is cartesian, compute exact y-derivative for an element, by operating.
\[ \mathbf{u} D^T \]
- Parameters
-
◆ local_cart_dy_pseudo()
subroutine local_cart_dy_pseudo |
( |
real, dimension(0:n,0:n,0:n) |
us, |
|
|
real, dimension (0:n,0:n,0:n,1) |
u, |
|
|
integer |
N, |
|
|
integer |
e, |
|
|
real, dimension(0:n,0:n) |
Dt |
|
) |
| |
Assuming the mesh is cartesian, compute pseudo(?) y-derivative along y-axis for an element, by operating.
\[ Dt \mathbf{u} \]
- Parameters
-
◆ pen_fmask_get()
Get 1D projection, array mapping and forcing smoothing.
This routine is just a simple version supporting only lines paralles to z axis. In future it can be generalised. The subroutine initializes pen_prj, pen_map and pen_npoint
- See also
- Schlatter and Örlü, “Turbulent Boundary Layers at Moderate Reynolds Numbers.” pg. 12
◆ pen_forcing()
subroutine pen_forcing |
( |
integer |
ix, |
|
|
integer |
iy, |
|
|
integer |
iz, |
|
|
integer |
ieg |
|
) |
| |
Compute penalty forcing.
- Parameters
-
[in,out] | ffx,ffy,ffz | forcing; x,y,z component |
[in] | ix,iy,iz | GLL point index |
[in] | ieg | global element number |
- Todo:
- add ffy component and rotation
◆ pen_fterms_get()
subroutine pen_fterms_get |
( |
logical |
ifreset | ) |
|
Generate forcing terms: pen_k_len and pen_fstab.
This used to also initializes the pen_famp array. This was to allow for spatio-temporally varying forcing, which has been removed in this version.
- Parameters
-
[in] | ifreset | reset flag to reinitialize geometry term pen_k_len |
◆ pen_init()
Initilise penalty module.
- Note
- This routine should be called in frame_usr_init
◆ pen_is_initialised()
logical function pen_is_initialised |
Check if module was initialised.
- Returns
- pen_is_initialised
◆ pen_register()
Register penalty module.
- Note
- This routine should be called in frame_usr_register
◆ pen_update()