API Reference¶
transient_analysis.icTool.cli¶
transient_analysis.icTool.app¶
- class transient_analysis.icTool.app.IcToolApp(base_dir=None)[source]¶
Bases:
objectHigh-level orchestrator with conventional in/out directories.
- Parameters:
base_dir (Path | None)
- in_dir: Path¶
- out_dir: Path¶
- run_case1(A, x0, T, *, save=False)[source]¶
- Parameters:
A (ndarray)
x0 (ndarray)
T (ndarray)
save (bool)
- run_case2(A, C, x0, T, *, save=False)[source]¶
- Parameters:
A (ndarray)
C (ndarray)
x0 (ndarray)
T (ndarray)
save (bool)
- run_compare1(A, x0, T, *, save=False)[source]¶
- Parameters:
A (ndarray)
x0 (ndarray)
T (ndarray)
save (bool)
- run_compare2(A, C, x0, T, *, save=False)[source]¶
- Parameters:
A (ndarray)
C (ndarray)
x0 (ndarray)
T (ndarray)
save (bool)
transient_analysis.icTool.utils¶
- class transient_analysis.icTool.utils.CaseResult(T, Y, label_rows)[source]¶
Bases:
objectContainer for a single IC computation (direct or step-equivalent).
- Parameters:
T (ndarray)
Y (ndarray)
label_rows (tuple[str, ...])
- T: ndarray¶
- Y: ndarray¶
- label_rows: tuple[str, ...]¶
- class transient_analysis.icTool.utils.CompareResult(direct, step_equiv)[source]¶
Bases:
objectPaired result for direct vs step-equivalent calculations.
- Parameters:
direct (CaseResult)
step_equiv (CaseResult)
- direct: CaseResult¶
- step_equiv: CaseResult¶
- transient_analysis.icTool.utils.forced_response_safe(sys, T, U)[source]¶
Call control.forced_response and return (T, Y) with Y shape (m, N).
- Parameters:
sys (StateSpace)
T (ndarray)
U (ndarray)
- Return type:
tuple[ndarray, ndarray]
- transient_analysis.icTool.utils.initial_response_safe(sys, T, X0)[source]¶
Call control.initial_response and return (T, Y) with Y shape (m, N), where m is the number of outputs. Works across python-control versions that return (T, y) or a ResponseData-like object.
- Parameters:
sys (StateSpace)
T (ndarray)
X0 (ndarray)
- Return type:
tuple[ndarray, ndarray]
- transient_analysis.icTool.utils.parse_matrix(s)[source]¶
Accept ‘row1; row2’ with spaces or commas; return 2-D float array. Example: “0 1; -6 -5” or “[0, 1; -6, -5]”.
- Parameters:
s (str)
- Return type:
ndarray
- transient_analysis.icTool.utils.parse_poly(s)[source]¶
Parse TF polynomial coefficients in descending powers. Accepts forms like ‘1 3 2’, ‘1,3,2’, or ‘[1, 3, 2]’. Returns a 1-D float array.
- Parameters:
s (str)
- Return type:
ndarray
- transient_analysis.icTool.utils.parse_vector(s)[source]¶
Accept ‘a b c’, ‘a,b,c’, ‘a; b’ or bracketed; return 1-D float array. Robust to extra whitespace; raises ValueError on empty.
- Parameters:
s (str)
- Return type:
ndarray
transient_analysis.icTool.apis¶
- class transient_analysis.icTool.apis.ApiResponse(ok: 'bool', data: 'Dict[str, Any]', msg: 'str' = '')[source]¶
Bases:
object- Parameters:
ok (bool)
data (Dict[str, Any])
msg (str)
- data: Dict[str, Any]¶
- msg: str¶
- ok: bool¶
- class transient_analysis.icTool.apis.Compare1Req(*, A, x0, tfinal, dt)[source]¶
Bases:
BaseModel- Parameters:
A (list[list[float]])
x0 (list[float])
tfinal (float)
dt (float)
- A: list[list[float]]¶
- dt: float¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tfinal: float¶
- x0: list[float]¶
- class transient_analysis.icTool.apis.Compare2Req(*, A, C, x0, tfinal, dt)[source]¶
Bases:
BaseModel- Parameters:
A (list[list[float]])
C (list[list[float]])
x0 (list[float])
tfinal (float)
dt (float)
- A: list[list[float]]¶
- C: list[list[float]]¶
- dt: float¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tfinal: float¶
- x0: list[float]¶
- class transient_analysis.icTool.apis.TfGenericReq(*, num_ic, den, tfinal, dt)[source]¶
Bases:
BaseModel- Parameters:
num_ic (list[float])
den (list[float])
tfinal (float)
dt (float)
- den: list[float]¶
- dt: float¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- num_ic: list[float]¶
- tfinal: float¶
- class transient_analysis.icTool.apis.TfOgataReq(*, m, b, k, x0, v0, tfinal, dt)[source]¶
Bases:
BaseModel- Parameters:
m (float)
b (float)
k (float)
x0 (float)
v0 (float)
tfinal (float)
dt (float)
- b: float¶
- dt: float¶
- k: float¶
- m: float¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tfinal: float¶
- v0: float¶
- x0: float¶
- transient_analysis.icTool.apis.case1_api(A, x0, *, tfinal, dt)[source]¶
- Parameters:
A (ndarray)
x0 (ndarray)
tfinal (float)
dt (float)
- Return type:
- transient_analysis.icTool.apis.case2_api(A, C, x0, *, tfinal, dt)[source]¶
- Parameters:
A (ndarray)
C (ndarray)
x0 (ndarray)
tfinal (float)
dt (float)
- Return type:
- transient_analysis.icTool.apis.compare1_api(A, x0, *, tfinal, dt)[source]¶
- Parameters:
A (ndarray)
x0 (ndarray)
tfinal (float)
dt (float)
- Return type:
- transient_analysis.icTool.apis.compare2_api(A, C, x0, *, tfinal, dt)[source]¶
- Parameters:
A (ndarray)
C (ndarray)
x0 (ndarray)
tfinal (float)
dt (float)
- Return type:
- transient_analysis.icTool.apis.tf_step_api_from_mbk(m, b, k, x0, v0, *, tfinal, dt)[source]¶
Build G_ic(s) from (m,b,k,x0,v0) using Ogata’s step-equivalence and return its unit-step response y(t) over [0, tfinal] with step dt.
- Parameters:
m (float)
b (float)
k (float)
x0 (float)
v0 (float)
tfinal (float)
dt (float)
- Return type:
transient_analysis.icTool.core¶
- class transient_analysis.icTool.core.ICProblem(A, x0, C=None)[source]¶
Bases:
objectProblem data for response to initial conditions.
- Parameters:
A (ndarray (n,n)) – State matrix.
x0 (ndarray (n,)) – Initial state.
C (ndarray (m,n), optional) – Output map for Case 2. For Case 1, C is ignored and I is used.
- A: ndarray¶
- C: ndarray | None¶
- x0: ndarray¶
- class transient_analysis.icTool.core.ICSolver(pb)[source]¶
Bases:
objectCompute responses to initial conditions (Case 1 and Case 2).
Shapes: all outputs are normalized to (rows, N) arrays.
- Parameters:
pb (ICProblem)
- case1_direct(**k)¶
- case1_step_equiv(**k)¶
- case2_direct(**k)¶
- case2_step_equiv(**k)¶
transient_analysis.icTool.design¶
transient_analysis.icTool.io¶
- transient_analysis.icTool.io.dump_json(path, obj)[source]¶
- Parameters:
path (Path)
obj (dict)
- Return type:
Path