⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwfahe.inp

📁 pic 模拟程序!面向对象
💻 INP
字号:
pwfaHe.inp{Here we look at the generation of a large-amplitude wakefield by avery short ( < 50 fs), high intensity ( > 1e18 W/cm^2) laser pulse.The pulse is so short, in order to make the simulation as fast aspossible for initial work.  We use a laser wavelength of 1 micronand  and a minimum spot size of 5 micron in order to connect withprevious work by Rodolfo Giacone and Brad Shadwick.  Otherwise, the parameters are comparable to those used in the l'OASIS experiments at LBNL.Pulse with transverse Gaussian profile and z polarization is launched fromthe left boundary.  The longitudinal  profile is a truncated Gaussian.Cartesian geometry, no plasma initially, background of neutral He gas.The primary goal is to see how the plasma wake gets modified by thefact that the laser pulse must create its own plasma.This is derived from loasisHe.inp -- here we make the laser pulseextremely short, change the size of the simulation region, change theminimum spot size and laser wavelength somewhat, and also adjust theHe / electron density.}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// **********************************************************************// Plasma parameters// **********************************************************************//   Here, we have zero initial plasma density.  elecPlasmaDensity =  0.0   elecPlasmaFreq = sqrt(electronCharge*qOverM*elecPlasmaDensity/permit) // **********************************************************************// Laser pulse parameters - y polarization// **********************************************************************//   We are modeling a laser pulse with wavelength of 0.8 micron, a//   FWHM pulse length of 6.7 fs, a peak intensity of 3 x 10^18 W/cm^2//   and a minimum laser spot size of 5 micron.//  peakLaserIntensity = 3e+18  // W/cm^2  pulseLengthFWHM = 6.7e-15  RMStoFWHMfactor = 2. * sqrt( ln(2.) )  FWHMtoTotalFactor = sqrt( ln(2.) )  pulseLengthRMS = pulseLengthFWHM / RMStoFWHMfactor  pulseLengthTotal = pulseLengthFWHM * FWHMtoTotalFactor  laserWavelength = 1.0e-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  Lx = 30.0e-06  Ly = 50.0e-06  dx = Lx / Nx  dy = Ly / Ny  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  = pulseLengthTotal * speedLight// Here we specify the waist size, Rayleigh length, etc.// These parameters are for a pulse with y-polarization.  waistSize = 5.0e-06   angFreq = laserFrequency  angFreq2 = angFreq * angFreq  waveVector = sqrt( (angFreq2-elecPlasmaFreq*elecPlasmaFreq) / speedLight2 )// For waistSize = 5e-6 and wavelength = 1e-6, the Rayleigh length is 78.5e-6  rayleighLength = waistSize * waistSize * waveVector / 2.  waistLocation = Lx// **********************************************************************// Define gas density, pressure and other MCC parameters// **********************************************************************  gasTempEV       = 1.0e-06  // make gas cold (cannot set temperature to zero)  gasDensityMKS   = 1.5e25  gasPressureTorr = 1.20e-21 * gasDensityMKS * gasTempEV  numZeroCells = 50  numFlatCells = Nx-100  numRampCells = Nx - numFlatCells - numZeroCells  zeroEnd = (numZeroCells + .5) * dx  rampEnd = (numZeroCells + numRampCells + .5) * dx// 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}Species{  name = electrons  m = electronMass   q = electronCharge   particleLimit = 2.0e+06 // prevents out-of-control growth in # of ptcls}Species{  name = HePlus  m = HeMass  q = ionCharge  particleLimit = 2.0e+05 // prevents out-of-control growth in # of ptcls}Species{  name = HePlusPlus  m = HeMass  q = 2*ionCharge  particleLimit = 9.0e+05 // prevents out-of-control growth in # of ptcls}// Specify the Monte Carlo collision parameters for background gasMCC{  gas                         = He  pressure                    = gasPressureTorr  temperature                 = gasTempEV  analyticF = gasDensityMKS * step(x1-zeroEnd) * ( ramp( (x1-zeroEnd)/(rampEnd-zeroEnd) ) * step(rampEnd-x1) + step(x1-rampEnd) )  eSpecies                = electrons  iSpecies                = HePlus  iSpeciesPlusPlus        = HePlusPlus  // turn OFF electron/ion collisions, including impact ionization  collisionFlag = 0  // turn on tunneling ionization in linearly polarized alternating field  tunnelingIonizationFlag = 1  // specify static field / circular polarization  ETIPolarizationFlag     = 1  // specify the characteristic oscillation frequency of the electric field  // -- here we fudge the real frequency with a small factor --  EfieldFrequency =  laserFrequency  // fix the number of macro particles to be created in each cell  TI_numMacroParticlesPerCell = 8}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}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 + -