geopulse.network.base
Abstract base class for grounded conductor networks.
Infrastructure-agnostic interface: a submarine cable, a power grid, a
pipeline, and a railway all implement the same ABC. The
solver module never knows which kind of infrastructure it is
solving — only nodes, branches, admittances, and Thévenin voltages.
References
Classes
|
A branch (conductor segment) between two nodes. |
Abstract base class for grounded conductor networks. |
|
|
A node (grounding point) in the conductor network. |
- class geopulse.network.base.Branch(branch_id, from_node, to_node, resistance_Ohm, length_m)[source]
Bases:
objectA branch (conductor segment) between two nodes.
- class geopulse.network.base.ConductorNetwork[source]
Bases:
ABCAbstract base class for grounded conductor networks.
Subclasses (all deferred to later phases):
CableNetwork— submarine cables (SCUBAS refactor).PowerGridNetwork— substations + transmission lines.PipelineNetwork— DSTL (Boteler 1997).RailwayNetwork— track circuits + traction substations.
- abstractmethod assemble_network_admittance()[source]
Assemble the network admittance matrix
Y_n.- Return type:
- Returns:
numpy.ndarray – Symmetric, real-valued matrix. Shape
(n_nodes, n_nodes). Units: Siemens.
Notes
Y_n[i, i]= sum of admittances of branches connected to nodei.Y_n[i, j]=-admittanceof the branch betweeniandj.
- abstractmethod assemble_earthing_impedance()[source]
Assemble the diagonal earthing-impedance matrix
Z_e.- Return type:
- Returns:
numpy.ndarray – Diagonal matrix. Shape
(n_nodes, n_nodes). Units: Ohms.
- abstractmethod compute_thevenin_voltages(ex_Vm, ey_Vm, lat_deg, lon_deg)[source]
Compute the Thévenin equivalent voltage for each branch.
V_th(ab) = ∫_a^b E(r) · dl. For a uniform E-field over the branch length this reduces toV_th = Ex · Δx + Ey · Δy.- Parameters:
- Return type:
- Returns:
numpy.ndarray – Thévenin voltage per branch. Shape
(n_branches,). Units: V.
- class geopulse.network.base.Node(node_id, latitude_deg, longitude_deg, earthing_impedance_Ohm=0.0)[source]
Bases:
objectA node (grounding point) in the conductor network.
- node_id
Unique identifier (e.g.
"SUB_01"for a substation,"KP_100"for a kilometer post on a pipeline).- Type: