Compute Equilibrium, iteratively
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_functional_mhd3d), | intent(inout) | :: | sf | |||
| real(kind=wp), | intent(in), | optional | :: | dt_in |
SUBROUTINE MinimizeMHD3D(sf, dt_in) ! MODULES USE MODgvec_MHD3D_vars, ONLY: maxIter, minimize_tol, MinimizerType USE MODgvec_MHD3D_minimize, ONLY: t_minimizer_mhd3d, new_minimizer IMPLICIT NONE REAL(wp), OPTIONAL, INTENT(IN) :: dt_in !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES CLASS(t_functional_mhd3d), INTENT(INOUT) :: sf !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES !=================================================================================================================================== __PERFON('minimizer') CALL enter_subregion("Minimization") IF (PRESENT(dt_in)) THEN sf%minimizer%vars%dt = dt_in ENDIF CALL sf%minimizer%minimize(minimize_tol, maxIter) CALL exit_subregion("Minimization") __PERFOFF('minimizer') END SUBROUTINE MinimizeMHD3D