Neko  0.8.1
A portable framework for high-order spectral element flow simulations
cpr Module Reference

Compression. More...

Data Types

type  cpr_t
 include information needed for compressing fields More...
 
interface  cpr_init
 

Functions/Subroutines

subroutine cpr_init_all (cpr, u)
 Initialize cpr. More...
 
subroutine, public cpr_free (cpr)
 Deallocate coefficients. More...
 
subroutine cpr_generate_specmat (cpr)
 Generate spectral tranform matrices. More...
 
subroutine cpr_goto_space (cpr, space)
 Tranform to spectral space (using tensor product) More...
 
subroutine cpr_truncate_wn (cpr, coef)
 Truncate the frequencies. More...
 
subroutine sortcoeff (vsort, v, isort, nxyz)
 Sort the spectral coefficient in descending order array vsort. The original indices are stored in the isort vector. More...
 
subroutine flipv (b, ind, n)
 Flip vector b and ind. More...
 
subroutine swap (b, ind, n)
 sort the array acording to ind vector More...
 
subroutine reord (b, ind, n)
 reorder the array - inverse of swap More...
 
subroutine build_filter_tf (fx, fy, fz, kut, lx)
 create filter transfer function More...
 
real(kind=rp) function get_elem_l2norm (elemdata, coef, space, e)
 

Detailed Description

Compression.

Function/Subroutine Documentation

◆ build_filter_tf()

subroutine cpr::build_filter_tf ( real(kind=rp), dimension(lx,lx), intent(inout)  fx,
real(kind=rp), dimension(lx,lx), intent(inout)  fy,
real(kind=rp), dimension(lx,lx), intent(inout)  fz,
integer, intent(in)  kut,
integer, intent(in)  lx 
)
private

create filter transfer function

Definition at line 465 of file cpr.f90.

Here is the caller graph for this function:

◆ cpr_free()

subroutine, public cpr::cpr_free ( type(cpr_t), intent(inout)  cpr)

Deallocate coefficients.

Definition at line 108 of file cpr.f90.

Here is the caller graph for this function:

◆ cpr_generate_specmat()

subroutine cpr::cpr_generate_specmat ( type(cpr_t), intent(inout)  cpr)
private

Generate spectral tranform matrices.

Definition at line 145 of file cpr.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cpr_goto_space()

subroutine cpr::cpr_goto_space ( type(cpr_t), intent(inout)  cpr,
character(len=4)  space 
)
private

Tranform to spectral space (using tensor product)

Definition at line 221 of file cpr.f90.

Here is the caller graph for this function:

◆ cpr_init_all()

subroutine cpr::cpr_init_all ( type(cpr_t), intent(inout)  cpr,
type(field_t), intent(in), target  u 
)
private

Initialize cpr.

Parameters
[in]u'spec' / 'phys'

Definition at line 78 of file cpr.f90.

◆ cpr_truncate_wn()

subroutine cpr::cpr_truncate_wn ( type(cpr_t), intent(inout)  cpr,
type(coef_t), intent(inout)  coef 
)
private

Truncate the frequencies.

Definition at line 266 of file cpr.f90.

Here is the call graph for this function:

◆ flipv()

subroutine cpr::flipv ( real(kind=rp), dimension(n), intent(inout)  b,
integer, dimension(n), intent(inout)  ind,
integer, intent(in)  n 
)
private

Flip vector b and ind.

Definition at line 408 of file cpr.f90.

Here is the caller graph for this function:

◆ get_elem_l2norm()

real(kind=rp) function cpr::get_elem_l2norm ( real(kind=rp), dimension(coef%xh%lx, coef%xh%lx, coef%xh%lx)  elemdata,
type(coef_t), intent(in)  coef,
character(len=4)  space,
integer  e 
)
private

Definition at line 530 of file cpr.f90.

Here is the caller graph for this function:

◆ reord()

subroutine cpr::reord ( real(kind=rp), dimension(n), intent(inout)  b,
integer, dimension(n), intent(inout)  ind,
integer, intent(in)  n 
)
private

reorder the array - inverse of swap

Definition at line 447 of file cpr.f90.

Here is the caller graph for this function:

◆ sortcoeff()

subroutine cpr::sortcoeff ( real(kind=rp), dimension(nxyz), intent(inout)  vsort,
real(kind=rp), dimension(nxyz), intent(inout)  v,
integer, dimension(nxyz), intent(inout)  isort,
integer, intent(in)  nxyz 
)
private

Sort the spectral coefficient in descending order array vsort. The original indices are stored in the isort vector.

Definition at line 379 of file cpr.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ swap()

subroutine cpr::swap ( real(kind=rp), dimension(n), intent(inout)  b,
integer, dimension(n), intent(inout)  ind,
integer, intent(in)  n 
)
private

sort the array acording to ind vector

Definition at line 429 of file cpr.f90.

Here is the caller graph for this function: