test_nurbs_surface Program

Uses

  • program~~test_nurbs_surface~~UsesGraph program~test_nurbs_surface test_nurbs_surface forunittest forunittest program~test_nurbs_surface->forunittest module~forcad forcad program~test_nurbs_surface->module~forcad module~forcad_kinds forcad_kinds module~forcad->module~forcad_kinds module~forcad_nurbs_curve forcad_nurbs_curve module~forcad->module~forcad_nurbs_curve module~forcad_nurbs_surface forcad_nurbs_surface module~forcad->module~forcad_nurbs_surface module~forcad_nurbs_volume forcad_nurbs_volume module~forcad->module~forcad_nurbs_volume module~forcad_utils forcad_utils module~forcad->module~forcad_utils module~forcad_nurbs_curve->module~forcad_kinds module~forcad_nurbs_curve->module~forcad_utils module~forcad_nurbs_surface->module~forcad_kinds module~forcad_nurbs_surface->module~forcad_utils module~forcad_nurbs_volume->module~forcad_kinds module~forcad_nurbs_volume->module~forcad_utils module~forcad_utils->module~forcad_kinds

Calls

program~~test_nurbs_surface~~CallsGraph program~test_nurbs_surface test_nurbs_surface check check program~test_nurbs_surface->check none~basis~2 nurbs_surface%basis program~test_nurbs_surface->none~basis~2 none~derivative2~2 nurbs_surface%derivative2 program~test_nurbs_surface->none~derivative2~2 none~derivative~2 nurbs_surface%derivative program~test_nurbs_surface->none~derivative~2 none~get_degree~2 nurbs_surface%get_degree program~test_nurbs_surface->none~get_degree~2 none~get_knot~2 nurbs_surface%get_knot program~test_nurbs_surface->none~get_knot~2 none~get_nc~2 nurbs_surface%get_nc program~test_nurbs_surface->none~get_nc~2 none~get_wc~2 nurbs_surface%get_Wc program~test_nurbs_surface->none~get_wc~2 none~get_xc~2 nurbs_surface%get_Xc program~test_nurbs_surface->none~get_xc~2 none~get_xg~2 nurbs_surface%get_Xg program~test_nurbs_surface->none~get_xg~2 none~set~2 nurbs_surface%set program~test_nurbs_surface->none~set~2 proc~cmp_area nurbs_surface%cmp_area program~test_nurbs_surface->proc~cmp_area proc~cmp_elem_xc_vis~2 nurbs_surface%cmp_elem_Xc_vis program~test_nurbs_surface->proc~cmp_elem_xc_vis~2 proc~cmp_elem_xg_vis~2 nurbs_surface%cmp_elem_Xg_vis program~test_nurbs_surface->proc~cmp_elem_xg_vis~2 proc~cmp_elem~2 nurbs_surface%cmp_elem program~test_nurbs_surface->proc~cmp_elem~2 proc~cmp_nc~2 nurbs_surface%cmp_nc program~test_nurbs_surface->proc~cmp_nc~2 proc~create~2 nurbs_surface%create program~test_nurbs_surface->proc~create~2 proc~elevate_degree~2 nurbs_surface%elevate_degree program~test_nurbs_surface->proc~elevate_degree~2 proc~export_iges~2 nurbs_surface%export_iges program~test_nurbs_surface->proc~export_iges~2 proc~export_xc~2 nurbs_surface%export_Xc program~test_nurbs_surface->proc~export_xc~2 proc~export_xg~2 nurbs_surface%export_Xg program~test_nurbs_surface->proc~export_xg~2 proc~export_xth~2 nurbs_surface%export_Xth program~test_nurbs_surface->proc~export_xth~2 proc~finalize~2 nurbs_surface%finalize program~test_nurbs_surface->proc~finalize~2 proc~get_continuity~2 nurbs_surface%get_continuity program~test_nurbs_surface->proc~get_continuity~2 proc~get_elem_xc_vis~2 nurbs_surface%get_elem_Xc_vis program~test_nurbs_surface->proc~get_elem_xc_vis~2 proc~get_elem_xg_vis~2 nurbs_surface%get_elem_Xg_vis program~test_nurbs_surface->proc~get_elem_xg_vis~2 proc~get_elem~2 nurbs_surface%get_elem program~test_nurbs_surface->proc~get_elem~2 proc~get_multiplicity~2 nurbs_surface%get_multiplicity program~test_nurbs_surface->proc~get_multiplicity~2 proc~get_xt~2 nurbs_surface%get_Xt program~test_nurbs_surface->proc~get_xt~2 proc~insert_knots~2 nurbs_surface%insert_knots program~test_nurbs_surface->proc~insert_knots~2 proc~modify_wc~2 nurbs_surface%modify_Wc program~test_nurbs_surface->proc~modify_wc~2 proc~modify_xc~2 nurbs_surface%modify_Xc program~test_nurbs_surface->proc~modify_xc~2 proc~nearest_point2~2 nurbs_surface%nearest_point2 program~test_nurbs_surface->proc~nearest_point2~2 proc~nearest_point~2 nurbs_surface%nearest_point program~test_nurbs_surface->proc~nearest_point~2 proc~remove_knots~2 nurbs_surface%remove_knots program~test_nurbs_surface->proc~remove_knots~2 proc~rotate_xc~2 nurbs_surface%rotate_Xc program~test_nurbs_surface->proc~rotate_xc~2 proc~rotate_xg~2 nurbs_surface%rotate_Xg program~test_nurbs_surface->proc~rotate_xg~2 proc~set_c~2 nurbs_surface%set_C program~test_nurbs_surface->proc~set_c~2 proc~set_elem_xc_vis~2 nurbs_surface%set_elem_Xc_vis program~test_nurbs_surface->proc~set_elem_xc_vis~2 proc~set_elem_xg_vis~2 nurbs_surface%set_elem_Xg_vis program~test_nurbs_surface->proc~set_elem_xg_vis~2 proc~set_elem~2 nurbs_surface%set_elem program~test_nurbs_surface->proc~set_elem~2 proc~set_half_ring nurbs_surface%set_half_ring program~test_nurbs_surface->proc~set_half_ring proc~set_ring nurbs_surface%set_ring program~test_nurbs_surface->proc~set_ring proc~set_tetragon nurbs_surface%set_tetragon program~test_nurbs_surface->proc~set_tetragon proc~translate_xc~2 nurbs_surface%translate_Xc program~test_nurbs_surface->proc~translate_xc~2 proc~translate_xg~2 nurbs_surface%translate_Xg program~test_nurbs_surface->proc~translate_xg~2 proc~basis_scalar~2 nurbs_surface%basis_scalar none~basis~2->proc~basis_scalar~2 proc~basis_vector~2 nurbs_surface%basis_vector none~basis~2->proc~basis_vector~2 proc~derivative2_scalar~2 nurbs_surface%derivative2_scalar none~derivative2~2->proc~derivative2_scalar~2 proc~derivative2_vector~2 nurbs_surface%derivative2_vector none~derivative2~2->proc~derivative2_vector~2 proc~derivative_scalar~2 nurbs_surface%derivative_scalar none~derivative~2->proc~derivative_scalar~2 proc~derivative_vector~2 nurbs_surface%derivative_vector none~derivative~2->proc~derivative_vector~2 proc~get_degree_all nurbs_surface%get_degree_all none~get_degree~2->proc~get_degree_all proc~get_degree_dir nurbs_surface%get_degree_dir none~get_degree~2->proc~get_degree_dir proc~get_knot_all~2 nurbs_surface%get_knot_all none~get_knot~2->proc~get_knot_all~2 proc~get_knoti~2 nurbs_surface%get_knoti none~get_knot~2->proc~get_knoti~2 proc~get_nc_all nurbs_surface%get_nc_all none~get_nc~2->proc~get_nc_all proc~get_nc_dir nurbs_surface%get_nc_dir none~get_nc~2->proc~get_nc_dir proc~get_wc_all~2 nurbs_surface%get_Wc_all none~get_wc~2->proc~get_wc_all~2 proc~get_wci~2 nurbs_surface%get_Wci none~get_wc~2->proc~get_wci~2 proc~get_xc_all~2 nurbs_surface%get_Xc_all none~get_xc~2->proc~get_xc_all~2 proc~get_xcid~2 nurbs_surface%get_Xcid none~get_xc~2->proc~get_xcid~2 proc~get_xci~2 nurbs_surface%get_Xci none~get_xc~2->proc~get_xci~2 proc~get_xg_all~2 nurbs_surface%get_Xg_all none~get_xg~2->proc~get_xg_all~2 proc~get_xgid~2 nurbs_surface%get_Xgid none~get_xg~2->proc~get_xgid~2 proc~get_xgi~2 nurbs_surface%get_Xgi none~get_xg~2->proc~get_xgi~2 proc~set1~2 nurbs_surface%set1 none~set~2->proc~set1~2 proc~set2~2 nurbs_surface%set2 none~set~2->proc~set2~2 proc~set3~2 nurbs_surface%set3 none~set~2->proc~set3~2 proc~set4~2 nurbs_surface%set4 none~set~2->proc~set4~2 proc~cmp_area->proc~cmp_elem~2 proc~ansatz~2 nurbs_surface%ansatz proc~cmp_area->proc~ansatz~2 interface~elemconn_c0 elemConn_C0 proc~cmp_elem_xc_vis~2->interface~elemconn_c0 proc~cmp_elem_xg_vis~2->interface~elemconn_c0 proc~cmp_elem~2->proc~get_multiplicity~2 interface~elemconn_cn elemConn_Cn proc~cmp_elem~2->interface~elemconn_cn interface~unique unique proc~cmp_elem~2->interface~unique interface~compute_multiplicity compute_multiplicity proc~cmp_nc~2->interface~compute_multiplicity interface~compute_xg~2 compute_Xg proc~create~2->interface~compute_xg~2 interface~ndgrid ndgrid proc~create~2->interface~ndgrid proc~is_rational~2 nurbs_surface%is_rational proc~create~2->proc~is_rational~2 proc~elevate_degree~2->none~get_knot~2 proc~elevate_degree~2->none~set~2 proc~elevate_degree_a_5_9 elevate_degree_A_5_9 proc~elevate_degree~2->proc~elevate_degree_a_5_9 proc~elevate_degree~2->proc~is_rational~2 append append proc~export_iges~2->append delete delete proc~export_iges~2->delete init init proc~export_iges~2->init makedpsections makedpsections proc~export_iges~2->makedpsections makegsection makegsection proc~export_iges~2->makegsection makessection makessection proc~export_iges~2->makessection proc~export_iges~2->proc~is_rational~2 writeigesfile writeigesfile proc~export_iges~2->writeigesfile proc~export_xc~2->proc~cmp_elem_xc_vis~2 proc~export_vtk_legacy export_vtk_legacy proc~export_xc~2->proc~export_vtk_legacy proc~export_xg~2->proc~cmp_elem_xg_vis~2 proc~export_xg~2->proc~export_vtk_legacy proc~export_xth~2->none~set~2 proc~export_xth~2->proc~cmp_elem~2 proc~export_xth~2->interface~ndgrid proc~export_xth~2->interface~unique proc~export_xth~2->proc~export_vtk_legacy proc~get_continuity~2->interface~compute_multiplicity proc~get_multiplicity~2->interface~compute_multiplicity proc~insert_knots~2->none~get_knot~2 proc~insert_knots~2->none~set~2 proc~insert_knots~2->interface~compute_multiplicity proc~findspan findspan proc~insert_knots~2->proc~findspan proc~insert_knot_a_5_1 insert_knot_A_5_1 proc~insert_knots~2->proc~insert_knot_a_5_1 proc~insert_knots~2->proc~is_rational~2 proc~modify_wc~2->none~get_knot~2 proc~modify_wc~2->none~get_wc~2 proc~modify_wc~2->none~get_xc~2 proc~modify_wc~2->none~set~2 proc~modify_xc~2->none~get_knot~2 proc~modify_xc~2->none~get_wc~2 proc~modify_xc~2->none~get_xc~2 proc~modify_xc~2->none~set~2 proc~nearest_point2~2->none~derivative2~2 proc~nearest_point2~2->proc~create~2 proc~nearest_point2~2->proc~finalize~2 proc~nearest_point2~2->proc~nearest_point~2 proc~cmp_xg~2 nurbs_surface%cmp_Xg proc~nearest_point2~2->proc~cmp_xg~2 proc~inv inv proc~nearest_point2~2->proc~inv proc~nearest_point_help_2d nearest_point_help_2d proc~nearest_point~2->proc~nearest_point_help_2d proc~remove_knots~2->none~get_knot~2 proc~remove_knots~2->none~set~2 proc~remove_knots~2->interface~compute_multiplicity proc~remove_knots~2->proc~findspan proc~remove_knots~2->proc~is_rational~2 proc~remove_knots_a_5_8 remove_knots_A_5_8 proc~remove_knots~2->proc~remove_knots_a_5_8 proc~rotation rotation proc~rotate_xc~2->proc~rotation proc~rotate_xg~2->proc~rotation proc~set_c~2->none~set~2 proc~set_half_ring->none~set~2 proc~set_ring->none~set~2 proc~set_tetragon->none~set~2 proc~tetragon_xc tetragon_Xc proc~set_tetragon->proc~tetragon_xc proc~compute_multiplicity1 compute_multiplicity1 interface~compute_multiplicity->proc~compute_multiplicity1 proc~compute_multiplicity2 compute_multiplicity2 interface~compute_multiplicity->proc~compute_multiplicity2 proc~compute_xg_bspline_2d compute_Xg_bspline_2d interface~compute_xg~2->proc~compute_xg_bspline_2d proc~compute_xg_bspline_2d_1point compute_Xg_bspline_2d_1point interface~compute_xg~2->proc~compute_xg_bspline_2d_1point proc~compute_xg_nurbs_2d compute_Xg_nurbs_2d interface~compute_xg~2->proc~compute_xg_nurbs_2d proc~compute_xg_nurbs_2d_1point compute_Xg_nurbs_2d_1point interface~compute_xg~2->proc~compute_xg_nurbs_2d_1point proc~cmp_elemconn_c0_l cmp_elemConn_C0_L interface~elemconn_c0->proc~cmp_elemconn_c0_l proc~cmp_elemconn_c0_s cmp_elemConn_C0_S interface~elemconn_c0->proc~cmp_elemconn_c0_s proc~cmp_elemconn_c0_v cmp_elemConn_C0_V interface~elemconn_c0->proc~cmp_elemconn_c0_v proc~cmp_elemconn_cn_l cmp_elemConn_Cn_L interface~elemconn_cn->proc~cmp_elemconn_cn_l proc~cmp_elemconn_cn_s cmp_elemConn_Cn_S interface~elemconn_cn->proc~cmp_elemconn_cn_s proc~cmp_elemconn_cn_v cmp_elemConn_Cn_V interface~elemconn_cn->proc~cmp_elemconn_cn_v proc~ndgrid2 ndgrid2 interface~ndgrid->proc~ndgrid2 proc~ndgrid3 ndgrid3 interface~ndgrid->proc~ndgrid3 proc~unique_integer unique_integer interface~unique->proc~unique_integer proc~unique_real unique_real interface~unique->proc~unique_real proc~ansatz~2->none~derivative~2 proc~ansatz~2->none~set~2 proc~ansatz~2->proc~cmp_elem~2 proc~ansatz~2->interface~ndgrid proc~ansatz~2->interface~unique proc~ansatz~2->proc~inv interface~gauss_leg gauss_leg proc~ansatz~2->interface~gauss_leg proc~det det proc~ansatz~2->proc~det proc~basis_scalar~2->proc~is_rational~2 interface~compute_tgc~2 compute_Tgc proc~basis_scalar~2->interface~compute_tgc~2 proc~basis_vector~2->interface~ndgrid proc~basis_vector~2->proc~is_rational~2 proc~basis_vector~2->interface~compute_tgc~2 proc~cmp_xg~2->interface~compute_xg~2 proc~cmp_xg~2->proc~is_rational~2 proc~derivative2_scalar~2->proc~is_rational~2 interface~compute_d2tgc~2 compute_d2Tgc proc~derivative2_scalar~2->interface~compute_d2tgc~2 proc~derivative2_vector~2->interface~ndgrid proc~derivative2_vector~2->proc~is_rational~2 proc~derivative2_vector~2->interface~compute_d2tgc~2 proc~derivative_scalar~2->proc~is_rational~2 interface~compute_dtgc~2 compute_dTgc proc~derivative_scalar~2->interface~compute_dtgc~2 proc~derivative_vector~2->interface~ndgrid proc~derivative_vector~2->proc~is_rational~2 proc~derivative_vector~2->interface~compute_dtgc~2 proc~elevate_degree_a_5_9->interface~compute_multiplicity proc~bincoeff bincoeff proc~elevate_degree_a_5_9->proc~bincoeff proc~get_nc_dir->interface~compute_multiplicity proc~inv->proc~inv proc~inv->proc~det cosd cosd proc~rotation->cosd sind sind proc~rotation->sind proc~set1~2->proc~cmp_nc~2 proc~cmp_degree~2 nurbs_surface%cmp_degree proc~set1~2->proc~cmp_degree~2 proc~set2~2->proc~cmp_nc~2 proc~compute_knot_vector compute_knot_vector proc~set2~2->proc~compute_knot_vector proc~set3~2->proc~cmp_degree~2 proc~compute_d2tgc_bspline_2d_scalar compute_d2Tgc_bspline_2d_scalar interface~compute_d2tgc~2->proc~compute_d2tgc_bspline_2d_scalar proc~compute_d2tgc_bspline_2d_vector compute_d2Tgc_bspline_2d_vector interface~compute_d2tgc~2->proc~compute_d2tgc_bspline_2d_vector proc~compute_d2tgc_nurbs_2d_scalar compute_d2Tgc_nurbs_2d_scalar interface~compute_d2tgc~2->proc~compute_d2tgc_nurbs_2d_scalar proc~compute_d2tgc_nurbs_2d_vector compute_d2Tgc_nurbs_2d_vector interface~compute_d2tgc~2->proc~compute_d2tgc_nurbs_2d_vector proc~compute_dtgc_bspline_2d_scalar compute_dTgc_bspline_2d_scalar interface~compute_dtgc~2->proc~compute_dtgc_bspline_2d_scalar proc~compute_dtgc_bspline_2d_vector compute_dTgc_bspline_2d_vector interface~compute_dtgc~2->proc~compute_dtgc_bspline_2d_vector proc~compute_dtgc_nurbs_2d_scalar compute_dTgc_nurbs_2d_scalar interface~compute_dtgc~2->proc~compute_dtgc_nurbs_2d_scalar proc~compute_dtgc_nurbs_2d_vector compute_dTgc_nurbs_2d_vector interface~compute_dtgc~2->proc~compute_dtgc_nurbs_2d_vector proc~compute_tgc_bspline_2d_scalar compute_Tgc_bspline_2d_scalar interface~compute_tgc~2->proc~compute_tgc_bspline_2d_scalar proc~compute_tgc_bspline_2d_vector compute_Tgc_bspline_2d_vector interface~compute_tgc~2->proc~compute_tgc_bspline_2d_vector proc~compute_tgc_nurbs_2d_scalar compute_Tgc_nurbs_2d_scalar interface~compute_tgc~2->proc~compute_tgc_nurbs_2d_scalar proc~compute_tgc_nurbs_2d_vector compute_Tgc_nurbs_2d_vector interface~compute_tgc~2->proc~compute_tgc_nurbs_2d_vector proc~gauss_legendre_1d gauss_legendre_1D interface~gauss_leg->proc~gauss_legendre_1d proc~gauss_legendre_2d gauss_legendre_2D interface~gauss_leg->proc~gauss_legendre_2d proc~gauss_legendre_3d gauss_legendre_3D interface~gauss_leg->proc~gauss_legendre_3d proc~factln factln proc~bincoeff->proc~factln proc~cmp_degree~2->proc~get_multiplicity~2 proc~repelem repelem proc~compute_knot_vector->proc~repelem proc~basis_bspline basis_bspline proc~compute_xg_bspline_2d->proc~basis_bspline proc~kron kron proc~compute_xg_bspline_2d->proc~kron proc~compute_xg_bspline_2d_1point->proc~basis_bspline proc~compute_xg_bspline_2d_1point->proc~kron proc~cmp_tgc_2d cmp_Tgc_2d proc~compute_xg_nurbs_2d->proc~cmp_tgc_2d proc~compute_xg_nurbs_2d_1point->proc~basis_bspline proc~compute_xg_nurbs_2d_1point->proc~kron proc~cmp_tgc_2d->proc~basis_bspline proc~cmp_tgc_2d->proc~kron proc~compute_d2tgc_bspline_2d_scalar->proc~kron proc~basis_bspline_2der basis_bspline_2der proc~compute_d2tgc_bspline_2d_scalar->proc~basis_bspline_2der proc~compute_d2tgc_bspline_2d_vector->proc~kron proc~compute_d2tgc_bspline_2d_vector->proc~basis_bspline_2der proc~compute_d2tgc_nurbs_2d_scalar->proc~kron proc~compute_d2tgc_nurbs_2d_scalar->proc~basis_bspline_2der proc~compute_d2tgc_nurbs_2d_vector->proc~kron proc~compute_d2tgc_nurbs_2d_vector->proc~basis_bspline_2der proc~compute_dtgc_bspline_2d_scalar->proc~kron proc~basis_bspline_der basis_bspline_der proc~compute_dtgc_bspline_2d_scalar->proc~basis_bspline_der proc~compute_dtgc_bspline_2d_vector->proc~kron proc~compute_dtgc_bspline_2d_vector->proc~basis_bspline_der proc~compute_dtgc_nurbs_2d_scalar->proc~kron proc~compute_dtgc_nurbs_2d_scalar->proc~basis_bspline_der proc~compute_dtgc_nurbs_2d_vector->proc~kron proc~compute_dtgc_nurbs_2d_vector->proc~basis_bspline_der proc~compute_tgc_bspline_2d_scalar->proc~basis_bspline proc~compute_tgc_bspline_2d_scalar->proc~kron proc~compute_tgc_bspline_2d_vector->proc~basis_bspline proc~compute_tgc_bspline_2d_vector->proc~kron proc~compute_tgc_nurbs_2d_scalar->proc~basis_bspline proc~compute_tgc_nurbs_2d_scalar->proc~kron proc~compute_tgc_nurbs_2d_vector->proc~basis_bspline proc~compute_tgc_nurbs_2d_vector->proc~kron proc~gauss_legendre gauss_legendre proc~gauss_legendre_1d->proc~gauss_legendre proc~gauss_legendre_2d->interface~ndgrid proc~gauss_legendre_2d->proc~kron proc~gauss_legendre_2d->proc~gauss_legendre proc~gauss_legendre_3d->interface~ndgrid proc~gauss_legendre_3d->proc~kron proc~gauss_legendre_3d->proc~gauss_legendre

