evaluate all modes at a given interpolation point
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_fBase), | intent(in) | :: | sf |
self |
||
| real(kind=wp), | intent(in) | :: | x(2) |
input coordinate theta,zeta in [0,2pi]^2 |
||
| integer, | intent(in) | :: | deriv |
=0: base, =2: dthet , =3: dzeta |
||
| real(kind=wp), | intent(in) | :: | DOFs(:) |
array of all modes |
FUNCTION fBase_evalDOF_x(sf,x,deriv,DOFs) RESULT(y) ! MODULES IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES CLASS(t_fBase), INTENT(IN ) :: sf !! self REAL(wp) , INTENT(IN ) :: x(2) !! input coordinate theta,zeta in [0,2pi]^2 INTEGER , INTENT(IN ) :: deriv !! =0: base, =2: dthet , =3: dzeta REAL(wp) , INTENT(IN ) :: DOFs(:) !! array of all modes !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES REAL(wp) :: y !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES REAL(wp) :: base_x(1:sf%modes) !=================================================================================================================================== IF(SIZE(DOFs,1).NE.sf%modes) CALL abort(__STAMP__, & 'nDOF not correct when calling fBase_evalDOF_x' ) base_x=sf%eval(deriv,x) y=DOT_PRODUCT(base_x,DOFs(:)) END FUNCTION fBase_evalDOF_x