pub trait BasicComponent {
// Required methods
fn initCircuit(
&mut self,
nets: Vec<NetRef>,
connections: Vec<ConnectionRef>,
equations: Vec<EquationRef>,
);
fn initTransient(&mut self, matrix: &mut TransientMatrix);
// Provided method
fn updateTransient(
&mut self,
matrix: &mut TransientMatrix,
vector: &TransientVector,
t: f64,
step: f64,
) { ... }
}Expand description
Component that directly interacts with the simulator.
You may implement this trait to add new fundamental components that are not equivalent to a circuit made of existing ones.
Implementors of this trait should not provide any constructor,
but instead a create(&mut Circuit, NetRef, NetRef, ...) method
that takes a circuit, an appropriate number of net references
and any required configuration values, and calls
circuit.crateBasicComponent() directly.
Required Methods§
Sourcefn initCircuit(
&mut self,
nets: Vec<NetRef>,
connections: Vec<ConnectionRef>,
equations: Vec<EquationRef>,
)
fn initCircuit( &mut self, nets: Vec<NetRef>, connections: Vec<ConnectionRef>, equations: Vec<EquationRef>, )
Initialize component with information it needs to interact with simulation matrices.
Sourcefn initTransient(&mut self, matrix: &mut TransientMatrix)
fn initTransient(&mut self, matrix: &mut TransientMatrix)
Initialize component and matrix for transient simulation.
Provided Methods§
Sourcefn updateTransient(
&mut self,
matrix: &mut TransientMatrix,
vector: &TransientVector,
t: f64,
step: f64,
)
fn updateTransient( &mut self, matrix: &mut TransientMatrix, vector: &TransientVector, t: f64, step: f64, )
Update component and matrix every time step during transient simulation.