Variables

Type Attributes Name Initial
real(kind=rk), allocatable :: Tgc(:,:)
real(kind=rk), allocatable :: Tgc1(:)
real(kind=rk), allocatable :: Tgc1b(:)
real(kind=rk), allocatable :: Tgcb(:,:)
real(kind=rk), allocatable :: Wc(:)
real(kind=rk), allocatable :: Xc(:,:)
real(kind=rk), allocatable :: Xg(:,:)
real(kind=rk), allocatable :: Xgb(:,:)
real(kind=rk) :: area
real(kind=rk) :: areab
type(nurbs_surface) :: bsp
real(kind=rk), allocatable :: d2Tgc(:,:,:)
real(kind=rk), allocatable :: d2Tgc1(:,:)
real(kind=rk), allocatable :: d2Tgc1b(:,:)
real(kind=rk), allocatable :: d2Tgcb(:,:,:)
real(kind=rk), allocatable :: dTgc(:,:,:)
real(kind=rk), allocatable :: dTgc1(:,:)
real(kind=rk), allocatable :: dTgc1b(:,:)
real(kind=rk), allocatable :: dTgcb(:,:,:)
integer, allocatable :: elemConn(:,:)
integer :: i
integer :: id
real(kind=rk) :: knot1(4)
real(kind=rk) :: knot2(4)
real(kind=rk), allocatable :: nearest_Xg(:)
real(kind=rk), allocatable :: nearest_Xt(:)
type(nurbs_surface) :: nurbs
type(unit_test) :: ut