fdm_test_surface Program

Uses

  • program~~fdm_test_surface~~UsesGraph program~fdm_test_surface fdm_test_surface module~forcad forcad program~fdm_test_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

Generate the NURBS surface with a resolution of 20

Finalize the NURBS surface object Generate the NURBS surface with a resolution of 20

Finalize the NURBS surface object


Calls

program~~fdm_test_surface~~CallsGraph program~fdm_test_surface fdm_test_surface none~derivative2 nurbs_surface%derivative2 program~fdm_test_surface->none~derivative2 proc~create nurbs_surface%create program~fdm_test_surface->proc~create proc~finalize nurbs_surface%finalize program~fdm_test_surface->proc~finalize proc~set_tetragon nurbs_surface%set_tetragon program~fdm_test_surface->proc~set_tetragon proc~derivative2_scalar nurbs_surface%derivative2_scalar none~derivative2->proc~derivative2_scalar proc~derivative2_vector nurbs_surface%derivative2_vector none~derivative2->proc~derivative2_vector interface~compute_xg compute_Xg proc~create->interface~compute_xg interface~ndgrid ndgrid proc~create->interface~ndgrid proc~is_rational nurbs_surface%is_rational proc~create->proc~is_rational none~set nurbs_surface%set proc~set_tetragon->none~set proc~tetragon_xc tetragon_Xc proc~set_tetragon->proc~tetragon_xc proc~compute_xg_bspline_2d compute_Xg_bspline_2d interface~compute_xg->proc~compute_xg_bspline_2d proc~compute_xg_bspline_2d_1point compute_Xg_bspline_2d_1point interface~compute_xg->proc~compute_xg_bspline_2d_1point proc~compute_xg_nurbs_2d compute_Xg_nurbs_2d interface~compute_xg->proc~compute_xg_nurbs_2d proc~compute_xg_nurbs_2d_1point compute_Xg_nurbs_2d_1point interface~compute_xg->proc~compute_xg_nurbs_2d_1point proc~ndgrid2 ndgrid2 interface~ndgrid->proc~ndgrid2 proc~ndgrid3 ndgrid3 interface~ndgrid->proc~ndgrid3 proc~set1 nurbs_surface%set1 none~set->proc~set1 proc~set2 nurbs_surface%set2 none~set->proc~set2 proc~set3 nurbs_surface%set3 none~set->proc~set3 proc~set4 nurbs_surface%set4 none~set->proc~set4 proc~derivative2_scalar->proc~is_rational interface~compute_d2tgc compute_d2Tgc proc~derivative2_scalar->interface~compute_d2tgc proc~derivative2_vector->interface~ndgrid proc~derivative2_vector->proc~is_rational proc~derivative2_vector->interface~compute_d2tgc proc~compute_d2tgc_bspline_2d_scalar compute_d2Tgc_bspline_2d_scalar interface~compute_d2tgc->proc~compute_d2tgc_bspline_2d_scalar proc~compute_d2tgc_bspline_2d_vector compute_d2Tgc_bspline_2d_vector interface~compute_d2tgc->proc~compute_d2tgc_bspline_2d_vector proc~compute_d2tgc_nurbs_2d_scalar compute_d2Tgc_nurbs_2d_scalar interface~compute_d2tgc->proc~compute_d2tgc_nurbs_2d_scalar proc~compute_d2tgc_nurbs_2d_vector compute_d2Tgc_nurbs_2d_vector interface~compute_d2tgc->proc~compute_d2tgc_nurbs_2d_vector 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_degree nurbs_surface%cmp_degree proc~set1->proc~cmp_degree proc~cmp_nc nurbs_surface%cmp_nc proc~set1->proc~cmp_nc proc~set2->proc~cmp_nc proc~compute_knot_vector compute_knot_vector proc~set2->proc~compute_knot_vector proc~set3->proc~cmp_degree proc~get_multiplicity nurbs_surface%get_multiplicity proc~cmp_degree->proc~get_multiplicity interface~compute_multiplicity compute_multiplicity proc~cmp_nc->interface~compute_multiplicity 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~repelem repelem proc~compute_knot_vector->proc~repelem proc~compute_multiplicity1 compute_multiplicity1 interface~compute_multiplicity->proc~compute_multiplicity1 proc~compute_multiplicity2 compute_multiplicity2 interface~compute_multiplicity->proc~compute_multiplicity2 proc~get_multiplicity->interface~compute_multiplicity

Variables

Type Attributes Name Initial
real(kind=rk), allocatable :: BFD(:,:)
real(kind=rk), allocatable :: BFD2(:,:)
real(kind=rk), allocatable :: CFD(:,:)
real(kind=rk), allocatable :: CFD2(:,:)
real(kind=rk), allocatable :: FFD(:,:)
real(kind=rk), allocatable :: FFD2(:,:)
real(kind=rk), allocatable :: Tgc(:)
real(kind=rk), allocatable :: Tgcm(:)
real(kind=rk), allocatable :: Tgcp(:)
real(kind=rk), allocatable :: Wc(:)

Declare the control points weights

real(kind=rk) :: Xt(2)
real(kind=rk) :: Xtm(2)
real(kind=rk) :: Xtp(2)
real(kind=rk), allocatable :: d2Tgc(:,:)
real(kind=rk), allocatable :: d2Tgcm(:,:)
real(kind=rk), allocatable :: d2Tgcp(:,:)
real(kind=rk), allocatable :: dTgc(:,:)
real(kind=rk), allocatable :: dTgcm(:,:)
real(kind=rk), allocatable :: dTgcp(:,:)
integer :: i
type(nurbs_surface) :: surface

Declare a NURBS surface object

real(kind=rk) :: tol