BasicComponent

Trait BasicComponent 

Source
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§

Source

fn initCircuit( &mut self, nets: Vec<NetRef>, connections: Vec<ConnectionRef>, equations: Vec<EquationRef>, )

Initialize component with information it needs to interact with simulation matrices.

Source

fn initTransient(&mut self, matrix: &mut TransientMatrix)

Initialize component and matrix for transient simulation.

Provided Methods§

Source

fn updateTransient( &mut self, matrix: &mut TransientMatrix, vector: &TransientVector, t: f64, step: f64, )

Update component and matrix every time step during transient simulation.

Implementors§