e0 = 15.0 # keV imgSize = 512 # pixel size for images imgSzUm = 5.0 # image size in microns vmrlEl = 250 # number of el for VMRL dose = pc * lt # nA sec title = "%g-um-Al2O3-on-%g-um-Ag-on-PET-%gkV" % (tFlm, tBlk, e0) gitDir = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/mc3Scripts" prjDir = gitDir + relPrj datDir = prjDir + "/dat" simDir = datDir + "/sim" csvDir = datDir + "/csv" msaDir = datDir + "/msa" jmg.ensureDir(datDir) jmg.ensureDir(csvDir) jmg.ensureDir(simDir) jmg.ensureDir(msaDir) wd = gitDir + relPrj os.chdir(wd) pyrDir = wd + "/simCoatedOverBlock Results" det = findDetector("Oxford p4 05eV 2K") # det = findDetector("Si(Li)") # test with default print(det) pet = epq.Material(epq.Composition([epq.Element.C,epq.Element.H,epq.Element.O],[0.62502,0.04196,0.069042]),epq.ToSI.gPerCC(1.37)) pet.setName("PET") al2o3 = epq.Material(epq.Composition([epq.Element.Al,epq.Element.O],[0.5293,0.4707]),epq.ToSI.gPerCC(3.95))
bremF = True # include continuum fluorescence pc = 2.5 # nA lt = 100.0 # sec e0 = 15.0 # keV imgSize = 512 # pixel size for images imgSzUm = 5.0 # image size in microns vmrlEl = 40 # number of el for VMRL dose = pc * lt # nA sec title = "%gnmPd-%gnm-Cu-%gnm-Ag-on-PET-%gkV" % (tNmPd, tNmCu, tNmAg, e0) gitDir = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/sim-bilayer-on-sub" datDir = gitDir + relPrj + "/msa" csvDir = gitDir + relPrj + "/csv" simDir = gitDir + relPrj + "/" jmg.ensureDir(simDir) jmg.ensureDir(datDir) wd = gitDir + relPrj + "/py" os.chdir(wd) pyrDir = wd + "/sim-trilayer-on-sub Results" det = findDetector("Oxford p4 05eV 2K") print(det) if 'defaultXtraParams' not in globals(): defaultXtraParams = {} if 'defaultBremFluor' not in globals(): defaultBremFluor = False if 'defaultCharFluor' not in globals(): defaultCharFluor = False
out = { "C": (round(cInt[0]/dose, digits), round(cInt[1]/dose, digits)), "Si": (round(siInt[0]/dose, digits), round(siInt[1]/dose, digits)) } return out start = time.time() gitHom = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/mc3Scripts" prjDir = gitHom + relPrj datDir = prjDir + "/dat" csvDir = datDir + "/csv" jmg.ensureDir(datDir) jmg.ensureDir(csvDir) os.chdir(prjDir) rptDir = prjDir + '/simulate-C-on-Si Results/' det = findDetector("Oxford p4 05eV 2K") e0 = 5 # kV nTraj = 10000 # trajectories lt = 100 # sec pc = 0.25 # nA tNmStepC = 10 tNmCMax = 100
e0 = 15.0 # keV imgSize = 512 # pixel size for images imgSzUm = 5.0 # image size in microns vmrlEl = 250 # number of el for VMRL dose = pc * lt # nA sec title = "%g-um-Al2O3-on-%g-um-Ag-on-PET-%gkV" % (tFlm, tBlk, e0) gitDir = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/mc3Scripts" prjDir = gitDir + relPrj datDir = prjDir + "/dat" simDir = datDir + "/sim" csvDir = datDir + "/csv" msaDir = datDir + "/msa" jmg.ensureDir(datDir) jmg.ensureDir(csvDir) jmg.ensureDir(simDir) jmg.ensureDir(msaDir) wd = gitDir + relPrj os.chdir(wd) pyrDir = wd + "/simCoatedOverBlock Results" det = findDetector("Oxford p4 05eV 2K") # det = findDetector("Si(Li)") # test with default print(det) pet = epq.Material( epq.Composition([epq.Element.C, epq.Element.H, epq.Element.O], [0.62502, 0.04196, 0.069042]), epq.ToSI.gPerCC(1.37))
import java.util as jutil import java.io as jio import java.nio.charset as cs import string start = time.time() homDir = os.environ['HOME'] homDir = homDir.replace('\\', '/') rPrjDir = "/Documents/git/dtsa2Scripts" relIn = rPrjDir + "/utility" relOut = rPrjDir + "/sim-Eagle-XG" inDir = homDir + relIn outDir = homDir + relOut jmg.ensureDir(outDir) rptDir = inDir + '/sim-C-ctd-CorningEagleXG-15kV Results/' spcDir = outDir + "/sim" simDir = outDir + "/sim" jmg.ensureDir(spcDir) jmg.ensureDir(simDir) bVerbose = False det = findDetector("Oxford p4 05eV 4K") e0 = 15.0 # kV nTraj = 200 # trajectories lt = 100 # sec pc = 5.0 # nA imgSize = 512 # pixel size for images
import shutil import time import java.util as jutil import java.io as jio import java.nio.charset as cs import string start = time.time() gitHom = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts" prjDir = gitHom + relPrj wrkDir = prjDir + "/mc3Scripts" csvDir = wrkDir + "/dat/csv" jmg.ensureDir(wrkDir) os.chdir(wrkDir) rptDir = wrkDir + '/simulateCoatedSiO2 Results/' spcDir = wrkDir + "/dat/spc" jmg.ensureDir(spcDir) det = findDetector("Oxford p4 05eV 2K") e0 = 5 # kV nTraj = 10000 # trajectories lt = 60 # sec pc = 0.25 # nA tNmTa = 2 tNmC = 10
import glob import math import shutil import time import java.io as jio import dtsa2.jmGen as jmg edsDir = os.environ['EDS_ROOT'] relDir = "/Oxford/2014-09-12-Cu-Si" wd = edsDir + relDir + "/py" os.chdir(wd) pyrDir="./anaCu5eV2K Results" datDir = edsDir + relDir + "/reports" spcDir = datDir + "/Cu-pt6-5eV-2K" rptDir = datDir + "/csv" jmg.ensureDir(rptDir) rptFil = rptDir + "/cps-per-nA-CuL-Oxford-p6-05eV-2K.csv" sDet = "Oxford p6 05eV 2K" det = findDetector(sDet) wrkDist = 5.0 # mm stdBas = datDir + "/stds" jmg.ensureDir(stdBas) stdBas = stdBas + "/" + sDet jmg.ensureDir(stdBas) lE0 = [5 , 7 , 10 , 15 , 20 , 30] lPc = [0.46, 0.60, 0.72, 0.83, 0.78, 0.78]
e0 = 4.0 det = findDetector("Oxford p4 05eV 2K") lThNm = [ 0.1, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0, 115.0, 120.0, 125.0, 130.0, 135.0, 140.0, 145.0, 150.0 ] nTraj = 50000 # trajectories dose = 5000 # nA-sec nDigits = 6 # directories gitDir = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/utility" prjDir = gitDir + relPrj resDir = prjDir + '/sim-zno-on-si-4kV' jmg.ensureDir(resDir) rptDir = prjDir + '/sim-zno-on-si-4kV Results/' DataManager.clearSpectrumList() start = time.time() zno = material("ZnO", density=5.61) si = material("Si", density=2.33) xrts = [] trs = mc3.suggestTransitions(zno, e0) for tr in trs: xrts.append(tr) xtraParams = {} xtraParams.update(mc3.configureXRayAccumulators(xrts, True, True, True))
import time import java.util as jutil import java.io as jio import java.nio.charset as cs import string start = time.time() gitHom = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts" prjDir = gitHom + relPrj wrkDir = prjDir + "/sim-k496" jmg.ensureDir(wrkDir) os.chdir(wrkDir) przDir = wrkDir + '/prz/' # Save spectra in sim directory jmg.ensureDir(przDir) # jmg.ensureDir(rptDir) det = findDetector("Oxford p4 05eV 4K") e0 = 7 # kV nSteps = e0*100 # steps rho = 2.6 # sec l_comps = [epq.Element.Al, epq.Element.Mg, epq.Element.P, epq.Element.O] l_mfs = [ 0.06470, 0.06650, 0.32900, 0.5390] k496 = jmg.create_material_from_mf(l_comps, l_mfs, 2.6, "K-496")
lt = 100 # spectrum live time (sec) detNam = "Oxford p4 05eV 2K" # detector name imgSzPx = 512 imgSzUm = 2.0 beamSzNm = 1.0 tNmMaxC = 100 tNmStepC = 2 homDir = os.environ['GIT_HOME'] relDir = "/dtsa2Scripts/estThickC" inDir = homDir + relDir + "/py/dtsa2" outDir = homDir + relDir + "/dat/csv" jmg.ensureDir(outDir) rptDir = inDir + '/simCarbonOnSi Results/' def anaConSi(spc, det, digits=2, display=False): """anaConSi Strip continuum and analyze a spectrum for C, on CuL Parameters ---------- spc: A DTSA-II scriptable spectrum The spectrum to process det: The detector
out = { "C": (round(cInt[0]/dose, digits), round(cInt[1]/dose, digits)), "Si": (round(siInt[0]/dose, digits), round(siInt[1]/dose, digits)) } return out start = time.time() gitHom = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts" prjDir = gitHom + relPrj wrkDir = prjDir + "/mc3Scripts" spcDir = prjDir + "/spc/Sirion/Oxford-P4-05eV-2K/Si-Cal-5kV" csvDir = wrkDir + "/dat/csv" jmg.ensureDir(wrkDir) os.chdir(wrkDir) rptDir = wrkDir + '/analyze-C-on-Si-spc Results/' det = findDetector("Oxford p4 05eV 2K") e0 = 5 # kV DataManager.clearSpectrumList() lPICmu = [] # an array for mean C peak integral lPICuc = [] # an array for C peak integral uncertainty lPISimu = [] # an array for mean Si peak integral lPISiuc = [] # an array for Si peak integral uncertainty
import time import datetime det = findDetector("Oxford p4 05eV 2K") e0 = 10 # kV nTraj = 10000 # trajectories lt = 500 # sec pc = 5.0 # nA dose = pc * lt # na-sec" bSaveSpc = True bVerbose = False lNmCsim = [5.0, 10.0, 15.0, 20.0, 22.0, 25.0, 30.0, 35.0, 40.0] basePath = "C:/Users/johnr/Documents/git/dtsa2scripts/sim-multilayer-calc-KRs/" jmg.ensureDir(basePath) csvFil = basePath + "/dtsa2-C-on-Fe3C-%g-kV-kratios-%g-traj.csv" % (e0, nTraj) def sim_amc_coated_mat(mat, det, e0, nTraj, lt=100, pc=1.0, tc=20.0): """sim_amc_coated_mat(mat, det, e0, nTraj, lt=100, pc=1.0, tc=20.0) Use mc3 multilayer simulation to simulate an am-C-ctd specimen Parameters ---------- mat - a dtsa material. Note the material must have an associated density. It should have a useful name. det - a dtsa detector Here is where we get the detector properties and calibration e0 - float
pc = 1.0 # probe current (nA) lt = 100 # spectrum live time (sec) detNam = "Oxford p4 05eV 2K" # detector name imgSzPx = 512 imgSzUm = 2.0 beamSzNm = 1.0 tNmMaxC = 100 tNmStepC = 2 homDir = os.environ['GIT_HOME'] relDir = "/dtsa2Scripts/estThickC" inDir = homDir + relDir + "/py/dtsa2" outDir = homDir + relDir + "/dat/csv" jmg.ensureDir(outDir) rptDir = inDir + '/simCarbonOnSi Results/' def anaConSi(spc, det, digits=2, display=False): """anaConSi Strip continuum and analyze a spectrum for C, on CuL Parameters ---------- spc: A DTSA-II scriptable spectrum The spectrum to process det: The detector
vmrlEl = 50 przDepUm = 1.0 imgSzUm = 1.0 imgSize = 512 # pix dose = 5000 # nA-sec nDigits = 6 # directories gitDir = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/utility" prjDir = gitDir + relPrj resDir = prjDir + '/sim-raft-on-zno-on-si' jmg.ensureDir(resDir) rptDir = prjDir + '/sim-raft-on-zno-on-si Results/' spcDir = gitDir + '/dtsa2Scripts/spc/sim-raft-on-zno-on-si' jmg.ensureDir(spcDir) DataManager.clearSpectrumList() start = time.time() # define materials zno = material("ZnO", density=5.61) si = material("Si", density=2.33) raft = material("C17H35O5S2P1", density=2.0) raft.setName("RAFT polymer") # specify the x-ray transitions
import time import java.util as jutil import java.io as jio import java.nio.charset as cs import string start = time.time() gitHom = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts" prjDir = gitHom + relPrj wrkDir = prjDir + "/mc3Scripts" csvDir = wrkDir + "/dat/csv" jmg.ensureDir(wrkDir) os.chdir(wrkDir) rptDir = wrkDir + '/simulateCoatedEagleXG Results/' spcDir = wrkDir + "/dat/spc" simDir = wrkDir + "/dat/sim" jmg.ensureDir(spcDir) jmg.ensureDir(simDir) jmg.ensureDir(spcDir) print(simDir) det = findDetector("Oxford p4 05eV 2K") e0 = 7 # kV
out = { "C": (round(cInt[0] / dose, digits), round(cInt[1] / dose, digits)), "Si": (round(siInt[0] / dose, digits), round(siInt[1] / dose, digits)) } return out start = time.time() gitHom = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/mc3Scripts" prjDir = gitHom + relPrj datDir = prjDir + "/dat" csvDir = datDir + "/csv" jmg.ensureDir(datDir) jmg.ensureDir(csvDir) os.chdir(prjDir) rptDir = prjDir + '/simulate-C-on-Si Results/' det = findDetector("Oxford p4 05eV 2K") e0 = 5 # kV nTraj = 10000 # trajectories lt = 100 # sec pc = 0.25 # nA tNmStepC = 10 tNmCMax = 100 dose = pc * lt # na-sec"
import dtsa2.jmMC3 as jm3 det = findDetector("Oxford p4 05eV 4K") e0 = 15 # kV nTraj = 10000 # trajectories lt = 500 # sec pc = 5.0 # nA dose = pc * lt # na-sec" bSaveSpc = True gitHomeDir = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/sim-K309-quant/" datDir = gitHomeDir + relPrj print(gitHomeDir) print(datDir) """ relPrj = "/Documents/work/dtsa2/sim-C-on-Si-7kV" datDir = homDir + relPrj + "/msa-%g" % (nTraj) jmg.ensureDir(datDir) rptDir = homDir + relPrj + "/sim-C-on-Si-7kV Results" csvFil = homDir + relPrj + "/dtsa2-C-on-Si-%g-kV-kratios-%g-traj.csv" % (e0, nTraj) """ start = time.time() DataManager.clearSpectrumList() """ From N. Ritchie 2019-12-16 K309 Density 3 g/cm³
e0 = 20 # keV pc = 2.5 # nA lt = 100.0 # sec imgSzUm = 5.0 # physical size of images in mucrons imgSizePx = 512 # size of images in pixels nTraj = 1000 # number of trajectories vmrlEl = 40 # number of el for VMRL dose = pc * lt # nA sec gitHom = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/mc3Scripts" prjDir = gitHom + relPrj datDir = prjDir + "/dat" simDir = datDir + "/sim" jmg.ensureDir(datDir) jmg.ensureDir(simDir) os.chdir(prjDir) pyrDir = prjDir + "/mc3SphereOnSubstrate Results" al2o3 = epq.Material( epq.Composition([epq.Element.Al, epq.Element.O], [0.5293, 0.4707]), epq.ToSI.gPerCC(3.95)) al2o3.setName("Al2O3") c = epq.Material(epq.Composition([epq.Element.C], [1.0]), epq.ToSI.gPerCC(2.62)) c.setName("C") xrts = [transition("Al K-L3"), transition("O K-L3"), transition("C K-L3")]
import dtsa2.mcSimulate3 as mc3 import dtsa2.jmGen as jmg import dtsa2.jmMC3 as jm3 det = findDetector("Oxford p4 05eV 4K") e0 = 15 # kV nTraj = 10000 # trajectories lt = 500 # sec pc = 5.0 # nA dose = pc * lt # na-sec" bSaveSpc = True gitHomeDir = os.environ['GIT_HOME'] relPrj = "/dtsa2Scripts/sim-srm_1155/" datDir = gitHomeDir + relPrj jmg.ensureDir(datDir) print(gitHomeDir) print(datDir) srm1555_path = datDir + "sim-srm_1155.msa" """ relPrj = "/Documents/work/dtsa2/sim-C-on-Si-7kV" datDir = homDir + relPrj + "/msa-%g" % (nTraj) jmg.ensureDir(datDir) rptDir = homDir + relPrj + "/sim-C-on-Si-7kV Results" csvFil = homDir + relPrj + "/dtsa2-C-on-Si-%g-kV-kratios-%g-traj.csv" % (e0, nTraj) """ start = time.time() now = datetime.now() date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
xtraParams.update(mc3.configureXRayAccumulators(xrts, True, True, True)) sim = mc3.multiFilm(layers, det, e0, withPoisson=True, nTraj=nTraj, dose=dose, sf=True, bf=True, xtraParams=xtraParams) sName = "%g-nm-amC-on-%s-%g-kV" % (tc, mat, e0) sim.rename(sName) sim.getProperties().setTextProperty(epq.SpectrumProperties.SpectrumComment, amcThickComment) return sim start = time.time() projDir = homDir + "\\OneDrive\\Documents\\git\\dtsa2scripts\\sim-Pyrex\\" print(projDir) jmg.ensureDir(projDir) spc = sim_amc_coated_mat(std, det, e0, nTraj, lt=100, pc=1.0, tc=20.0) display(spc) # rptDir = homDir + relPrj + "/sim-C-on-Si-7kV Results" # csvFil = homDir + relPrj + "/dtsa2-C-on-Si-%g-kV-kratios-%g-traj.csv" % (e0, nTraj) ###
import glob import math import shutil import time import java.io as jio import dtsa2.jmGen as jmg edsDir = os.environ['EDS_ROOT'] relDir = "/Oxford/QM14-04-05A-Bauer" wd = edsDir + relDir + "/reports/py" os.chdir(wd) pyrDir="./anaSiBeamCal Results" datDir = edsDir + relDir + "/reports" spcDir = datDir + "/Si-pt6-5eV-2K" rptDir = datDir + "/csv" jmg.ensureDir(rptDir) rptFil = rptDir + "/probeCurrent.csv" sDet = "Oxford p6 05eV 2K" det = findDetector(sDet) wrkDist = 5.0 # mm spcBas = datDir + "/msa" jmg.ensureDir(spcBas) lNames = ["Si-7kV-Beam-Calib"] lPc = [] iCnt = 0
umLine = nmLinWid * 1.0e-03 linMat = "Pd" blkMat = "Cu" lin = epq.Material(epq.Composition([epq.Element.Pd],[1.0],"Pd"), epq.ToSI.gPerCC(12.023)) blk = epq.Material(epq.Composition([epq.Element.Cu],[1.0],"Cu"), epq.ToSI.gPerCC(8.96)) det = findDetector("Oxford p4 05eV 2K") print(det) homDir = os.environ['HOME'] relPrj = "/work/proj/QM15-04-07A-Ciminelli" simDir = homDir + relPrj + "/dat/simDir" csvDir = homDir + relPrj + "/dat/csv" jmg.ensureDir(simDir) jmg.ensureDir(csvDir) # wd = homDir + relPrj + "/py/dtsa" wd = homDir + relPrj + "/py/dtsa" os.chdir(wd) pyrDir = wd + "/simPdLineInCuMatrix Results" #start clean DataManager.clearSpectrumList() # xrts=mc3.suggestTransitions("PdCu") xrts = [epq.XRayTransition(epq.Element.Cu, epq.XRayTransition.LA1), epq.XRayTransition(epq.Element.Pd, epq.XRayTransition.LA1)] xtraParams={}
import java.nio.charset as cs import string start = time.time() homDir = os.environ['HOME'] homDir = homDir.replace('\\','/') rPrjDir = "/Documents/git/dtsa2Scripts" relIn = rPrjDir + "/utility" relOut = rPrjDir + "/sim-Eagle-XG" inDir = homDir + relIn outDir = homDir + relOut jmg.ensureDir(outDir) rptDir = inDir + '/sim-C-ctd-CorningEagleXG-15kV Results/' spcDir = outDir + "/sim" simDir = outDir + "/sim" jmg.ensureDir(spcDir) jmg.ensureDir(simDir) bVerbose = False det = findDetector("Oxford p4 05eV 4K") e0 = 15.0 # kV nTraj = 20000 # trajectories lt = 100 # sec pc = 5.0 # nA imgSize = 512 # pixel size for images