From 3e4e7a754c9c75c684362467d8f1db06d4b03291 Mon Sep 17 00:00:00 2001 From: Guillaume Demesy <guillaume.demesy@fresnel.fr> Date: Thu, 5 Sep 2019 09:11:36 +0200 Subject: [PATCH] better resolution loop --- ElectromagneticScattering/scattering.pro | 51 ++++++------------------ 1 file changed, 12 insertions(+), 39 deletions(-) diff --git a/ElectromagneticScattering/scattering.pro b/ElectromagneticScattering/scattering.pro index 9c9107d..f4aff2b 100644 --- a/ElectromagneticScattering/scattering.pro +++ b/ElectromagneticScattering/scattering.pro @@ -324,7 +324,7 @@ Formulation { } } EndFor - {Name VPWM_helmholtz_vector_test; Type FemEquation; + {Name VPWMN_helmholtz_vector; Type FemEquation; Quantity { { Name u; Type Local; NameOfSpace Hcurl;} } @@ -381,50 +381,23 @@ Resolution { } EndIf If (flag_study==RES_TMAT) - // { Name res_VPWall_helmholtz_vector; - // System { - // For pe In {1:p_max} - // { Name M~{pe}; NameOfFormulation VPWM_helmholtz_vector~{pe}; Type ComplexValue; Frequency Freq; } - // { Name N~{pe}; NameOfFormulation VPWN_helmholtz_vector~{pe}; Type ComplexValue; Frequency Freq; } - // EndFor - // } - // Operation { - // CreateDir[Str[myDir]]; - // Evaluate[Python[]{"scattering_init.py"}]; - - // For pe In {1:p_max} - // Generate[M~{pe}]; - // Solve[M~{pe}]; - // PostOperation[VPWM_postop~{pe}]; - // Generate[N~{pe}]; - // Solve[N~{pe}]; - // PostOperation[VPWN_postop~{pe}]; - // EndFor - // Evaluate[Python[]{"scattering_post.py"}]; - // } - // } { Name res_VPWall_helmholtz_vector; System { - { Name A; NameOfFormulation VPWM_helmholtz_vector_test; Type ComplexValue; } - // { Name B; NameOfFormulation VPWN_helmholtz_vector_test; Type ComplexValue; } + { Name A; NameOfFormulation VPWMN_helmholtz_vector; Type ComplexValue; } } Operation { CreateDir[Str[myDir]]; Evaluate[Python[]{"scattering_init.py"}]; - Evaluate[$isN=0]; - Evaluate[ $PE = 1 ]; - Evaluate[ $NE = Floor[Sqrt[$PE]] ]; - Evaluate[ $ME = $NE*($NE+1) - Floor[$PE] ]; - Generate[A]; - Solve[A]; - // PostOperation[VPWM_postop~{1}]; - For pe In {1:p_max} - Evaluate[$isN=0]; - Evaluate[ $PE = pe ]; - Evaluate[ $NE = Floor[Sqrt[$PE]] ]; - Evaluate[ $ME = $NE*($NE+1) - Floor[$PE] ]; + Evaluate[ $isN = 0 ]; + Evaluate[ $PE = pe ]; + Evaluate[ $NE = Floor[Sqrt[$PE]] ]; + Evaluate[ $ME = $NE*($NE+1) - Floor[$PE] ]; + If (pe==1) + Generate[A]; + Solve[A]; + EndIf GenerateRHS[A]; SolveAgain[A]; Test[$isN==0]{ PostOperation[VPWM_postop~{pe}]; } @@ -506,7 +479,7 @@ PostProcessing { } EndIf If (flag_study==RES_TMAT) - { Name VPWMN_postpro_test; NameOfFormulation VPWM_helmholtz_vector_test; NameOfSystem A; + { Name VPWMN_postpro_test; NameOfFormulation VPWMN_helmholtz_vector; NameOfSystem A; Quantity { { Name E_scat ; Value { Local { [$PE]; In All_domains; Jacobian JVol; } } } { Name E_scat_sph ; Value { Local { [Vector[ @@ -519,7 +492,7 @@ PostProcessing { } For pe In {1:p_max} // { Name VPWM_postpro~{pe}; NameOfFormulation VPWM_helmholtz_vector~{pe};NameOfSystem M~{pe}; - { Name VPWM_postpro~{pe}; NameOfFormulation VPWM_helmholtz_vector_test; NameOfSystem A; + { Name VPWM_postpro~{pe}; NameOfFormulation VPWMN_helmholtz_vector; NameOfSystem A; Quantity { { Name E_scat ; Value { Local { [{u}]; In All_domains; Jacobian JVol; } } } { Name E_scat_sph ; Value { Local { [Vector[ -- GitLab