IPOPT Convergence Term Analysis#

The IPOPT Convergence Analysis tool provides a way to assess the convergence characteristics of a model using IPOPT as the solver.

class idaes.core.util.diagnostics_tools.convergence_analysis.IpoptConvergenceAnalysis(model, solver_obj=None, **kwargs)[source]#

Tool to perform a parameter sweep of model checking for numerical issues and convergence characteristics. Users may specify an IDAES ParameterSweep class to perform the sweep (default is SequentialSweepRunner).

assert_baseline_comparison(filename, rel_tol=0.1, abs_tol=1)[source]#

Run convergence analysis and assert no differences in results to those defined in baseline file.

Parameters:
  • filename (str) – name of baseline file to load specification from as string

  • rel_tol (float) – relative tolerance to use for comparing number of iterations

  • abs_tol (float) – absolute tolerance to use for comparing number of iterations

Raises:

AssertionError if results of convergence analysis do not match baseline

compare_convergence_to_baseline(filename, rel_tol=0.1, abs_tol=1)[source]#

Run convergence analysis and compare results to those defined in baseline file.

Parameters:
  • filename (str) – name of baseline file to load specification from as string

  • rel_tol (float) – relative tolerance to use for comparing number of iterations

  • abs_tol (float) – absolute tolerance to use for comparing number of iterations

Returns:

dict containing lists of differences between convergence analysis run and baseline

from_dict(input_dict)[source]#

Load specification and results from dict.

Parameters:

input_dict – dict to load from

Returns:

None

from_json_file(filename)[source]#

Load specification and results from json file.

Parameters:

filename – name of file to load from as string

Returns:

None

report_convergence_summary(stream=None)[source]#

Reports a brief summary of the model convergence run.

Parameters:

stream – Optional output stream to print results to.

Returns:

None

property results#

Returns the results of the IpoptConvergenceAnalysis run

run_convergence_analysis()[source]#

Execute convergence analysis sweep by calling execute_parameter_sweep method in specified runner.

Returns:

dict of results from parameter sweep

run_convergence_analysis_from_dict(input_dict)[source]#

Execute convergence analysis sweep using specification defined in dict.

Parameters:

input_dict (dict) – dict to load specification from

Returns:

dict of results from parameter sweep

run_convergence_analysis_from_file(filename)[source]#

Execute convergence analysis sweep using specification defined in json file.

Parameters:

filename (str) – name of file to load specification from as string

Returns:

dict of results from parameter sweep

property samples#

Returns the set of input samples for convergence analysis (pandas DataFrame)

to_dict()[source]#

Serialize specification and current results to dict form

Returns:

dict

to_json_file(filename)[source]#

Write specification and results to json file.

Parameters:

filename – name of file to write to as string

Returns:

None