In principle you can load arbitrary pulse and beam shapes, e.g.:
obj.run({'pulse1','BeamProfile',[array of intensity distribution Ixy],'Spectrum',[vector with spectral data],'Phase',[vector with phase data]});
or you can load a complex electrical field in the spectral domain:
obj.run({'field1','Eftfxfy',[complex electrical field Eftfxfy]});
or you can let chi3D create different pulse and beam shapes for you:
obj.run({'pulse1','beamShape_x',{'TEMox' 2},'beamShape_y',{'supergauss' 10},'beamShape_t',{'gauss''});
or
obj({'pulse1','beamShape_x',{'TEMox' 2},'beamShape_y',{'supergauss' 10},'beamShape_t',{'gauss''});
obj.run('pulse1');
please find more details in
obj.beamProp.help
and
obj.run.help
Tino Lang