def run(Plot, Save): import numpy as np from PyMieSim.Scatterer import Sphere from PyMieSim.Source import PlaneWave from PyMieSim.Detector import Photodiode from PyMieSim.Experiment import ScatSet, SourceSet, Setup, DetectorSet scatKwargs = { 'Diameter': np.linspace(100e-9, 10000e-9, 400), 'Index': [1.4, 1.6], 'nMedium': [1] } sourceKwargs = {'Wavelength': [400e-9], 'Polarization': [0]} scatSet = ScatSet(Scatterer=Sphere, kwargs=scatKwargs) sourceSet = SourceSet(Source=PlaneWave, kwargs=sourceKwargs) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet, DetectorSet=None) Data = Experiment.Get('Qsca') if Plot: Data.Plot(y='Qsca', x='Diameter') if Save: from pathlib import Path dir = f'docs/images/{Path(__file__).stem}' Data.SaveFig(Directory=dir, y='Qsca', x='Diameter')
def run(Plot, Save): import numpy as np from PyMieSim import Material from PyMieSim.Scatterer import ShellSphere from PyMieSim.Source import PlaneWave from PyMieSim.Detector import Photodiode from PyMieSim.Experiment import ScatSet, SourceSet, Setup, DetectorSet scatKwargs = { 'CoreDiameter': np.geomspace(10e-09, 600e-9, 500), 'ShellWidth': [200e-9, 400e-9], 'CoreIndex': [1], 'ShellIndex': [1.3], 'nMedium': 1 } sourceKwargs = {'Wavelength': [200e-9], 'Polarization': [0]} scatSet = ScatSet(Scatterer=ShellSphere, kwargs=scatKwargs) sourceSet = SourceSet(Source=PlaneWave, kwargs=sourceKwargs) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet) Data = Experiment.Get(Input=['Qsca', 'Qback']) print(Data) if Plot: Data.Plot(y=['Qsca'], x='Core diameter', Scale='lin') if Save: from pathlib import Path dir = f'docs/images/{Path(__file__).stem}' Data.SaveFig(Directory=dir, y=['Qsca'], x='Core diameter', Scale='lin')
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup, LPModeSet from PyMieSim import Measure from PyMieSim.Materials import BK7 Wavelength = np.linspace(950e-9, 1050e-9, 300) Diameter = np.linspace(100e-9, 8000e-9, 5) detecSet = LPModeSet(Mode=(1, 1), NA=[0.05, 0.1, 0.2], Phi=-180, Gamma=0, Filter=None, Sampling=300) scatSet = SphereSet(Diameter=Wavelength, Material=BK7, nMedium=1) sourceSet = SourceSet(Wavelength=Wavelength, Polarization=0, Amplitude=1) Experiment = Setup(scatSet, sourceSet, detecSet) Data = Experiment.Get(Measure.Coupling) Data.Plot(y=Measure.Coupling, x='Diameter', Std='Wavelength')
def run(Plot, Save): import numpy as np from PyMieSim import Material from PyMieSim.Scatterer import Sphere from PyMieSim.Source import PlaneWave from PyMieSim.Detector import Photodiode from PyMieSim.Experiment import ScatSet, SourceSet, Setup, DetectorSet scatKwargs = { 'Diameter': 500e-9, 'Material': Material('BK7'), 'nMedium': [1] } sourceKwargs = { 'Wavelength': np.linspace(400e-9, 1000e-9, 50), 'Polarization': [0] } detecKwargs = { 'NA': 0.2, 'Sampling': 300, 'GammaOffset': 0, 'PhiOffset': [0, 30, 60], 'CouplingMode': 'Centered' } detecSet = DetectorSet(Detector=Photodiode, kwargs=detecKwargs) scatSet = ScatSet(Scatterer=Sphere, kwargs=scatKwargs) sourceSet = SourceSet(Source=PlaneWave, kwargs=sourceKwargs) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet, DetectorSet=detecSet) Data = Experiment.Get('Coupling') print(Data) if Plot: Data.Plot(y='Coupling', x='wavelength') if Save: from pathlib import Path dir = f'docs/images/{Path(__file__).stem}' Data.SaveFig(Directory=dir, y='Coupling', x='wavelength')
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup from PyMieSim import Measure scatSet = SphereSet(Diameter=[200e-9, 150e-9], Index=[3, 4], nMedium=[1]) sourceSet = SourceSet(Wavelength=np.linspace(400e-9, 1000e-9, 500), Polarization=[0], Amplitude=[1]) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet) Data = Experiment.Get(Input=[Measure.Qsca]) Data.Mean('Index').Plot(y=Measure.Qsca, x='Wavelength')
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup from PyMieSim.Materials import Gold, Silver, Aluminium from PyMieSim import Measure scatSet = SphereSet(Diameter=np.linspace(1e-09, 800e-9, 300), Material=[Silver, Gold, Aluminium], nMedium=1) sourceSet = SourceSet(Wavelength=400e-9, Polarization=0, Amplitude=1) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet) Data = Experiment.Get(Input=[Measure.Qabs]) Data.Plot(y=[Measure.Qabs], x='Diameter', yLog=True)
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup from PyMieSim.Materials import FusedSilica from PyMieSim import Measure Diameter = np.geomspace(6.36e-09, 10000e-9, 1500) Wavelength = [500e-9, 1000e-9, 1500e-9] scatSet = SphereSet(Diameter=Diameter, Material=FusedSilica, nMedium=1) sourceSet = SourceSet(Wavelength=Wavelength, Polarization=30, Amplitude=1) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet) Data = Experiment.Get(Measure.Qsca) Data.Plot(y=Measure.Qsca, x='Diameter')
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup from PyMieSim import Measure scatSet = SphereSet( Diameter = np.linspace(100e-9, 10000e-9, 400), Index = [1.4, 1.5], nMedium = [1] ) sourceSet = SourceSet( Wavelength = 400e-9, Polarization = [0, 90], Amplitude = 1) Experiment = Setup(ScattererSet = scatSet, SourceSet = sourceSet) Data = Experiment.Get(Input=[Measure.Qext]) Data.Plot(y=Measure.Qext, x='Diameter')
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup, PhotodiodeSet from PyMieSim.Materials import FusedSilica from PyMieSim import Measure scatSet = SphereSet(Diameter=800e-9, Index=np.linspace(1.3, 1.9, 1500), nMedium=1) sourceSet = SourceSet(Wavelength=[500e-9, 1000e-9, 1500e-9], Polarization=30, Amplitude=1) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet) Data = Experiment.Get([Measure.Qsca]) Data.Plot(y=Measure.Qsca, x='Index')
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup from PyMieSim.Materials import Gold, Silver, Aluminium from PyMieSim import Measure Diameter = np.linspace(400e-9, 1400e-9, 50) Wavelength = np.linspace(200e-9, 1800e-9, 100) scatSet = SphereSet(Diameter = Diameter, Material = [Silver, Gold, Aluminium], nMedium = 1 ) sourceSet = SourceSet( Wavelength = Wavelength, Polarization = 0, Amplitude = 1) Experiment = Setup(scatSet, sourceSet) Data = Experiment.Get(Measure.Qabs) Data.Plot(y=[Measure.Qabs], x='Wavelength', yLog=True, Std='Diameter')
def run(Plot, Save): import numpy as np from PyMieSim import Material from PyMieSim.Scatterer import Sphere from PyMieSim.Source import PlaneWave from PyMieSim.Detector import Photodiode from PyMieSim.Experiment import ScatSet, SourceSet, Setup, DetectorSet scatKwargs = { 'Diameter': np.geomspace(6.36e-09, 10000e-9, 500), 'Material': [Material('Silver')], 'nMedium': [1] } sourceKwargs = { 'Wavelength': [400e-9, 900e-9, 1200e-9, 1600e-9], 'Polarization': [0] } scatSet = ScatSet(Scatterer=Sphere, kwargs=scatKwargs) sourceSet = SourceSet(Source=PlaneWave, kwargs=sourceKwargs) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet) Data = Experiment.Get(Input=['Qsca', 'Qabs']) MeanData = Data.Mean('wavelength') print(MeanData) if Plot: Data.Plot(y='Qabs', x='diameter', Scale='log') if Save: from pathlib import Path dir = f'docs/images/{Path(__file__).stem}' Data.SaveFig(Directory=dir, y='Qabs', x='diameter', Scale='log')
def run(): import numpy as np from PyMieSim.Experiment import SourceSet, Setup, CoreShellSet from PyMieSim.Materials import BK7, Silver from PyMieSim import Measure CoreDiameter = np.geomspace(100e-09, 600e-9, 400) Wavelength = [800e-9, 900e-9, 1000e-9] scatSet = CoreShellSet(CoreDiameter = CoreDiameter, ShellDiameter = 800e-9, CoreMaterial = Silver, ShellMaterial = BK7, nMedium = 1 ) sourceSet = SourceSet(Wavelength = Wavelength, Polarization = 0, Amplitude = 1) Experiment = Setup(scatSet, sourceSet) Data = Experiment.Get([Measure.Qsca, Measure.Qback]) Data.Plot(y=[Measure.Qback, Measure.Qsca,], x='CoreDiameter', yLog=True)
def run(): import numpy from PyMieSim.Experiment import SphereSet, SourceSet, Setup, PhotodiodeSet from PyMieSim import Measure from PyMieSim.Materials import BK7 Diameter = numpy.linspace(100e-9, 3000e-9, 600) NA = [0.1, 0.05] scatSet = SphereSet(Diameter=Diameter, Material=BK7, nMedium=1.0) sourceSet = SourceSet(Wavelength=1200e-9, Polarization=90, Amplitude=1) detecSet = PhotodiodeSet(NA=NA, Phi=-180.0, Gamma=0.0, Sampling=600, Filter=None) Experiment = Setup(scatSet, sourceSet, detecSet) Data = Experiment.Get([Measure.Coupling]) Data.Plot(y=[Measure.Coupling], x='Diameter', yLog=False, Normalize=True)
def run(): import numpy as np from PyMieSim.Experiment import SphereSet, SourceSet, Setup, PhotodiodeSet from PyMieSim.Materials import BK7 from PyMieSim import Measure Phi = np.linspace(-180, 180, 500) NA = [0.05, 0.1, 0.2, 0.3] detecSet = PhotodiodeSet(NA=NA, Phi=Phi, Gamma=0, Sampling=300, Filter=None) scatSet = SphereSet(Diameter=600e-9, Material=BK7, nMedium=1) sourceSet = SourceSet(Wavelength=900e-9, Polarization=0, Amplitude=1) Experiment = Setup(scatSet, sourceSet, detecSet) Data = Experiment.Get(Measure.Coupling) Data.Plot(y=Measure.Coupling, x='Phi')
def step03(self): scatSet = CylinderSet(Diameter = 200e-9, Index = 4, nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(400e-9, 1000e-9, 100), Polarization = 0, Amplitude = 1) DetecSet1 = PhotodiodeSet(NA = 0.1, Phi = 30, Gamma = 0, Filter = None, CouplingMode = "Point", Sampling = 300) self.ExpSet1 = Setup(ScattererSet = scatSet, SourceSet = sourceSet, DetectorSet = DetecSet1)
def run(Plot, Save): return import numpy as np from PyMieSim import Material from PyMieSim.Scatterer import Sphere from PyMieSim.Detector import Photodiode, LPmode from PyMieSim.Source import PlaneWave from PyMieSim.Experiment import ScatSet, SourceSet, Setup, DetectorSet DiameterList = np.linspace(100e-9, 1000e-9, 200) Detector0 = Photodiode(NA=0.1, Sampling=300, GammaOffset=20, PhiOffset=0, CouplingMode='Centered') scatKwargs = { 'Diameter': np.linspace(400e-9, 2000e-9, 200), 'Material': Material('BK7'), 'nMedium': [1] } sourceKwargs = {'Wavelength': 1e-6, 'Polarization': [0]} Detector0 = Photodiode(NA=2.0, Sampling=300, GammaOffset=0, PhiOffset=0, CouplingMode='Centered') detecSet = DetectorSet([Detector0]) scatSet = ScatSet(Scatterer=Sphere, kwargs=scatKwargs) sourceSet = SourceSet(Source=PlaneWave, kwargs=sourceKwargs) Experiment = Setup(ScattererSet=scatSet, SourceSet=sourceSet, DetectorSet=detecSet) # Metric can be "max" # "min" # "mean" # "std+RI" # "std+Diameter" # "std+Polarization" # "std+Wavelength" # "std+Detector" # "monotonic+RI" # "monotonic+Diameter" # "monotonic+Polarization" # "monotonic+Wavelength" # "monotonic+Detector" Opt = Experiment.Optimize(Setup=Experiment, Metric='mean', Parameter=['PhiOffset'], Optimum='Maximum', MinVal=[1e-5], MaxVal=[180], WhichDetector=0, X0=[0.6], MaxIter=350, Tol=1e-4, FirstStride=30) print(Opt.Result) df = Experiment.Coupling(AsType='dataframe') if Plot: df.Plot(y='Coupling', x='Diameter') # can be "Couplimg" or "STD"
def test01(self): global sourceSet sourceSet = SourceSet(Source=PlaneWave, kwargs=sourceKwargs) print('<SourceSet> initialisation passed')
import unittest from pyface.api import GUI import numpy as np from PyMieSim.Detector import LPmode, Photodiode, IntegratingSphere from PyMieSim.Experiment import SphereSet, Setup, SourceSet, PhotodiodeSet, LPModeSet, CylinderSet, CoreShellSet from PyMieSim.Materials import * from .utils import * from PyMieSim import Measure PLOTTIME = 2000 # one seconde scatSet = CoreShellSet(CoreDiameter = 100e-9, ShellDiameter = 200e-9, CoreIndex = 1.3, ShellIndex=1.4, nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(400e-9, 1000e-9, 100), Polarization = 0, Amplitude = 1) DetecSet1 = LPModeSet(Mode = (0,1), NA = 0.3, Phi = 0, Gamma = 0, Filter = None, CouplingMode = "Point", Sampling = 300) ExpSet2 = Setup(ScattererSet = scatSet, SourceSet = sourceSet, DetectorSet = DetecSet1) class ExperimentTestCase(unittest.TestCase, BaseStepTest): #___________________________________SPHERE________________________________________________________________ @TestFactory('Initializing coefficient experiment') def step00(self): print("\nUnittest: <Experiment>" + '='*100) scatSet = SphereSet(Diameter = 200e-9, Index = 4, nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(400e-9, 1000e-9, 100), Polarization = 0, Amplitude = 1) self.ExpSet0 = Setup(ScattererSet = scatSet, SourceSet = sourceSet) @TestFactory('Experiment Efficiencies computing')
def step09(self): scatSet = SphereSet(Diameter = 200e-9, Material = BK7, nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(400e-9, 1000e-9, 100), Polarization = 0, Amplitude = 1) self.ExpSet = Setup(ScattererSet = scatSet, SourceSet = sourceSet)
def step06(self): scatSet = CoreShellSet(CoreDiameter = 100e-9, ShellDiameter = 200e-9, CoreIndex = 1.3, ShellIndex=1.4, nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(400e-9, 1000e-9, 100), Polarization = 0, Amplitude = 1) DetecSet1 = LPModeSet(Mode = (0,1), NA = 0.3, Phi = 0, Gamma = 0, Filter = None, CouplingMode = "Point", Sampling = 300) self.ExpSet2 = Setup(ScattererSet = scatSet, SourceSet = sourceSet, DetectorSet = DetecSet1)
def step15(self): scatSet = CylinderSet(Diameter = 200e-9, Material = [BK7, SI], nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(600e-9, 800e-9, 100), Polarization = 0, Amplitude = 1) self.ExpSet = Setup(ScattererSet = scatSet, SourceSet = sourceSet)
def step00(self): print("\nUnittest: <Experiment>" + '='*100) scatSet = SphereSet(Diameter = 200e-9, Index = 4, nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(400e-9, 1000e-9, 100), Polarization = 0, Amplitude = 1) self.ExpSet0 = Setup(ScattererSet = scatSet, SourceSet = sourceSet)
def step18(self): scatSet = CoreShellSet(CoreDiameter = 100e-9, ShellDiameter = 200e-9, CoreMaterial = [BK7, SI], ShellMaterial= [BK7], nMedium = 1) sourceSet = SourceSet(Wavelength = np.linspace(600e-9, 800e-9, 100), Polarization = 0, Amplitude = 1) self.ExpSet = Setup(ScattererSet = scatSet, SourceSet = sourceSet)