API Reference¶
Application Layer¶
- class root_locus_analysis.rootLocusTool.app.RootLocusApp(out_dir: 'str' = 'out', log: 'logging.Logger' = None)[source]¶
- Parameters:
out_dir (str)
log (Logger)
- log: Logger¶
- out_dir: str¶
- run(req, outs)[source]¶
- Parameters:
req (RootLocusRequest)
outs (OutputSpec)
- Return type:
Dict[str, Any]
- run_batch(batch)[source]¶
Run a batch of cases and build a simple HTML index.
- Parameters:
batch (RootLocusBatchSpec)
- Return type:
str
API Schemas¶
- class root_locus_analysis.rootLocusTool.apis.RootLocusBatchSpec(cases: 'List[Dict[str, Any]]', defaults: 'Dict[str, Any]' = <factory>, outdir: 'str' = '.', report: 'str' = 'root_locus_report.html')[source]¶
- Parameters:
cases (List[Dict[str, Any]])
defaults (Dict[str, Any])
outdir (str)
report (str)
- cases: List[Dict[str, Any]]¶
- defaults: Dict[str, Any]¶
- outdir: str¶
- report: str¶
- class root_locus_analysis.rootLocusTool.apis.RootLocusRequest(poles: 'Optional[str]' = None, zeros: 'Optional[str]' = None, kgain: 'float' = 1.0, num: 'Optional[str]' = None, den: 'Optional[str]' = None, Gnum: 'Optional[str]' = None, Gden: 'Optional[str]' = None, Hnum: 'Optional[str]' = None, Hden: 'Optional[str]' = None, ssA: 'Optional[str]' = None, ssB: 'Optional[str]' = None, ssC: 'Optional[str]' = None, ssD: 'Optional[str]' = None, io: 'Optional[Tuple[int, int]]' = None, kpos: 'Optional[str]' = None, kneg: 'Optional[str]' = None, auto: 'bool' = True, sgrid: 'bool' = False, zeta: 'Optional[str]' = None, wn: 'Optional[str]' = None, label_zeta: 'bool' = True, label_wn: 'bool' = True, cg: 'bool' = False, kgains: 'str' = '', cg_absL: 'str' = '', cg_res: 'int' = 181, arrows: 'bool' = False, arrow_every: 'int' = 80, arrow_scale: 'float' = 0.04, xlim: 'Optional[Tuple[float, float]]' = None, ylim: 'Optional[Tuple[float, float]]' = None, klabels: 'str' = '', title: 'str' = 'Root–Locus Pro')[source]¶
- Parameters:
poles (str | None)
zeros (str | None)
kgain (float)
num (str | None)
den (str | None)
Gnum (str | None)
Gden (str | None)
Hnum (str | None)
Hden (str | None)
ssA (str | None)
ssB (str | None)
ssC (str | None)
ssD (str | None)
io (Tuple[int, int] | None)
kpos (str | None)
kneg (str | None)
auto (bool)
sgrid (bool)
zeta (str | None)
wn (str | None)
label_zeta (bool)
label_wn (bool)
cg (bool)
kgains (str)
cg_absL (str)
cg_res (int)
arrows (bool)
arrow_every (int)
arrow_scale (float)
xlim (Tuple[float, float] | None)
ylim (Tuple[float, float] | None)
klabels (str)
title (str)
- Gden: str | None¶
- Gnum: str | None¶
- Hden: str | None¶
- Hnum: str | None¶
- arrow_every: int¶
- arrow_scale: float¶
- arrows: bool¶
- auto: bool¶
- cg: bool¶
- cg_absL: str¶
- cg_res: int¶
- den: str | None¶
- io: Tuple[int, int] | None¶
- kgain: float¶
- kgains: str¶
- klabels: str¶
- kneg: str | None¶
- kpos: str | None¶
- label_wn: bool¶
- label_zeta: bool¶
- num: str | None¶
- poles: str | None¶
- sgrid: bool¶
- ssA: str | None¶
- ssB: str | None¶
- ssC: str | None¶
- ssD: str | None¶
- title: str¶
- wn: str | None¶
- xlim: Tuple[float, float] | None¶
- ylim: Tuple[float, float] | None¶
- zeros: str | None¶
- zeta: str | None¶
Input and Output¶
- class root_locus_analysis.rootLocusTool.io.OutputSpec(out_dir: 'str' = '.', html: 'Optional[str]' = 'root_locus.html', png: 'Optional[str]' = None, csv: 'Optional[str]' = None)[source]¶
- Parameters:
out_dir (str)
html (str | None)
png (str | None)
csv (str | None)
- csv: str | None¶
- html: str | None¶
- out_dir: str¶
- png: str | None¶
Utilities¶
- root_locus_analysis.rootLocusTool.utils.make_logger(verbose)[source]¶
Returns a configured logger. - Non-verbose: ‘rootLocusTool’ (INFO) - Verbose: ‘rootLocusTool.verbose’ (DEBUG)
We use two distinct loggers to ensure a second call with verbose=True always returns a DEBUG-level logger, regardless of prior config, while also preserving the single-handler invariant on the base logger.
- Parameters:
verbose (bool)
- Return type:
Logger
- root_locus_analysis.rootLocusTool.utils.parse_list(s)[source]¶
- Parameters:
s (str | None)
- Return type:
List[float]