| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | deg |
input parameter: degree of Spline/polynomial |
|||
| integer, | public | :: | degGP |
number of Gauss-points (degGP+1) per element >= deg |
|||
| integer, | public | :: | continuity |
input parameter: full spline (=deg-1) or discontinuous (=-1) |
|||
| integer, | public | :: | nGP |
global number of gausspoints = (degGP+1)*nElems |
|||
| integer, | public | :: | nGP_str |
local number of gausspoints = (degGP+1)*nElems per MPI subdomain |
|||
| integer, | public | :: | nGP_end |
local number of gausspoints = (degGP+1)*nElems per MPI subdomain |
|||
| integer, | public | :: | nbase |
total number of degree of freedom / global basis functions |
|||
| class(sll_c_spline_matrix), | public, | ALLOCATABLE | :: | mass |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(inout) | :: | sf | |||
| integer, | intent(in) | :: | deg_in | |||
| integer, | intent(in) | :: | continuity_in | |||
| class(t_sGrid), | intent(in), | TARGET | :: | grid_in | ||
| integer, | intent(in) | :: | degGP_in |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(inout) | :: | sf |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| class(c_sbase), | intent(in) | :: | old_sBase | |||
| integer, | intent(in) | :: | iterDim | |||
| real(kind=wp), | intent(in) | :: | old_data(:,:) | |||
| real(kind=wp), | intent(out) | :: | sf_data(:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf |
self |
||
| real(kind=wp), | intent(in) | :: | x | |||
| integer, | intent(in) | :: | deriv | |||
| integer, | intent(out) | :: | iElem | |||
| real(kind=wp), | intent(out) | :: | base_x(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | x | |||
| integer, | intent(in) | :: | deriv | |||
| real(kind=wp), | intent(in) | :: | DOFs(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | x | |||
| integer, | intent(in) | :: | nd | |||
| integer, | intent(in) | :: | deriv | |||
| real(kind=wp), | intent(in) | :: | DOFs(1:sf%nBase,1:nd) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| integer, | intent(in) | :: | iElem | |||
| real(kind=wp), | intent(in) | :: | base_x(0:sf%deg) | |||
| real(kind=wp), | intent(in) | :: | DOFs(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| integer, | intent(in) | :: | deriv | |||
| real(kind=wp), | intent(in) | :: | DOFs(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | g_IP(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(inout) | :: | DOFs(1:sf%nBase) | |||
| integer, | intent(in) | :: | BC_Type(2) | |||
| real(kind=wp), | intent(in) | :: | BC_Val(2) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_sbase), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(inout) | :: | RHS(1:sf%nBase) | |||
| integer, | intent(in) | :: | BC_Type(2) |
TYPE, ABSTRACT :: c_sbase !--------------------------------------------------------------------------------------------------------------------------------- !input parameters INTEGER :: deg !! input parameter: degree of Spline/polynomial INTEGER :: degGP !! number of Gauss-points (degGP+1) per element >= deg INTEGER :: continuity !! input parameter: full spline (=deg-1) or discontinuous (=-1) !--------------------------------------------------------------------------------------------------------------------------------- INTEGER :: nGP !! global number of gausspoints = (degGP+1)*nElems INTEGER :: nGP_str, nGP_end !! local number of gausspoints = (degGP+1)*nElems per MPI subdomain INTEGER :: nbase !! total number of degree of freedom / global basis functions CLASS(sll_c_spline_matrix),ALLOCATABLE :: mass CONTAINS PROCEDURE(i_sub_sbase_init ),DEFERRED :: init PROCEDURE(i_sub_sbase_free ),DEFERRED :: free PROCEDURE(i_sub_sbase_copy ),DEFERRED :: copy PROCEDURE(i_sub_sbase_compare ),DEFERRED :: compare PROCEDURE(i_sub_sbase_change_base ),DEFERRED :: change_base PROCEDURE(i_sub_sbase_eval ),DEFERRED :: eval PROCEDURE(i_fun_sbase_evalDOF_s ),DEFERRED :: evalDOF_s PROCEDURE(i_fun_sbase_evalDOF2D_s ),DEFERRED :: evalDOF2D_s PROCEDURE(i_fun_sbase_evalDOF_base ),DEFERRED :: evalDOF_base PROCEDURE(i_fun_sbase_evalDOF_GP ),DEFERRED :: evalDOF_GP PROCEDURE(i_fun_sbase_initDOF ),DEFERRED :: initDOF PROCEDURE(i_sub_sbase_applyBCtoDOF ),DEFERRED :: applyBCtoDOF PROCEDURE(i_sub_sbase_applyBCtoRHS ),DEFERRED :: applyBCtoRHS END TYPE c_sbase