PyPO User Manual
InterfaceBeam.cpp File Reference

Implementations for beam initialization interface. More...

#include "InterfaceBeam.h"

Functions

void makeRTframe (RTDict rdict, cframe *fr)
 
void makeGRTframe (GRTDict grdict, cframe *fr)
 
void makeGauss (GPODict gdict, reflparams plane, c2Bundle *res_field, c2Bundle *res_current)
 
void makeScalarGauss (ScalarGPODict sgdict, reflparams plane, arrC1 *res_field)
 
void calcCurrents (c2Bundle *res_field, c2Bundle *res_current, reflparams refldict, int mode)
 

Detailed Description

Implementations for beam initialization interface.

Implementation of interface for initializing ray-trace frames and PO beams.

Function Documentation

◆ calcCurrents()

void calcCurrents ( c2Bundle res_field,
c2Bundle res_current,
reflparams  refldict,
int  mode 
)

Calculate currents from electromagnetic field.

Calculate the J and M vectorial currents given a vectorial E and H field. Can calculate full currents, PMC and PEC surfaces. Wrapper for calcJM.

Parameters
res_fieldPointer to c2Bundle or c2Bundlef object.
res_currentPointer to c2Bundle or c2Bundlef object.
refldictreflparams or reflparamsf object corresponding to surface on which to calculate currents.
modeHow to calculate currents. 0 is full currents, 1 is PMC and 2 is PEC.
See also
calcJM()
c2Bundle
c2Bundlef
reflparams
reflparamsf

◆ makeGauss()

void makeGauss ( GPODict  gdict,
reflparams  plane,
c2Bundle res_field,
c2Bundle res_current 
)

Initialize Gaussian beam from GPODict or GPODictf.

Takes a GPODict or GPODictf and generates two arrC3 or arrC3f objects, which contain the field and associated currents and are allocated to passed pointer arguments. Wrapper for initGauss.

Parameters
gdictGPODict or GPODictf object from which to generate a Gaussian beam.
planereflparams or reflparamsf object corresponding to surface on which to generate the Gaussian beam.
res_fieldPointer to c2Bundle or c2Bundlef object.
res_currentPointer to c2Bundle or c2Bundlef object.
See also
initGauss()
GPODict
GPODictf
reflparams
reflparamsf
c2Bundle
c2Bundlef

◆ makeGRTframe()

void makeGRTframe ( GRTDict  grdict,
cframe fr 
)

Generate Gaussian ray-trace frame.

Generate a ray-trace frame from an RTDict or RTDictf. Generates xy points and directions from Gaussian distribution. Wrapper for initRTGauss.

Parameters
grdictGRTDict or GRTDictf object.
frPointer to cframe or cframef object.
See also
initFrame()
GRTDict
GRTDictf
cframe
cframef

◆ makeRTframe()

void makeRTframe ( RTDict  rdict,
cframe fr 
)

Generate concentric ellipse ray-trace frame.

Generate a ray-trace frame from an RTDict or RTDictf. The frame consists of concentring ellipses. Wrapper for initFrame.

Parameters
rdictRTDict or RTDictf object.
frPointer to cframe or cframef object.
See also
initFrame()
RTDict
RTDictf
cframe
cframef

◆ makeScalarGauss()

void makeScalarGauss ( ScalarGPODict  sgdict,
reflparams  plane,
arrC1 res_field 
)

Initialize Gaussian beam from GPODict or GPODictf.

Takes a GPODict or GPODictf and generates two arrC3 or arrC3f objects, which contain the field and associated currents and are allocated to passed pointer arguments. Wrapper for initGauss.

Parameters
gdictGPODict or GPODictf object from which to generate a Gaussian beam.
planereflparams or reflparamsf object corresponding to surface on which to generate the Gaussian beam.
res_fieldPointer to c2Bundle or c2Bundlef object.
res_currentPointer to c2Bundle or c2Bundlef object.
See also
initGauss()
GPODict
GPODictf
reflparams
reflparamsf
c2Bundle
c2Bundlef