From 20f21b07466c8e650cd74ebbde6c0cd39e586ef4 Mon Sep 17 00:00:00 2001 From: Vincent Laboure Date: Wed, 14 Nov 2018 08:34:56 -0700 Subject: [PATCH 1/2] Fix restoring logic when one sub app fails and the others do not #12477 --- framework/src/problems/FEProblemBase.C | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/framework/src/problems/FEProblemBase.C b/framework/src/problems/FEProblemBase.C index 892e86cae9b8..2692c08986f5 100644 --- a/framework/src/problems/FEProblemBase.C +++ b/framework/src/problems/FEProblemBase.C @@ -3539,12 +3539,17 @@ FEProblemBase::execMultiApps(ExecFlagType type, bool auto_advance) bool success = true; for (const auto & multi_app : multi_apps) + { success = multi_app->solveStep(_dt, _time, auto_advance); + // no need to finish executing the subapps if one fails + if (!success) + break; + } _console << "Waiting For Other Processors To Finish" << '\n'; MooseUtils::parallelBarrierNotify(_communicator, _parallel_barrier_messaging); - _communicator.max(success); + _communicator.min(success); if (!success) return false; From a50ace97f636ddf74ddb96b4c40741f200a3101c Mon Sep 17 00:00:00 2001 From: Vincent Laboure Date: Wed, 14 Nov 2018 14:43:38 -0700 Subject: [PATCH 2/2] Add test with only the first subapp failing #12477 --- .../gold/picard_master_2subapps_out.e | Bin 0 -> 39464 bytes .../gold/picard_master_2subapps_out_sub.e | Bin 0 -> 29020 bytes .../picard_master_2subapps_out_sub_no_fail.e | Bin 0 -> 27328 bytes .../multiapps/picard_failure/picard_master.i | 7 ++ .../picard_failure/picard_sub_no_fail.i | 65 ++++++++++++++++++ test/tests/multiapps/picard_failure/tests | 19 +++++ 6 files changed, 91 insertions(+) create mode 100644 test/tests/multiapps/picard_failure/gold/picard_master_2subapps_out.e create mode 100644 test/tests/multiapps/picard_failure/gold/picard_master_2subapps_out_sub.e create mode 100644 test/tests/multiapps/picard_failure/gold/picard_master_2subapps_out_sub_no_fail.e create mode 100644 test/tests/multiapps/picard_failure/picard_sub_no_fail.i diff --git a/test/tests/multiapps/picard_failure/gold/picard_master_2subapps_out.e b/test/tests/multiapps/picard_failure/gold/picard_master_2subapps_out.e new file mode 100644 index 0000000000000000000000000000000000000000..a8f4429ac65587fc0e60513322d24faa0bc3b66e GIT binary patch literal 39464 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

