res=aX+bY , where X,Y,res are of type t_var_sol
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_sol_var_MHD3D), | intent(inout) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | aa | |||
| class(c_sol_var), | intent(in) | :: | X | |||
| real(kind=wp), | intent(in) | :: | bb | |||
| class(c_sol_var), | intent(in) | :: | Y |
SUBROUTINE sol_var_MHD3D_AXBY(sf,aa,X,bb,Y) IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES REAL(wp) , INTENT(IN ) :: aa CLASS(c_sol_var), INTENT(IN ) :: X REAL(wp) , INTENT(IN ) :: bb CLASS(c_sol_var), INTENT(IN ) :: Y !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES CLASS(t_sol_var_MHD3D), INTENT(INOUT) :: sf !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES INTEGER :: i !=================================================================================================================================== SELECT TYPE(X); TYPE IS(t_sol_var_MHD3D) IF(.NOT.X%initialized) CALL abort(__STAMP__,& 'AXBY: X not initialized') SELECT TYPE(Y); TYPE IS(t_sol_var_MHD3D) IF(.NOT.Y%initialized) CALL abort(__STAMP__,& 'AXBY: Y not initialized') !$OMP PARALLEL DO & !$OMP SCHEDULE(STATIC) DEFAULT(SHARED) PRIVATE(i) DO i=1,sf%offset(3) sf%q(i) = aa*X%q(i) + bb*Y%q(i) END DO !$OMP END PARALLEL DO END SELECT !Type END SELECT !Type END SUBROUTINE sol_var_MHD3D_AXBY