STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
feedtwin.pid Namespace Reference

Namespaces

namespace  document
namespace  errors
namespace  network
namespace  roles
namespace  segments

Variables

list __all__

Detailed Description

Phase 11: the drawing is the document.

pid-designer stores a P&ID as ``{"nodes": [...], "edges": [...]}`` with every
hardware number in :class:`feedtwin.model.Param`'s exact shape -- value, unit,
source, reference. This package reads that and builds a solvable network from
it, so a system is drawn once and analysed where it was drawn::

    from feedtwin.pid import build_network, load_diagram

    drawing = load_diagram("stand.json")
    built = build_network(drawing)
    solve_steady(built.network)

Two graphs, two shapes. A P&ID carries hardware on symbols *and* on lines; a
network carries pressures on nodes and hardware on branches only. The rewrite
between them is :mod:`feedtwin.pid.network`, and the case that matters is the
inline symbol -- a valve becomes a branch with a node spliced either side.

Variable Documentation

◆ __all__

list feedtwin.pid.__all__
private
Initial value:
1= [
2 "ANNOTATION_TYPES",
3 "BRANCH_KINDS",
4 "BuiltNetwork",
5 "Diagram",
6 "DiagramError",
7 "FALLBACKS",
8 "INLINE_TYPES",
9 "INSTRUMENT_TYPES",
10 "Instrument",
11 "LINE_KINDS",
12 "Placement",
13 "PidEdge",
14 "PidNode",
15 "SOURCE_TYPES",
16 "build_network",
17 "load_diagram",
18 "read_segments",
19 "read_diagram",
20]

Definition at line 45 of file __init__.py.