hsn}-)WacZ7L4JxIDhul^RK@A z%Gp;Jsy6`peeg}`p-Nla9W6{A5(+_cSUZTuBgHy1n_r8_z-)m4tY$>j%P*O*O#)cP zI|}fOAt3vuKlUKxXB_|y85mxh+G~rqzkliKTk{A@--ALNRYbJ=&(t#$G#3uArA8}u?-UL^H9y4M#zepZFdCN6 zVa?elW}4C|XB|Lk_x3n_z;dc5Bkbd6PgV8_I7{w60U;3~M7{2W(aog|TaTaBI4}st z1b#|3KuMX}Ib;DZf8K?l+pNN;KP#tM=q*L~9i4of$mK>~`FDo!onl=|a(kTsC_f3tq z++$nJ{Yot-F_>9zqve3~!vQcCJQPaGv%N+X6nlqlfA9@!OSk$+ep_6%z4Zv1%8TOl zK#uKZ9+>AdP*Rl^E~`UQi(FfrTgZAq*PR$g3!nXKy@Ri$M!3r;!Z%2T%wxK< zM7B9vNwF0s?(?Ul4#EE66-;FsQ+Z13Rq8zI6fHUz^C@2AuPWj%$tV1hgv_VJN<~>t z*_Q!z0jJNYQ%Y+9CZAoE5V;S)Vj|4}vC_lsZey6^sV|vbC&W1^KUP$C$?(zWJV1!S zwvWSvo|SwZ;K=-`iaCX|fG{QKyXpuVU1JW|xD98B8(v_XR`xZjxlRf1I3t)-1-J_h z2ZS?+uI7N1vqQGwn-WI1yp)1+WbS~*5t8R%BWQ>d>pm}tn0DqADg#i!!K$T$oY{P&OoT%! z4PxPt$_k@u&-ucqo=zF24OS2^H-b`E!jume^ERwJ{HVh=1AC0KVAt>1xG>2Y;9`+n z#m$GF60qt~QkHt%fABAQp3rhTro`!i56EEwD9#2Th$UTg0nR_1-`k&-mNfLLILKCz1K8_ zdreb#uW1VJHA~?aaIJR;s+`>G)z}Ib-${)|{Gz1jBLfa?^P!gkv^Y1m^Lvx#YE+p= zs#}%|WKA6kyS_VZ?wdt67hjwo!bmU+k`31a%kaH7MNk@J$deNh_d_;!Des#e7(B%5Jm5VJ9lRw~r*7S9!N*7uGe2tOGdpRZkw? z6z~wt58uY7GyY40t_(vzIEYr%%64w{zTx^4T6SrrRxuwb0Ia&+z+4{AHJ{#$?{{5~ zuVB7ad;@bj&{^eppSTBok4XnUqlu?a{F)8_k}C=p9)bk?f7?0aIW?_YNq`hq?jY9b zl*%cm`GoT`uuN92ys2(izC& zr6@`>ojH)gqkDxnm( z$RH;Oq)w#|+%eNL|BJzN>jBO0CeQyzno%t0bwo^Mq$5{;y4o-p-lCHI9rU@I58thYc}pmN!*(y zaaYs0O;b*w;8Z(j;s{raBU~|#aQV0+m(8!}Q+OjkbkaDslWI#Z7=~!J?;yN|-;4Nd zx)aYil2Po10fL?9@q6aI-*0sBe6b?_)uA7{3An+TgkF$1kHTnxHhRpyWt*w;@LV5y zKH6Wu$h_nGEo6NADwxDgrtCJ858lr6iI?~UgJXMtcjEP36ft(eQ;~Bep7z|yBzD4S z;=m8KafYtv@1$8euZ-PeZ%lpyzd2ykQF2HuQ-*+l6F;`YhT_#nhhbVEX(R6&_X0d? zI&k;|&vn_G6OFK`t4^ZJU^#H>zr?>aq@P6LguG+YvhC@AE*%f7jB zc%eLw4dYnW%Q~?B8J=rMpDmAR>&i3ve}}Z|@nU(D1IA^``y(RPkUm=;)2>?HUy$~N zehBV4hEKN%+uJz$f20HJf5%g&Jy9`izlyXQlv!+dHZOUL?aMw)`vpE7_qy_RHhzXD z+bx@(?N&_xX_}r-);pV?^{z<2$+9)@?X}0EkdlR^sy3br1gS+r~Wf7+W~HC5C7IOGId$n8%&$xQaCd0m+><$i+dN5 z2DdKlPnb5vrGO>wOZXX=#T_8h;MS$}nKs2`n-Di`BlvV1n|4SLHn??Zf5EhxA7<_Q z6#}M?^s=A%_!R$4TGI|+Rj>5FY}(HzDSkN9l(7ZWua|>_ghc2(z4T;z#~44sj3urUMtgg{OJP zXZFV=ERS)-$-c|R;njRDd-n;0osN0x5W@e`zS;AMd6SRN$IfvU@Y4J6`Er<4ywcH;H#%IJA_*r;0Xnq_YKu61EtXTb@>|0b(>=qCpAGOn0En}>elv1~pK&zdLm@@Mieoxvjw^fQjM8k$VGivB5H zEOkdq->R2NX1maM-I0X6@~3h!&ub-aF_lHkYvNiY-9!#V??l|Zef!S7c+DdFV$u=< zPYo!ph2yas48#q5?up%KG#$$zi3Q49B%n4%YeBX^cx97{aZJu0}h^6U-c(8ME+9GM}*Pb8tAC`2m zit37kTlaTwr0WAqiBm6`Y3PnU|D*!3D{kz5@X7A25BBT9n1V1%N3;D{CZLyiuJ7QJ zbpT%&WQlE3xF7|wgsXpKYK=VMEa-jM!#G|b zvk`>~@Cb`-Sk)`my9uB-p7>thOG+wC@nv7-_9b?FyZ3Wcco!;qUR;CbCKOh5hi-wc zh)*CImn{P1x}3R|s!Lt5=S5!s(3i>k*K%3Q0|cDL5_?qf#D{i{?FShjGB$Nx!8NDV z9kW3`E8WImsOGJJ|7ZQ?f#A!q`<< z%>gAor>b1DPQk~1HK6U#Yk3-7)?tm_sX0Y0UbQr-u<2^%l-jkjTulggKBwg8(k4Ui zd`=-J&E5H&k{f1a0X9~JR-@bTd`>BAwp^TQLoOie7F+ypKS{Mbr#uCpX8XsoKc%86 zqgK9rYL+ml!R9)#HUPk73UL#ac&YwMz`Kzf#2ywwYpG)bA>3XVVZju}TcHn)jz%(B zZnWpaemKUO2z5ifdJ{>kc}}s6)04w6lCT7kFt>7g{TS5NtH*kp$2zgHB!i`v8}$zz z*Z0Fm(6@be+#9$K*nnv1KJfCImjn7qXzFc0jV@J0ny}5F{2R}74BBnSM&*Rcp1|J8 zWM6#Z(@cKv&HBzTEvo=al>Zqr`a*7BzG~9fK5M?`n~W403><#g%xKDc?5pfMZjXjf za^lRHWe(aE+ctgD5yHo6!?EL4uOD8%1XtU3CIJD<2%C|}DsNwU%cQS;0uZ}->5!YD zWISClkV6+6bG1-9K@QNFU{eblsTn*B;R!4;`zyjxe6a1P6pT{&4SV26<4pk zbM>9KzklVOmFf+^;ShXNxvA0>k0vXVhlE1VEY^*Z=|r*4!s6E|GB8^p0GBhO>gBg= z*d_(6;vEHe*%FZbGMokw@{10DmW&MwmkpJ!u&A%@6d!gre&t|p)P@9H+J={YknPB& ze)KX7Rwan!G`iS?D@~o*5&%deWeBgb9zg*s&Ym+&p@*syPN;#EfZ9)^YU~?8=nt^e z%GSIq-q@b>_1L86@C2%a3cfL;D(fjws0}s>fC>XE6X6&}9ph0skO2jtHZtZsP}bA- zY%{ZRD4z!aXbNBHIis+O7Zrt8d7?#}75Qosh!rA7LZb^Fz6(CeMv(8yy9eW*H z>ywo#lf8fiASJfmf1@QymT8)(b8-I=b_scuOsFf&D$KT=`ZB8PY9Zo4#^WKR16QBR zD70l8t^8L`dtLF-kFVeQu#T|Vdr*k2iiGz6nR;ft_QCPN+WMb7~+Htm9{QRZa=GNbV^CArT=&gZ`Y+?WGM{kH>2~ z7z9IsFUST=Qnq#uSwL0eJmjeW^H7?*n*o}SibDGl(*8>d+n78Ml8%?mpfeP%uF7#h zV~b0v)>_SW6ZKK02=2)d$B#YRP-=~7&xa#A&Z6M92ZX^~FD%OGdChGBpMtfo4`mcc z{|uWZs4b*{HypOKg9JXTS)a4l9BS6*>~)(J_LqmlsX0eCn=Y$7ta9siUrQIOx*}z) zDv}EEq_Fkv;B(UsHtXCq;ltJqC(iyJ{TI#>qvai+!q7f_P)z|?^Y7!ZL`xeq{|8gR zwQxG|<={HorM`_R1wMxjFh&`1<&V{7OeXU zqb(QgirQ0ZIf=o{W*IF9WCCZvT(IRy>M8g%y9q97Wx7lIx@OL6vLI;;R`nr0!!5I? zy|htNl;c$yT{ZPSC> zR!c2Hj1EJr(+r%{@Y0j{1uJ_B7Xh(LGxXK&0J_E=uyym87>DPv?_YJ$$95qI>(~#y z33jR@TsMQY*M;?Ld%(&ycFo&3uP0&8#PhzCBRO$j7QpIU;6cY8V>4jLv$sWOPoc7{ z0US0AdsvArF5%njhds}YooefohJfW~Q&|0mfRBq!Hw)VX_F;e(h2CJ!I=GZ*;Nflu zwS;d!Qs%;8CJnT3n8^yOYS$P~H=9$&vj!{i*zYf^)ArTF#l8)ft}8WRn~^)kGP@u4 zT--(BjBsW=2g#iqZRpUMus zvkh&{v?itO$J#0ft13&j(SYej60{u5Z=*~47bfVF35|8j>^C{I?T20l(4lVZ z<}K*#r%`2jqAs#5ku^;y?1z5Qk}8XAFTSWB!u}!)lJz$NO6_WVTc(>)&u*)gIfo84|Z>ey9YOM55xXP&i<{vN}E9*DGvwJ zsum>M*lG^5yN$AR&HXT+Ug;K8GpAySVBB)2i~{U#g!%C{C$Pa-KIBD6)y{q_FFo|m zPBE>s+LNnuxN#P@fmIM`-^;D**!r3h#~UhJLEfj5xZd1m*S-y5p*6(!jyuU7cAwYZ ze&|iG&Y(~DxDl2f^ogPQ$gyuj4anp8FdKA(5thMtyP~17DTS)yez<7WXb%`4hK~$6 zB~SZKf&5pe;haM(6^09UcQl~zB!Ia!@1H55ugOS(1!KFy;V7xR5{V?+SNVA0mew_m zYywy?n9jr70zL)$;YV0>#%<4i8OLFC77f&tS;FE~j?EQXcInbt#ePl!;IfmW_VTdS zGHqX9owuuRx4d6|x#et1WR>+g@c{EZlnz)ZYxRi-1@M=i{#q+9*^hhhPRuqkJT|3oJ+@rC4_ HI{N+xG$f9D literal 0 HcmV?d00001 diff --git a/test/tests/multiapps/picard_failure/picard_master.i b/test/tests/multiapps/picard_failure/picard_master.i index 4f6bd84ebd56..20d308f6aec5 100644 --- a/test/tests/multiapps/picard_failure/picard_master.i +++ b/test/tests/multiapps/picard_failure/picard_master.i @@ -71,12 +71,19 @@ [] [MultiApps] + active = 'sub' # will be modified by CLI overrides [./sub] type = TransientMultiApp app_type = MooseTestApp positions = '0 0 0' input_files = picard_sub.i [../] + [./sub_no_fail] + type = TransientMultiApp + app_type = MooseTestApp + positions = '0 0 0' + input_files = picard_sub_no_fail.i + [../] [] [Transfers] diff --git a/test/tests/multiapps/picard_failure/picard_sub_no_fail.i b/test/tests/multiapps/picard_failure/picard_sub_no_fail.i new file mode 100644 index 000000000000..62a4dd3c6efe --- /dev/null +++ b/test/tests/multiapps/picard_failure/picard_sub_no_fail.i @@ -0,0 +1,65 @@ +[Mesh] + type = GeneratedMesh + dim = 2 + nx = 2 + ny = 2 +[] + +[Variables] + [./v] + [../] +[] + +[AuxVariables] + [./u] + [../] +[] + +[Kernels] + [./diff_v] + type = Diffusion + variable = v + [../] + [./force_v] + type = CoupledForce + variable = v + v = u + [../] +[] + +[BCs] + [./left_v] + type = DirichletBC + variable = v + boundary = left + value = 1 + [../] + [./right_v] + type = DirichletBC + variable = v + boundary = right + value = 0 + [../] +[] + +[Postprocessors] + [./elem_average_value] + type = ElementAverageValue + variable = v + execute_on = 'initial timestep_end' + [../] +[] + +[Executioner] + type = Transient + num_steps = 2 + dt = 0.1 + solve_type = PJFNK + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + nl_abs_tol = 1e-10 +[] + +[Outputs] + exodus = true +[] diff --git a/test/tests/multiapps/picard_failure/tests b/test/tests/multiapps/picard_failure/tests index 5ec6cdfb7602..7af01b532f12 100644 --- a/test/tests/multiapps/picard_failure/tests +++ b/test/tests/multiapps/picard_failure/tests @@ -35,4 +35,23 @@ requirement = 'CSV file writing should remain unaffected when a subapp encounters a solve failure.' issues = '#11178' [../] + + [./test_2subapps] + type = 'Exodiff' + input = 'picard_master.i' + exodiff = 'picard_master_2subapps_out_sub.e picard_master_2subapps_out_sub_no_fail.e picard_master_2subapps_out.e' + max_parallel = 1 # This is here because we're counting residual evaluations + max_threads = 1 # NanAtCountKernel changes behavior with threads + recover = false + petsc_version = '>=3.6.1' + allow_warnings = true + petsc_version_release = true + compiler = '!INTEL' + + cli_args = 'MultiApps/active="sub sub_no_fail" Outputs/file_base=picard_master_2subapps_out sub:Outputs/file_base=picard_master_2subapps_out_sub sub_no_fail:Outputs/file_base=picard_master_2subapps_out_sub_no_fail' + + design = '/MultiApps/index.md' + requirement = 'Multiapps shall be able to cut the master app time step when any subapp encounters a solve failure.' + issues = '#12477' + [../] []