approximate_1D_jump Program

Uses

  • 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

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_rkiCoarse - 1.0_rk) jacobidetfinetocoarse = 0.5 const = anz_anzShift * jacobidetfinetocoarse / sqnorm


Calls

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

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