{
    "name": "root",
    "type": "root",
    "class": "openmdao.test_suite.components.sellar:SellarStateConnection",
    "expressions": null,
    "nonlinear_solver": "NL: Newton",
    "nonlinear_solver_options": {
        "maxiter": 10,
        "atol": 1e-10,
        "rtol": 1e-10,
        "iprint": 1,
        "err_on_non_converge": false,
        "debug_print": false,
        "stall_limit": 0,
        "stall_tol": 1e-12,
        "stall_tol_type": "rel",
        "restart_from_successful": false,
        "solve_subsystems": false,
        "max_sub_solves": 10,
        "cs_reconverge": true,
        "reraise_child_analysiserror": false
    },
    "linear_solver": "LN: SCIPY",
    "linear_solver_options": {
        "maxiter": 1000,
        "atol": 1e-12,
        "rtol": 1e-10,
        "iprint": 1,
        "err_on_non_converge": false,
        "assemble_jac": false,
        "solver": "gmres",
        "restart": 20,
        "rhs_checking": false
    },
    "component_type": null,
    "subsystem_type": "group",
    "is_parallel": false,
    "solve_subsystems": false,
    "children": [
        {
            "name": "_auto_ivc",
            "type": "subsystem",
            "class": "openmdao.core.indepvarcomp:_AutoIndepVarComp",
            "expressions": null,
            "nonlinear_solver": "",
            "nonlinear_solver_options": null,
            "linear_solver": "",
            "linear_solver_options": null,
            "subsystem_type": "component",
            "is_parallel": false,
            "component_type": "indep",
            "children": [
                {
                    "name": "v0",
                    "type": "output",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(2,)",
                    "desc": "",
                    "implicit": false,
                    "units": "None"
                },
                {
                    "name": "v1",
                    "type": "output",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "implicit": false,
                    "units": "None"
                }
            ],
            "options": {
                "derivs_method": null,
                "distributed": false,
                "run_root_only": false,
                "always_opt": false,
                "use_jit": true,
                "default_shape": [
                    1
                ],
                "name": "UNDEFINED",
                "val": 1.0,
                "shape": null,
                "units": null,
                "res_units": null,
                "desc": null,
                "lower": null,
                "upper": null,
                "ref": 1.0,
                "ref0": 0.0,
                "res_ref": null,
                "tags": null
            }
        },
        {
            "name": "sub",
            "type": "subsystem",
            "class": "openmdao.core.group:Group",
            "expressions": null,
            "nonlinear_solver": "NL: RUNONCE",
            "nonlinear_solver_options": {
                "iprint": 1
            },
            "linear_solver": "LN: SCIPY",
            "linear_solver_options": {
                "maxiter": 1000,
                "atol": 1e-12,
                "rtol": 1e-10,
                "iprint": 1,
                "err_on_non_converge": false,
                "assemble_jac": false,
                "solver": "gmres",
                "restart": 20,
                "rhs_checking": false
            },
            "component_type": null,
            "subsystem_type": "group",
            "is_parallel": false,
            "children": [
                {
                    "name": "state_eq_group",
                    "type": "subsystem",
                    "class": "openmdao.core.group:Group",
                    "expressions": null,
                    "nonlinear_solver": "NL: RUNONCE",
                    "nonlinear_solver_options": {
                        "iprint": 1
                    },
                    "linear_solver": "LN: SCIPY",
                    "linear_solver_options": {
                        "maxiter": 1000,
                        "atol": 1e-12,
                        "rtol": 1e-10,
                        "iprint": 1,
                        "err_on_non_converge": false,
                        "assemble_jac": false,
                        "solver": "gmres",
                        "restart": 20,
                        "rhs_checking": false
                    },
                    "component_type": null,
                    "subsystem_type": "group",
                    "is_parallel": false,
                    "children": [
                        {
                            "name": "state_eq",
                            "type": "subsystem",
                            "class": "openmdao.test_suite.components.sellar:StateConnection",
                            "expressions": null,
                            "nonlinear_solver": "",
                            "nonlinear_solver_options": null,
                            "linear_solver": "",
                            "linear_solver_options": null,
                            "subsystem_type": "component",
                            "is_parallel": false,
                            "component_type": "implicit",
                            "children": [
                                {
                                    "name": "y2_actual",
                                    "type": "input",
                                    "dtype": "ndarray",
                                    "is_discrete": false,
                                    "distributed": false,
                                    "shape": "(1,)",
                                    "desc": "",
                                    "units": "None"
                                },
                                {
                                    "name": "y2_command",
                                    "type": "output",
                                    "dtype": "ndarray",
                                    "is_discrete": false,
                                    "distributed": false,
                                    "shape": "(1,)",
                                    "desc": "",
                                    "implicit": true,
                                    "units": "None"
                                }
                            ],
                            "options": {
                                "assembled_jac_type": "csc",
                                "derivs_method": null,
                                "distributed": false,
                                "run_root_only": false,
                                "always_opt": false,
                                "use_jit": true,
                                "default_shape": [
                                    1
                                ]
                            }
                        }
                    ],
                    "options": {
                        "assembled_jac_type": "csc",
                        "derivs_method": null,
                        "auto_order": false
                    }
                },
                {
                    "name": "d1",
                    "type": "subsystem",
                    "class": "openmdao.test_suite.components.sellar:SellarDis1withDerivatives",
                    "expressions": null,
                    "nonlinear_solver": "",
                    "nonlinear_solver_options": null,
                    "linear_solver": "",
                    "linear_solver_options": null,
                    "subsystem_type": "component",
                    "is_parallel": false,
                    "component_type": "explicit",
                    "children": [
                        {
                            "name": "z",
                            "type": "input",
                            "dtype": "ndarray",
                            "is_discrete": false,
                            "distributed": false,
                            "shape": "(2,)",
                            "desc": "",
                            "units": "None"
                        },
                        {
                            "name": "x",
                            "type": "input",
                            "dtype": "ndarray",
                            "is_discrete": false,
                            "distributed": false,
                            "shape": "(1,)",
                            "desc": "",
                            "units": "None"
                        },
                        {
                            "name": "y2",
                            "type": "input",
                            "dtype": "ndarray",
                            "is_discrete": false,
                            "distributed": false,
                            "shape": "(1,)",
                            "desc": "",
                            "units": "None"
                        },
                        {
                            "name": "y1",
                            "type": "output",
                            "dtype": "ndarray",
                            "is_discrete": false,
                            "distributed": false,
                            "shape": "(1,)",
                            "desc": "",
                            "implicit": false,
                            "units": "None"
                        }
                    ],
                    "options": {
                        "derivs_method": null,
                        "distributed": false,
                        "run_root_only": false,
                        "always_opt": false,
                        "use_jit": true,
                        "default_shape": [
                            1
                        ]
                    }
                },
                {
                    "name": "d2",
                    "type": "subsystem",
                    "class": "openmdao.test_suite.components.sellar:SellarDis2withDerivatives",
                    "expressions": null,
                    "nonlinear_solver": "",
                    "nonlinear_solver_options": null,
                    "linear_solver": "",
                    "linear_solver_options": null,
                    "subsystem_type": "component",
                    "is_parallel": false,
                    "component_type": "explicit",
                    "children": [
                        {
                            "name": "z",
                            "type": "input",
                            "dtype": "ndarray",
                            "is_discrete": false,
                            "distributed": false,
                            "shape": "(2,)",
                            "desc": "",
                            "units": "None"
                        },
                        {
                            "name": "y1",
                            "type": "input",
                            "dtype": "ndarray",
                            "is_discrete": false,
                            "distributed": false,
                            "shape": "(1,)",
                            "desc": "",
                            "units": "None"
                        },
                        {
                            "name": "y2",
                            "type": "output",
                            "dtype": "ndarray",
                            "is_discrete": false,
                            "distributed": false,
                            "shape": "(1,)",
                            "desc": "",
                            "implicit": false,
                            "units": "None"
                        }
                    ],
                    "options": {
                        "derivs_method": null,
                        "distributed": false,
                        "run_root_only": false,
                        "always_opt": false,
                        "use_jit": true,
                        "default_shape": [
                            1
                        ]
                    }
                }
            ],
            "options": {
                "assembled_jac_type": "csc",
                "derivs_method": null,
                "auto_order": false
            }
        },
        {
            "name": "obj_cmp",
            "type": "subsystem",
            "class": "openmdao.components.exec_comp:ExecComp",
            "expressions": [
                "obj = x**2 + z[1] + y1 + exp(-y2)"
            ],
            "nonlinear_solver": "",
            "nonlinear_solver_options": null,
            "linear_solver": "",
            "linear_solver_options": null,
            "subsystem_type": "component",
            "is_parallel": false,
            "component_type": "exec",
            "children": [
                {
                    "name": "x",
                    "type": "input",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "units": "None"
                },
                {
                    "name": "y1",
                    "type": "input",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "units": "None"
                },
                {
                    "name": "y2",
                    "type": "input",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "units": "None"
                },
                {
                    "name": "z",
                    "type": "input",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(2,)",
                    "desc": "",
                    "units": "None"
                },
                {
                    "name": "obj",
                    "type": "output",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "implicit": false,
                    "units": "None"
                }
            ],
            "options": {
                "derivs_method": null,
                "run_root_only": false,
                "always_opt": false,
                "use_jit": true,
                "default_shape": [
                    1
                ],
                "has_diag_partials": false,
                "units": null,
                "shape": null,
                "shape_by_conn": false,
                "do_coloring": false
            }
        },
        {
            "name": "con_cmp1",
            "type": "subsystem",
            "class": "openmdao.components.exec_comp:ExecComp",
            "expressions": [
                "con1 = 3.16 - y1"
            ],
            "nonlinear_solver": "",
            "nonlinear_solver_options": null,
            "linear_solver": "",
            "linear_solver_options": null,
            "subsystem_type": "component",
            "is_parallel": false,
            "component_type": "exec",
            "children": [
                {
                    "name": "y1",
                    "type": "input",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "units": "None"
                },
                {
                    "name": "con1",
                    "type": "output",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "implicit": false,
                    "units": "None"
                }
            ],
            "options": {
                "derivs_method": null,
                "run_root_only": false,
                "always_opt": false,
                "use_jit": true,
                "default_shape": [
                    1
                ],
                "has_diag_partials": false,
                "units": null,
                "shape": null,
                "shape_by_conn": false,
                "do_coloring": false
            }
        },
        {
            "name": "con_cmp2",
            "type": "subsystem",
            "class": "openmdao.components.exec_comp:ExecComp",
            "expressions": [
                "con2 = y2 - 24.0"
            ],
            "nonlinear_solver": "",
            "nonlinear_solver_options": null,
            "linear_solver": "",
            "linear_solver_options": null,
            "subsystem_type": "component",
            "is_parallel": false,
            "component_type": "exec",
            "children": [
                {
                    "name": "y2",
                    "type": "input",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "units": "None"
                },
                {
                    "name": "con2",
                    "type": "output",
                    "dtype": "ndarray",
                    "is_discrete": false,
                    "distributed": false,
                    "shape": "(1,)",
                    "desc": "",
                    "implicit": false,
                    "units": "None"
                }
            ],
            "options": {
                "derivs_method": null,
                "run_root_only": false,
                "always_opt": false,
                "use_jit": true,
                "default_shape": [
                    1
                ],
                "has_diag_partials": false,
                "units": null,
                "shape": null,
                "shape_by_conn": false,
                "do_coloring": false
            }
        }
    ],
    "options": {
        "assembled_jac_type": "csc",
        "derivs_method": null,
        "nonlinear_solver": "NL: Newton",
        "nl_atol": null,
        "nl_maxiter": null,
        "linear_solver": "LN: SCIPY",
        "ln_atol": null,
        "ln_maxiter": null,
        "auto_order": false
    }
}