sBase_new Subroutine

public subroutine sBase_new(sbase_in, deg_in, continuity_in, grid_in, degGP_in)

initialize the type sbase with polynomial degree, continuity ( -1: disc, 1: full) and number of gauss points per element

Arguments

Type IntentOptional Attributes Name
class(t_sBase), intent(inout), ALLOCATABLE :: sbase_in
integer, intent(in) :: deg_in

polynomial degree

integer, intent(in) :: continuity_in
class(t_sGrid), intent(in), TARGET :: grid_in

grid information

integer, intent(in) :: degGP_in

gauss quadrature points: nGP=degGP+1


Calls

proc~~sbase_new~~CallsGraph proc~sbase_new sBase_new proc~sbase_init t_sBase%sBase_init proc~sbase_new->proc~sbase_init add_element add_element proc~sbase_init->add_element barycentricweights barycentricweights proc~sbase_init->barycentricweights dmatip dmatip proc~sbase_init->dmatip eval_basis eval_basis proc~sbase_init->eval_basis eval_basis_and_n_derivs eval_basis_and_n_derivs proc~sbase_init->eval_basis_and_n_derivs eval_deriv eval_deriv proc~sbase_init->eval_deriv factorize factorize proc~sbase_init->factorize get_interp_points get_interp_points proc~sbase_init->get_interp_points init init proc~sbase_init->init initializevandermonde initializevandermonde proc~sbase_init->initializevandermonde legendregaussnodesandweights legendregaussnodesandweights proc~sbase_init->legendregaussnodesandweights mthpolynomialderivativematrix mthpolynomialderivativematrix proc~sbase_init->mthpolynomialderivativematrix proc~getlu getLU proc~sbase_init->proc~getlu proc~inv INV proc~sbase_init->proc~inv proc~sbase_alloc sBase_alloc proc~sbase_init->proc~sbase_alloc proc~sbase_test sBase_test proc~sbase_init->proc~sbase_test proc~sll_s_bsplines_new sll_s_bsplines_new proc~sbase_init->proc~sll_s_bsplines_new proc~sll_s_spline_matrix_new sll_s_spline_matrix_new proc~sbase_init->proc~sll_s_spline_matrix_new proc~solvemat SOLVEMAT proc~sbase_init->proc~solvemat swrite swrite proc~sbase_init->swrite xiip xiip proc~sbase_init->xiip dgetrf dgetrf proc~getlu->dgetrf proc~inv->dgetrf dgetri dgetri proc~inv->dgetri proc~sbase_alloc->dmatip proc~sbase_alloc->xiip wbaryip wbaryip proc~sbase_alloc->wbaryip proc~sbase_test->proc~sbase_new proc~sbase_test->swrite proc~sbase_applybctodof_lgm t_sBase%sBase_applyBCtoDOF_LGM proc~sbase_test->proc~sbase_applybctodof_lgm proc~sbase_change_base t_sBase%sBase_change_base proc~sbase_test->proc~sbase_change_base proc~sbase_compare t_sBase%sBase_compare proc~sbase_test->proc~sbase_compare proc~sbase_eval t_sBase%sBase_eval proc~sbase_test->proc~sbase_eval proc~sbase_evaldof_base t_sBase%sBase_evalDOF_base proc~sbase_test->proc~sbase_evaldof_base proc~sbase_evaldof_gp t_sBase%sBase_evalDOF_GP proc~sbase_test->proc~sbase_evaldof_gp proc~sbase_evaldof_s t_sBase%sBase_evalDOF_s proc~sbase_test->proc~sbase_evaldof_s proc~sbase_initdof t_sBase%sBase_initDOF proc~sbase_test->proc~sbase_initdof proc~sll_s_bsplines_new->init sll_assert sll_assert proc~sll_s_bsplines_new->sll_assert proc~sll_s_spline_matrix_new->init sll_error sll_error proc~sll_s_spline_matrix_new->sll_error proc~solvemat->dgetrf dgetrs dgetrs proc~solvemat->dgetrs proc~solve SOLVE proc~sbase_applybctodof_lgm->proc~solve proc~sbase_change_base->proc~sbase_compare proc~sbase_change_base->proc~sbase_initdof eval eval proc~sbase_change_base->eval evalDOF_base evalDOF_base proc~sbase_change_base->evalDOF_base proc~sgrid_compare t_sGrid%sGrid_compare proc~sbase_compare->proc~sgrid_compare proc~sbase_eval->eval_basis proc~sbase_eval->eval_basis_and_n_derivs lagrangeinterpolationpolys lagrangeinterpolationpolys proc~sbase_eval->lagrangeinterpolationpolys proc~sgrid_find_elem t_sGrid%sGrid_find_elem proc~sbase_eval->proc~sgrid_find_elem proc~sbase_evaldof_s->proc~sbase_eval proc~sbase_evaldof_s->proc~sbase_evaldof_base compute_interpolant compute_interpolant proc~sbase_initdof->compute_interpolant proc~solve->dgetrf proc~solve->dgetrs

Called by

proc~~sbase_new~~CalledByGraph proc~sbase_new sBase_new proc~sbase_init t_sBase%sBase_init proc~sbase_new->proc~sbase_init proc~base_new Base_new proc~base_new->proc~sbase_new proc~readstatefilefromascii ReadStateFileFromASCII proc~readstatefilefromascii->proc~sbase_new proc~readstatefilefromascii->proc~base_new proc~sbase_test sBase_test proc~sbase_test->proc~sbase_new interface~readstate ReadState interface~readstate->proc~readstatefilefromascii proc~init_base Init_Base proc~init_base->proc~base_new proc~initmhd3d t_functional_mhd3d%InitMHD3D proc~initmhd3d->proc~base_new proc~sbase_init->proc~sbase_test proc~transform_sfl_init t_transform_sfl%transform_SFL_init proc~transform_sfl_init->proc~base_new proc~init_gvec_to_jorek init_gvec_to_jorek proc~init_gvec_to_jorek->interface~readstate proc~init_gvec_to_jorek->proc~init_base proc~restartfromstate RestartFromState proc~restartfromstate->interface~readstate proc~sbase_copy t_sBase%sBase_copy proc~sbase_copy->proc~sbase_init proc~transform_sfl_new transform_sfl_new proc~transform_sfl_new->proc~transform_sfl_init proc~base_copy t_base%base_copy proc~base_copy->proc~sbase_copy

Source Code

SUBROUTINE sBase_new(sbase_in,deg_in,continuity_in,grid_in,degGP_in)
! MODULES
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
  INTEGER       , INTENT(IN   )        :: deg_in        !! polynomial degree
  INTEGER       , INTENT(IN   )        :: continuity_in !! continuity:
                                                        !! 0: disc. polynomial
                                                        !! deg-1: spline with cont. deg-1
  CLASS(t_sgrid), INTENT(IN   ),TARGET :: grid_in       !! grid information
  INTEGER       , INTENT(IN   )        :: degGP_in      !! gauss quadrature points: nGP=degGP+1
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  CLASS(t_sbase), ALLOCATABLE,INTENT(INOUT)        :: sbase_in
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
!===================================================================================================================================
  IF(continuity_in.EQ.-1)THEN
    ALLOCATE(t_sbase_disc :: sbase_in)
  ELSEIF(continuity_in.EQ.deg_in-1)THEN
    ALLOCATE(t_sbase_spl :: sbase_in)
  ELSE
    CALL abort(__STAMP__,&
        " error in sbase new: continuity only full (deg-1) or discontinuous (-1) !")
  END IF

  CALL sbase_in%init(deg_in,continuity_in,grid_in,degGP_in)

END SUBROUTINE sbase_new