initialize the type sbase with polynomial degree, continuity ( -1: disc, 1: full) and number of gauss points per element
| Type | Intent | Optional | 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 |
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