diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m index 9998ea3f3a9efedf82fe8bf355371d4244561f4f..a1ca5ead940131bcc4dd9eadad5d1093a8189cfc 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 c6c4a1c7102d34a29e6795c2e6781fd005f591bf..5fe1c1d7b827b39c151590d085f1a09b49d56172 100644 --- a/matlab/solve_two_boundaries.m +++ b/matlab/solve_two_boundaries.m @@ -136,6 +136,12 @@ while ~(cvg==1 || 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