filter.f#
These are the subroutines in filter.f.
Subroutines and functions
- subroutine pod_proj(uu, r1, nn, msg)#
Apply smoothing function to ROM coefficients vector uu.
- Parameters:
uu (nn) [real] :: output/input, ROM coefficients vector to be filtered.
r1 [integer] :: input, number of modes to be filtered.
nn [integer] :: input, length of vector uu.
msg [character] :: input, specifier for for different filter functions. Currently, msg = step is a supported specifier. msg = linear, msg = parabo and msg = cubic are deprecated.
- Called from:
rom_step_legacy(),bdfext_step(),post(),set_bdf_coef(),evalc(),evalc3(),evalc4(),setcintp(),setr_t(),setr_v(),setuavg(),settavg(),seth(),hybrid_advance(),constrained_pod(),evalc2(),evf(),check_diag(),check_box(),update_h(),set_ucoef_in_ext(),set_tcoef_in_ext(),setuj()- Call to:
setdf(),dgetrf(),dgetrs(),push_sol(),pv2b(),ps2b(),pop_sol()
- subroutine pod_df(uu)#
Apply ROM differential filter to ROM coefficients vector uu.
- Parameters:
uu (nb) [real] :: output/input, ROM coefficients vector to be filtered.
- Called from:
rom_step_legacy(),bdfext_step(),post(),set_bdf_coef(),evalc(),evalc3(),evalc4(),setcintp(),setr_t(),setr_v()- Call to:
setdf(),dgetrf(),dgetrs(),push_sol(),pv2b(),ps2b(),pop_sol()
- subroutine setdf(flu, a, b, ad_diff)#
Set up ROM differential filter (DF) operator \(B + \text{filter radius} * A\).
- Parameters:
flu (nb * nb) [real] :: output, differential filter operator.
a (nb * nb) [real] :: input, ROM stiffness matrix.
b (nb * nb) [real] :: input, ROM mass matrix.
ad_diff [real] :: input, filter radius.
- Called from:
- Call to:
- subroutine set_les_imp(fles1, fles2)#
Set implicit les matrices.
- Parameters:
fles1 (1 + nb,nb) [real] :: filtering matrix for velocity
fles2 (1 + nb,nb) [real] :: filtering matrix for temperature
- Called from:
rom_update(),offline_mode(),online_mode(),recon_mode(),rom_setup(),asnap(),setops(),setqoi()- Call to:
- subroutine apply_les_imp(uu, tt, sig, fles1, fles2, tmp)#
Apply implicit les filter to coefficients.
- Parameters:
uu (1 + nb) [real] :: velocity coefficients
tt (1 + nb) [real] :: temperature coefficients
sig [real] :: filter strength
fles1 (1 + nb,nb) [real] :: filter matrix for velocity
fles2 (1 + nb,nb) [real] :: filter matrix for temperature
tmp (1 + nb) [real] :: work array
- Called from:
- subroutine evalnut(nut, u1, u2, u3)#
Evaluate eddy viscosity.
- Parameters:
nut (lx1,ly1,lz1,lelt) [real] :: eddy viscosity field
u1 (lt) [real] :: first component of velocity field
u2 (lt) [real] :: second component of velocity field
u3 (lt) [real] :: third component of velocity field
- subroutine efr_relaxation(filtered_coef, coef, relax, nb)#
Perform the relaxation step in the evolve-filter-relaxation ROM.
- Parameters:
filtered_coef (nb) [real] :: input/output, filtered ROM coefficients vector.
coef (nb) [real] :: input, unfiltered ROM coefficients vector.
relax [real] :: input, relaxation parameter in [dt, 1].
nb [integer] :: input, length of vector filtered_coef and coef.
- Called from: