Source code for piel.models.physical.electrical.core
from ....types import ArrayTypes, SignalTraceDC, SignalDC, V, A
[docs]
def construct_voltage_dc_signal(
name: str,
values: ArrayTypes,
) -> SignalDC:
"""
Construct a DC signal instance for a voltage signal.
Parameters
----------
name : str
The name of the signal.
values : ArrayTypes
The values of the signal.
Returns
-------
SignalTraceDC: A DC signal instance for a voltage signal.
"""
voltage_signal = SignalTraceDC(name=name, values=values, unit=V)
return SignalDC(trace_list=[voltage_signal])
[docs]
def construct_current_dc_signal(
name: str,
values: ArrayTypes,
) -> SignalDC:
"""
Construct a DC signal instance for a current signal.
Parameters
----------
name : str
The name of the signal.
values : ArrayTypes
The values of the signal.
Returns
-------
SignalTraceDC: A DC signal instance for a current signal.
"""
current_signal = SignalTraceDC(name=name, values=values, unit=A)
return SignalDC(trace_list=[current_signal])
[docs]
def construct_dc_signal(
voltage_signal_name: str,
voltage_signal_values: ArrayTypes,
current_signal_name: str,
current_signal_values: ArrayTypes,
) -> SignalDC:
"""
Construct a DC signal with voltage and current signal instances.
Parameters
----------
voltage_signal_name : str
The name of the voltage signal.
voltage_signal_values : ArrayTypes
The values of the voltage signal.
current_signal_name : str
The name of the current signal.
current_signal_values : ArrayTypes
The values of the current signal
Returns
-------
SignalDC: A DC signal with voltage and current signal instances.
"""
voltage_signal = construct_voltage_dc_signal(
voltage_signal_name, voltage_signal_values
)
current_signal = construct_current_dc_signal(
current_signal_name, current_signal_values
)
traces = voltage_signal.trace_list + current_signal.trace_list
return SignalDC(trace_list=traces)