sol_var_MHD3D_copy Subroutine

private subroutine sol_var_MHD3D_copy(sf, tocopy)

copy tocopy => sf

Type Bound

t_sol_var_MHD3D

Arguments

Type IntentOptional Attributes Name
class(t_sol_var_MHD3D), intent(inout) :: sf

sf

class(c_sol_var), intent(in) :: tocopy

Calls

proc~~sol_var_mhd3d_copy~~CallsGraph proc~sol_var_mhd3d_copy t_sol_var_MHD3D%sol_var_MHD3D_copy proc~sol_var_mhd3d_init t_sol_var_MHD3D%sol_var_MHD3D_init proc~sol_var_mhd3d_copy->proc~sol_var_mhd3d_init none~set_to t_sol_var_MHD3D%set_to proc~sol_var_mhd3d_init->none~set_to proc~sol_var_mhd3d_test sol_var_MHD3D_test proc~sol_var_mhd3d_init->proc~sol_var_mhd3d_test proc~sol_var_mhd3d_set_to_scalar t_sol_var_MHD3D%sol_var_MHD3D_set_to_scalar none~set_to->proc~sol_var_mhd3d_set_to_scalar proc~sol_var_mhd3d_set_to_solvar t_sol_var_MHD3D%sol_var_MHD3D_set_to_solvar none~set_to->proc~sol_var_mhd3d_set_to_solvar proc~sol_var_mhd3d_test->proc~sol_var_mhd3d_copy proc~sol_var_mhd3d_test->none~set_to proc~sol_var_mhd3d_axby t_sol_var_MHD3D%sol_var_MHD3D_AXBY proc~sol_var_mhd3d_test->proc~sol_var_mhd3d_axby proc~sol_var_mhd3d_norm_2 t_sol_var_MHD3D%sol_var_MHD3D_norm_2 proc~sol_var_mhd3d_test->proc~sol_var_mhd3d_norm_2 swrite swrite proc~sol_var_mhd3d_test->swrite

Called by

proc~~sol_var_mhd3d_copy~~CalledByGraph proc~sol_var_mhd3d_copy t_sol_var_MHD3D%sol_var_MHD3D_copy proc~sol_var_mhd3d_init t_sol_var_MHD3D%sol_var_MHD3D_init proc~sol_var_mhd3d_copy->proc~sol_var_mhd3d_init proc~initmhd3d t_functional_mhd3d%InitMHD3D proc~initmhd3d->proc~sol_var_mhd3d_copy proc~sol_var_mhd3d_test sol_var_MHD3D_test proc~sol_var_mhd3d_test->proc~sol_var_mhd3d_copy proc~sol_var_mhd3d_init->proc~sol_var_mhd3d_test

Source Code

SUBROUTINE sol_var_MHD3D_copy( sf ,tocopy)
! MODULES
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
  CLASS(c_sol_var), INTENT(IN   ) :: tocopy
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  CLASS(t_sol_var_MHD3D), INTENT(INOUT) :: sf  !!sf
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
  INTEGER :: i
!===================================================================================================================================
  SELECT TYPE(tocopy); TYPE IS(t_sol_var_MHD3D)
  IF(.NOT.tocopy%initialized)THEN
    CALL abort(__STAMP__, &
        "sol_var_MHD3D_copy: not initialized sol_var from which to copy!")
  END IF
  IF(sf%initialized) THEN
    WRITE(*,*)'WARNING!! reinit of sol_var_MHD3D in copy'
    CALL sf%free()
  END IF
  CALL sf%init((/size(tocopy%X1,1),size(tocopy%X2,1),size(tocopy%LA,1),  &
                 size(tocopy%X1,2),size(tocopy%X2,2),size(tocopy%LA,2)/) )
!$OMP PARALLEL DO        &
!$OMP   SCHEDULE(STATIC) DEFAULT(SHARED) PRIVATE(i)
  DO i=1,sf%offset(3)
    sf%q(i)=tocopy%q(i)
  END DO
!$OMP END PARALLEL DO
  sf%W_MHD3D=tocopy%W_MHD3D

  END SELECT !TYPE
END SUBROUTINE sol_var_MHD3D_copy