finesse.analysis.actions.dc.DCFieldsSolutions
¶
Overview
- class finesse.analysis.actions.dc.DCFieldsSolutions[source]¶
Bases:
BaseSolution
Contains the result of a
DCFields
action. The returned fields are the internal description of the carrier are all nodes, modes, and frequencies. Fields are defined as P=|E|^2.Notes
The fields attribute will contain all the required information with its ordering defined by the nodes, frequencies, and homs array. For easier indexing you can access the solution directly with node names.
Select all the frequencies and modes at l1.p1.i: >>> sol[‘l1.p1.i’]
Select all the first modes at all frequencies and modes at l1.p1.i: >>> sol[‘l1.p1.i’, :, 0]
Select all the frequencies and modes at two nodes: >>> sol[(‘l1.p1.i’, ‘l1.p1.o’)]
The same nodes can be selected directly with the OpticalNodes: >>> sol[(model.l1.p1.i, model.l1.p1.o)]
Select all the HG02 modes at every node and frequency >>> sol[:, :, sol.homs.index([0, 2]))]
Select all the HG02 modes at every output node and every frequency >>> idx = np.array([node.split(“.”)[-1] == “o” for node in sol.nodes]) >>> sol[idx, :, sol.homs.index([0, 2])]
The frequency and mode selection must be a slice or an array of integer or boolean values.
- Attributes
- homslist
The Hermite-Gaussian higher order mode indices at each node, of each frequency.
- nodestuple[str]
Name of nodes the fields were extracted at
- frequenciesarray_like[dtype=float]
Values of the optical frequencies at each node
- fieldsarray_like
Field data array with shape [nodes, frequencies, HOMs.shape[0]]
Methods