program~~approximate_1d_jump~~UsesGraph
program~approximate_1d_jump
approximate_1D_jump
env_module
env_module
program~approximate_1d_jump->env_module
module~ply_dof_module
ply_dof_module
program~approximate_1d_jump->module~ply_dof_module
module~ply_dynarray_project_module
ply_dynarray_project_module
program~approximate_1d_jump->module~ply_dynarray_project_module
module~ply_modg_basis_module
ply_modg_basis_module
program~approximate_1d_jump->module~ply_modg_basis_module
module~ply_poly_project_module
ply_poly_project_module
program~approximate_1d_jump->module~ply_poly_project_module
tem_dyn_array_module
tem_dyn_array_module
program~approximate_1d_jump->tem_dyn_array_module
module~ply_dof_module->env_module
module~ply_dynarray_project_module->env_module
aotus_module
aotus_module
module~ply_dynarray_project_module->aotus_module
module~ply_prj_header_module
ply_prj_header_module
module~ply_dynarray_project_module->module~ply_prj_header_module
tem_logging_module
tem_logging_module
module~ply_dynarray_project_module->tem_logging_module
module~ply_modg_basis_module->env_module
module~ply_modg_basis_module->module~ply_dof_module
module~ply_space_integration_module
ply_space_integration_module
module~ply_modg_basis_module->module~ply_space_integration_module
module~ply_poly_project_module->env_module
module~ply_poly_project_module->module~ply_dof_module
module~ply_poly_project_module->module~ply_dynarray_project_module
module~ply_fxt_module
ply_fxt_module
module~ply_poly_project_module->module~ply_fxt_module
module~ply_l2p_module
ply_l2p_module
module~ply_poly_project_module->module~ply_l2p_module
module~ply_legfpt_2d_module
ply_legFpt_2D_module
module~ply_poly_project_module->module~ply_legfpt_2d_module
module~ply_legfpt_3d_module
ply_legFpt_3D_module
module~ply_poly_project_module->module~ply_legfpt_3d_module
module~ply_legfpt_module
ply_legFpt_module
module~ply_poly_project_module->module~ply_legfpt_module
module~ply_nodes_header_module
ply_nodes_header_module
module~ply_poly_project_module->module~ply_nodes_header_module
module~ply_nodes_module
ply_nodes_module
module~ply_poly_project_module->module~ply_nodes_module
module~ply_poly_project_module->module~ply_prj_header_module
tem_aux_module
tem_aux_module
module~ply_poly_project_module->tem_aux_module
module~ply_poly_project_module->tem_logging_module
tem_tools_module
tem_tools_module
module~ply_poly_project_module->tem_tools_module
module~ply_fxt_module->env_module
module~fxt_fwrap
fxt_fwrap
module~ply_fxt_module->module~fxt_fwrap
module~ply_fxt_header_module
ply_fxt_header_module
module~ply_fxt_module->module~ply_fxt_header_module
module~ply_l2p_module->env_module
module~ply_l2p_module->module~ply_modg_basis_module
module~ply_l2p_module->module~ply_space_integration_module
module~ply_l2p_module->tem_aux_module
module~ply_l2p_module->tem_logging_module
module~ply_l2p_header_module
ply_l2p_header_module
module~ply_l2p_module->module~ply_l2p_header_module
module~ply_lagrange_module
ply_lagrange_module
module~ply_l2p_module->module~ply_lagrange_module
module~ply_nodeset_module
ply_nodeset_module
module~ply_l2p_module->module~ply_nodeset_module
tem_compileconf_module
tem_compileconf_module
module~ply_l2p_module->tem_compileconf_module
module~ply_legfpt_2d_module->env_module
module~ply_legfpt_2d_module->module~ply_legfpt_module
iso_c_binding
iso_c_binding
module~ply_legfpt_2d_module->iso_c_binding
module~fftw_wrap
fftw_wrap
module~ply_legfpt_2d_module->module~fftw_wrap
module~ply_legfpt_3d_module->env_module
module~ply_legfpt_3d_module->module~ply_legfpt_module
module~ply_legfpt_3d_module->iso_c_binding
module~ply_legfpt_3d_module->module~fftw_wrap
module~ply_legfpt_module->env_module
module~ply_legfpt_module->iso_c_binding
module~ply_legfpt_module->module~fftw_wrap
module~ply_fpt_header_module
ply_fpt_header_module
module~ply_legfpt_module->module~ply_fpt_header_module
module~ply_polybaseexc_module
ply_polyBaseExc_module
module~ply_legfpt_module->module~ply_polybaseexc_module
module~ply_legfpt_module->tem_compileconf_module
module~ply_nodes_header_module->env_module
module~ply_nodes_module->env_module
module~ply_nodes_module->aotus_module
module~ply_nodes_module->module~ply_nodes_header_module
module~ply_nodes_module->tem_aux_module
module~ply_nodes_module->module~fftw_wrap
module~ply_nodes_module->module~ply_nodeset_module
module~ply_prj_header_module->env_module
module~ply_prj_header_module->aotus_module
module~ply_prj_header_module->tem_aux_module
module~ply_prj_header_module->tem_logging_module
module~ply_prj_header_module->tem_tools_module
aot_out_module
aot_out_module
module~ply_prj_header_module->aot_out_module
module~ply_prj_header_module->module~fftw_wrap
module~ply_prj_header_module->module~ply_fpt_header_module
module~ply_prj_header_module->module~ply_fxt_header_module
module~ply_prj_header_module->module~ply_l2p_header_module
module~ply_space_integration_module->env_module
tem_param_module
tem_param_module
module~ply_space_integration_module->tem_param_module
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
This is a small utility to approximate a discontinuity at a given
location in the interval [-1,1].
The jump is located at a given point jota, and the target function is
0 for x <= jota and 1 for x > jota.
The interval is subdivided by level bisections towards jota.
Intervals for which the lower bound is smaller than jota are assumed to
be 0, all others are 1.
This interval values are used to determine the values at Chebyshev nodes
and a FPT is done to find the Legendre modes.
Required settings are therefore:
- jota (location of the jump)
- level (number of bisections towards jota)
- target polynomial degree
- oversampling factor
These have to be provided as command line parameters in this order.
Resulting output is:
- Interval subdivision
- Approximated jump location
- Chebyshev nodes
- Legendre modes
- L2-Error
sqnorm = 2.0_rk / (2.0_rkiCoarse - 1.0_rk)
jacobidetfinetocoarse = 0.5
const = anz_anzShift * jacobidetfinetocoarse / sqnorm
sqnorm = 2.0_rk / (2.0_rk iCoarse - 1.0_rk)
jacobidetfinetocoarse = 0.5
const = anz_anzShift * jacobidetfinetocoarse / sqnorm
program~~approximate_1d_jump~~CallsGraph
program~approximate_1d_jump
approximate_1D_jump
append
append
program~approximate_1d_jump->append
init
init
program~approximate_1d_jump->init
interface~ply_poly_project_n2m
ply_poly_project_n2m
program~approximate_1d_jump->interface~ply_poly_project_n2m
proc~ply_init_modg_multilevelcoeffs
ply_init_modg_multilevelCoeffs
program~approximate_1d_jump->proc~ply_init_modg_multilevelcoeffs
proc~ply_integrateleg
ply_integrateLeg
program~approximate_1d_jump->proc~ply_integrateleg
proc~ply_legendre_1d
ply_legendre_1D
program~approximate_1d_jump->proc~ply_legendre_1d
proc~ply_poly_project_fillbody
ply_poly_project_fillbody
program~approximate_1d_jump->proc~ply_poly_project_fillbody
proc~ply_scalprodleg
ply_scalProdLeg
program~approximate_1d_jump->proc~ply_scalprodleg
proc~ply_poly_project_n2m_multivar
ply_poly_project_n2m_multiVar
interface~ply_poly_project_n2m->proc~ply_poly_project_n2m_multivar
proc~ply_init_modg_multilevelcoeffs->proc~ply_legendre_1d
proc~ply_gausslegpoints
ply_gaussLegPoints
proc~ply_init_modg_multilevelcoeffs->proc~ply_gausslegpoints
proc~ply_init_fxt
ply_init_fxt
proc~ply_poly_project_fillbody->proc~ply_init_fxt
proc~ply_init_l2p
ply_init_l2p
proc~ply_poly_project_fillbody->proc~ply_init_l2p
proc~ply_init_legfpt
ply_init_legFpt
proc~ply_poly_project_fillbody->proc~ply_init_legfpt
proc~ply_nodes_create
ply_nodes_create
proc~ply_poly_project_fillbody->proc~ply_nodes_create
tem_abort
tem_abort
proc~ply_poly_project_fillbody->tem_abort
proc~fxtf_flptld_init
fxtf_flptld_init
proc~ply_init_fxt->proc~fxtf_flptld_init
proc~ply_init_l2p->proc~ply_legendre_1d
proc~ply_init_l2p->proc~ply_scalprodleg
proc~ply_init_l2p->proc~ply_gausslegpoints
proc~ply_init_l2p->tem_abort
proc~ply_lagrange_1d
ply_lagrange_1D
proc~ply_init_l2p->proc~ply_lagrange_1d
proc~ply_lagrange_define
ply_lagrange_define
proc~ply_init_l2p->proc~ply_lagrange_define
proc~fftw_plan_many_r2r
fftw_plan_many_r2r
proc~ply_init_legfpt->proc~fftw_plan_many_r2r
proc~fftw_plan_r2r_1d
fftw_plan_r2r_1d
proc~ply_init_legfpt->proc~fftw_plan_r2r_1d
proc~ply_fpt_init
ply_fpt_init
proc~ply_init_legfpt->proc~ply_fpt_init
proc~ply_nodes_surface_coords
ply_nodes_surface_coords
proc~ply_nodes_create->proc~ply_nodes_surface_coords
proc~ply_nodes_volume_coords
ply_nodes_volume_coords
proc~ply_nodes_create->proc~ply_nodes_volume_coords
interface~ply_pnttoleg_2d
ply_pntToLeg_2D
proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_2d
interface~ply_pnttoleg_3d
ply_pntToLeg_3D
proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_3d
proc~ply_fxt_n2m_1d
ply_fxt_n2m_1D
proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_1d
proc~ply_fxt_n2m_2d
ply_fxt_n2m_2D
proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_2d
proc~ply_fxt_n2m_3d
ply_fxt_n2m_3D
proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_3d
proc~ply_l2p_trafo_1d
ply_l2p_trafo_1D
proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_1d
proc~ply_l2p_trafo_2d
ply_l2p_trafo_2D
proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_2d
proc~ply_l2p_trafo_3d
ply_l2p_trafo_3D
proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_3d
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Variables
Type
Attributes
Name
Initial
character(len=32)
::
argstring
real(kind=rk)
::
jota
integer
::
level
integer
::
polydegree
integer
::
ibis
integer
::
ival
integer
::
ipoint
integer
::
imode
integer
::
iCoarse
integer
::
iFine
integer
::
intmode
integer
::
bis_lb
integer
::
current
integer
::
last
integer
::
lastside
integer
::
bpos
real(kind=rk)
::
interval_jump
real(kind=rk)
::
ofact
real(kind=rk)
::
bis_half
real(kind=rk)
::
x_point
real(kind=rk)
::
cur_lb
real(kind=rk)
::
ivldistance
real(kind=rk)
::
l2err
real(kind=rk)
::
optierr
real(kind=rk)
::
voldiff
real(kind=rk),
allocatable
::
bisect (:)
real(kind=rk),
allocatable
::
nodal_data (:,:)
real(kind=rk),
allocatable
::
modal_data (:,:)
real(kind=rk),
allocatable
::
legmodes (:)
real(kind=rk),
allocatable
::
exact (:)
real(kind=rk),
allocatable
::
const1_left (:)
real(kind=rk),
allocatable
::
const1_right (:)
real(kind=rk),
allocatable
::
integral (:)
real(kind=rk),
allocatable
::
intatjota (:,:)
integer,
allocatable
::
ivcolor (:)
type(ply_prj_init_type )
::
project
type(ply_poly_project_type )
::
polypro
type(ply_modg_refine_type )
::
refine
type(dyn_realarray_type )
::
ivlen
character(len=10)
::
method