finesse.tracing.tools.propagate_beam¶
- finesse.tracing.tools.propagate_beam(from_node=None, to_node=None, via_node=None, path=None, q_in=None, direction='x', symbolic=False, solution_name=None, **kwargs)[source]¶
Propagates a beam through a specified path, returning dictionaries of the beam parameter at each node and component.
This method returns a
PropagationSolutioninstance.See Beam propagation for details and examples on using this function.
By setting the argument symbolic to true, this method will return symbolic representations of the beam parameters, ABCD matrices and accumulated Gouy phases.
The argument q_in can be used to specify an arbitrary input beam parameter to be used at the starting node of the propagation. If not given then this will be determined from a call to
Model.beam_trace(). Arguments to this beam trace call can be passed via the kwargs of this method.- Parameters
from_node :
NodeNode to trace from.
to_node :
NodeNode to trace to.
via_node :
Node, optionalOptional node to trace via.
path :
OpticalPath, optionalA pre-generated path to use.
q_in :
BeamParam, complex, optionalBeam parameter to use at starting node. If not specified then this will be determined from a beam trace. Note that, if specified, this can also be a symbolic beam parameter.
direction : str, optional; default: “x”
Plane of computation (can be ‘x’, ‘y’ or None).
symbolic : bool, optional; default: False
Flag determining whether to return a symbolic representation.
- Returns
ps :
PropagationSolutionA solution object for the propagation.