finesse.simulations.basematrix.MatrixSystemSolver

Overview

class finesse.simulations.basematrix.MatrixSystemSolver(matrix_type, unicode name, list nodes, FrequencyContainer optical_frequencies, dict signal_frequencies, int num_optical_homs, bool is_signal_matrix, bool forced_refill, dict node_map)

Bases: object

A linear set of systems can be represented as a matrix, each equation in this system is a particular state which we want to compute. The system is solved by applying some inputs into various states, or the right hand side (RHS) vector, and solving the system.

The underlying matrix can be either a sparse or dense matrix. This class should not assume either, but merely call upon a standard matrix interface. Therefore the algorithm used for solving can varying significantly. The overall matrix is sectioned into submatricies which connect various states together.

Nodes represent a physical location in the model in which some state of the system must be computed. Some nodes can have multiple states, such as multiple optical modes.

Properties

MatrixSystemSolver.M

A weak reference to the underlying Matrix object.

Methods

MatrixSystemSolver.__init__(*args, **kwargs)

MatrixSystemSolver.clear_rhs(self)

MatrixSystemSolver.component_edge_fill(self, ...)

Returns a matrix for the submatrix an element has requested for different connections it needs. The key is::.

MatrixSystemSolver.component_edge_fill3(...)

MatrixSystemSolver.field(self, node, ...)

Returns simulation unique index of a field at a particular frequency index at this node.

MatrixSystemSolver.findex(self, node, ...)

Returns simulation unique index for a given frequency at this node.

MatrixSystemSolver.get_frequency_object(...)

Get a Frequency object corresponding to a numerical or symbolic value.

MatrixSystemSolver.get_node_info(self, node)

For a given node (object or name) the key parameters for where this node is represented in the matrix of linear equations is returned in a NodeInfoEntry object.

MatrixSystemSolver.get_out(self, node, ...)

MatrixSystemSolver.node_id(self, node)

MatrixSystemSolver.print_matrix(self)

MatrixSystemSolver.refill(self)

MatrixSystemSolver.run(self)

Executes the simulation for model in its current state.

MatrixSystemSolver.set_source(self, node, ...)

MatrixSystemSolver.setup_nodes(self, ...)