diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m index 360ae648ad7b98b9132c60b5a98a2b6494359d46..12b2dd07aca6252d9a0fcc2e5088436735209763 100644 --- a/matlab/solve_one_boundary.m +++ b/matlab/solve_one_boundary.m @@ -143,6 +143,14 @@ for it_=start:incr:finish if verbose disp('The singularity of the jacobian matrix could not be corrected') end + if is_dynamic + oo_.deterministic_simulation.status = false; + oo_.deterministic_simulation.error = max_res; + oo_.deterministic_simulation.iterations = iter; + oo_.deterministic_simulation.block(Block_Num).status = false;% Convergency failed. + oo_.deterministic_simulation.block(Block_Num).error = max_res; + oo_.deterministic_simulation.block(Block_Num).iterations = iter; + end info = -Block_Num*10; return end @@ -275,16 +283,11 @@ for it_=start:incr:finish end end else - if verbose - disp('unknown option : ') - if is_dynamic - disp(['options_.stack_solve_algo = ' num2str(stack_solve_algo) ' not implemented']) - else - disp(['options_.solve_algo = ' num2str(options.solve_algo) ' not implemented']) - end + if is_dynamic + error(['options_.stack_solve_algo = ' num2str(stack_solve_algo) ' not implemented']) + else + error(['options_.solve_algo = ' num2str(options.solve_algo) ' not implemented']) end - info = -Block_Num*10; - return end iter=iter+1; max_resa = max_res; diff --git a/matlab/solve_two_boundaries.m b/matlab/solve_two_boundaries.m index 7cf42fbb1da8cf9f296f545af703a2570eaed3e0..b85bdfe5000ccfb9a68b62e84f93573631f9e5d5 100644 --- a/matlab/solve_two_boundaries.m +++ b/matlab/solve_two_boundaries.m @@ -136,6 +136,12 @@ while ~(cvg || iter>maxit_) continue else disp('The singularity of the jacobian matrix could not be corrected'); + oo.deterministic_simulation.status = false; + oo.deterministic_simulation.error = max_res; + oo.deterministic_simulation.iterations = iter; + oo.deterministic_simulation.block(Block_Num).status = false;% Convergency failed. + oo.deterministic_simulation.block(Block_Num).error = max_res; + oo.deterministic_simulation.block(Block_Num).iterations = iter; return end end