📄 loasisvac.inp
字号:
loasisVac.inp{Here we make an initial attempt to model some aspects ofthe laser plasma experiments in the l'OASIS laboratory ofWim Leemans et al. at LBNL.Pulse with transverse Gaussian profile and y polarization is launched fromthe left boundary. Cartesian geometry, no plasma initially, background of neutral H gas.This is derived from loasisHe.inp -- here we propagate the pulse throughvacuum.}Variables{// General numerical parameters PI = 3.14159// **********************************************************************// General physical parameters// ********************************************************************** electronMass = 9.1094e-31 electronCharge = -1.6022e-19 permit = 8.8542e-12 speedLight = 2.9979e8 speedLight2 = speedLight*speedLight electronCharge2 = electronCharge*electronCharge qOverM = electronCharge/electronMass ionCharge = -electronCharge unitMassMKS = electronMass / 5.48579903e-04 hydrogenMassNum = 1.00797 hydrogenMass = unitMassMKS * hydrogenMassNum HeMassNum = 4.0026 HeMass = unitMassMKS * HeMassNum// **********************************************************************// Laser pulse parameters - y polarization// **********************************************************************// We are modeling a laser pulse with wavelength of 0.8 micron and// FHWM pulse length of 50 fs to 200 fs, and a peak intensity of// 10^16 to 10^18 W/cm^2// peakLaserIntensity = 1e+17 // W/cm^2 pulseLengthFWHM = 50.e-15 laserWavelength = 0.8e-06 laserFrequency = 2.*PI*speedLight/laserWavelength // We must convert the intensity to MKS units peakLaserIntensityMKS = peakLaserIntensity * 1.0e+04 peakElectricField = sqrt(2.*peakLaserIntensityMKS/speedLight/permit)// **********************************************************************// Grid parameters// **********************************************************************// We must resolve the laser wavelength Nx = 512 Ny = 256 numGridsPerWavelength = 16 dx = laserWavelength / numGridsPerWavelength gridSizeRatio = 10 dy = dx * gridSizeRatio Lx = Nx * dx Ly = Ny * dy d = 1. / sqrt( 1./(dx*dx) + 1./(dy*dy) ) timeStep = 0.7 * d / speedLight// **********************************************************************// More laser parameters:// **********************************************************************// We model the laser pulse envelope as a Gaussian (nPulseShape=1). nPulseShape = 1 pulseLength = pulseLengthFWHM * speedLight// Here we specify the waist size, Rayleigh length, etc.// These parameters are for a pulse with y-polarization. waistSize = 6.0e-06 angFreq = laserFrequency angFreq2 = angFreq * angFreq waveVector = sqrt( (angFreq2-elecPlasmaFreq*elecPlasmaFreq) / speedLight2 ) rayleighLength = waistSize * waistSize * waveVector / 2. waistLocation = 3.0 * rayleighLength// This is the desired delay time before the moving window algorithm activates. movingWindowDelay = (Nx-10) * dx / speedLight}Region{Grid{ J = Nx x1s = 0.0 x1f = Lx n1 = 1.0 K = Ny x2s = 0.0 x2f = Ly n2 = 1.0 Geometry = 1}Control{ dt = timeStep// Turn on the moving window algorithm. movingWindow = 1 shiftDelayTime = movingWindowDelay}Diagnostic{ j1 = 0 j2 = Nx k1 = 0 k2 = Ny VarName = WaveDirDiagnostic polarizationEB = EzBy psd1dFlag = 1 // calculate the 1d power spectral density windowName = Blackman title = Wave Energy x1_Label = x x2_Label = y x3_Label = Wave Energy}PortGauss{ j1 = 0 k1 = 0 j2 = 0 k2 = Ny normal = 1 A = 0 C = 1.0 // Wave (0) pulShp_p0 = nPulseShape tdelay_p0 = 0.0 pulLeng_p0 = pulseLength chirp_p0 = 0.0 spotSize_p0 = waistSize waveLeng_p0 = laserWavelength focus_p0 = waistLocation amp_p0 = 0.0// Wave (1) pulShp_p1 = nPulseShape tdelay_p1 = 0.0 pulLeng_p1 = pulseLength chirp_p1 = 0.0 spotSize_p1 = waistSize waveLeng_p1 = laserWavelength focus_p1 = waistLocation amp_p1 = peakElectricField EFFlag = 0 name = PortGauss}// Here we define the electron species. It seems there is a bug// in XOOPIC such that it requires at least one species to be// defined.Species{ name = electrons m = 9.1094e-31 q = -1.6022e-19}ExitPort{ j1 = 0 k1 = Ny j2 = Nx k2 = Ny normal = -1 EFFlag = 0 name = ExitPort C = 0 A = 0}ExitPort{ j1 = 0 k1 = 0 j2 = Nx k2 = 0 normal = 1 EFFlag = 0 name = ExitPort C = 0 A = 0}Conductor{ j1 = Nx k1 = 0 j2 = Nx k2 = Ny normal = -1 EFFlag = 0 name = ExitPort C = 0 A = 0}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -