📄 input.txt
字号:
INPUT PARAMETERS================XOOPIC Version 3.0 -- Last revised on 10-08-2002This document describes the input parameters in XOOPIC.The format of entries in this file consist of the following components: <parameter>[=<default value>] (type) [units] descriptionwhere type is one of flag, int, scalar, or string, and units describes thephysical units used.Variables------------------------------------------This is a special group for user-defined variables.You are free here to make definitions used lower down inthe input file.Examples: JMAX = 200 KMAX = 120 k_half = KMAX/2XOOPIC will then interpret any occurrence of these strings in parametergroups below the Variables section as having the values given here, if the occurrence is on the right-hand-side of an = sign.Region--------------------------------------XOOPIC allows multiple spatial regions to be simulated simultaneously.These regions are independent of each other, except for special boundaryconditions -- implemented ONLY in the parallel version -- which enableinter-region communication.In practice, one only specifies a single region.Each Region may have the following subgroups:Grid-----------------------------------------J (int) Number of cells in the x1 direction. No default value.K (int) Number of cells in the x2 direction. No default value.x1s (scalar) [m] Lower coordinate in the x1 direction. No default value.x1f (scalar) [m] Upper coordinate in the x1 direction. No default value.n1=1 (scalar) Non-uniform grid scaling parameter. Mapping is performed according to xj = x1s + (x1f-x1s)(j/J)^n1, 0<=j<=J.x2s (scalar) [m] Lower coordinate in the x2 direction. No default value.x2f (scalar) [m] Upper coordinate in the x2 direction. No default value.n2=1 (scalar) Non-uniform grid scaling parameter. Mapping is performed accordingto xk = x2s + (x2f-x2s)(k/K)^n2, 0<=k<=K.Geometry=0 (flag) Toggles between rz (0) and xy (1) geometries.PeriodicFlagX1 = 0 (flag) Toggles between non-periodic (0) and periodic (1) in the first direction. (Handy for doing 1d problems) Currently works with multigrid and EM solve.PeriodicFlagX2 = 0 (flag) Toggles between non-periodic (0) and periodic (1) in the second direction. Currently works with multigrid and EM solve.dx1=1 (string) Function which will modulate the mesh spacing in x1 direction. It is a function of j, so dx1="f(j)" forms are acceptable. examples: dx1 = j, dx1 = j/J + 0.5. j varies from 1/2 to J-1/2dx2=1 (string) As above, except for k.Control--------------------------------------dt=1E-12 (scalar) [sec] Time step in secondsfrandseed = (int) 31207321 seed for random number generator. B01=0 (scalar) [Tesla] Uniform static magnetic field in x1 direction.B02=0 (scalar) [Tesla] Uniform static magnetic field in x2 direction.B03=0 (scalar) [Tesla] Uniform static magnetic field in x3 direction.B01analytic="0" (string) [Tesla] x1 component of the static magnetic field as a function of x1 and x2 (see evaluator.txt)B02analytic="0" (string) [Tesla] x2 component of the static magnetic field as a function of x1 and x2 (see evaluator.txt)B03analytic="0" (string) [Tesla] x3 component of the static magnetic field as a function of x1 and x2 (see evaluator.txt)Bf="NULL" (string) This is a filename which contains the values of the magnetic field at each node. A simulation of 40x40 cells will have 41x41 mesh points, or nodes. The file is composed of lines in this format: x1 x2 B1 B2 B3 where x1 and x2 are ignored but must be present, (later interpolation to the grid will be added) B1 B2 B3 are magnetic field components in gauss. B1 B2 B3 actually exist on the mesh points, and are read in the X2 direction most rapidly. (i.e., j=0, read k=0,k=1,k=2,....k=K, j=1, read k=0,...k=K)E1init="0" (string) [V/m] x1 component of an initial electric field, given as an analytic function of x1 and x2.(see evaluator.txt) This function is added at t=0 to the fields already present.E2init="0" (string) [V/m] x2 component of an initial electric field, given as an analytic function of x1 and x2.(see evaluator.txt) This function is added at t=0 to the fields already present.E3init="0" (string) [V/m] x3 component of an initial electric field, given as an analytic function of x1 and x2.(see evaluator.txt) This function is added at t=0 to the fields already present. B1init="0" (string) [Tesla] x1 component of an initial magnetic field, given as an analytic function of x1 and x2.(see evaluator.txt) This function is added at t=0 to the fields already present.B2init="0" (string) [Tesla] x2 component of an initial magnetic field, given as an analytic function of x1 and x2.(see evaluator.txt) This function is added at t=0 to the fields already present.B3init="0" (string) [Tesla] x3 component of an initial magnetic field, given as an analytic function of x1 and x2.(see evaluator.txt) This function is added at t=0 to the fields already present.movingWindow = 0 (int) Flag turning on "moving window", which at present, moves fields and particles in the simulation 1 cell to the left at the speed of light. Boundaries are NOT moved. Additionally, a load with the Name "shiftLoad" will be loaded whenever a shift occurs.shiftDelayTime = 0 (scalar) The time before the moving window begins to move i in code units. j1BeamDump=-1 (int) Grid coordinate of left side of beam dump (magnetic field). -1 = do not use. B01 is used for the field magnitude.j2BeamDump=-1 (int) Grid coordinate of right side of beam dump (magnetic field). -1 = do not use. B01 is used for the field magnitude.MarderIter=0 (int) Number of iterations of Marder correction for non-charge conserving particle current.MarderParameter=0.5 (scalar) Relaxation parameter for Marder correction.ElectrostaticFlag=0 (flag) Determines field solver: 0=electromagnetic, 1-4=electrostatic: 1=DADI,...,4=multigrid.initPoissonSolve=1 (flag) Do an initial Eletrostatic Poisson solve at t=0. Default is to do it, but often we don't want to.CurrentWeighting=0 (flag) Determines current weighting for EM model: 0=charge conserving, 1=bilinear in current (may require divergence correction).DivergenceCleanFlag=0 (flag) Determines whether a divergence correction will be applied to the electric field: 0=no, 1=yes.BoltzmannFlag=0 (flag) Determines whether to use Boltzmann (massless) electrons: 0=explicit PIC electrons, 1=zero electron mass.BoltzmannTemp=1 (scalar) [eV] Temperature of the Boltzmann electrons.BoltzmannDensity=0 (scalar) [m^-3] Neutral density of the Boltzmann electrons, n0, from n = n0 exp(-e*Phi/kT).BoltzmannCharge=-1 (scalar) [1.602E-19 C] Normalized charge of the Boltzmann electrons.BoltzmannChargeRatio=1 (scalar) Charge ratio of Boltzmann source to n_0.BoltzSpecies = NULL (string) species used in boltzmann solve.NonRelativisticFlag=0 (flag) 1=NonRelativistic (faster) particle push, 0=RelativisticnSmoothing=0 (int) Number of binomial smoothing passes (0=none)InfiniteBFlag=0 (flag) 1=NonRelativistic Infinite B1, 0=normal relativistic particle pushFieldSubFlag=1 (int) Number of EM advances/particle advance ( >= 1)emdamping=0 (scalar) Damping value for high frequency noise, varies 0-->1.np2cFactor=1 (scalar) Increases the numerical weighting (np2c) of particles read in from the dump file. Note that it is applied each time, so generally it should be reset to 1 after the first read.particleLimit=1e8 (scalar) max number of particles in the simulation, halves the number of particles when exceeded.presidue=1e-3 (scalar) specifies a residue for the Poisson Solver.histmax=4096 (int) specified the length for history arraysFor the MPI version of XOOPIC only:MPIpartition=Nx1 (string) Partitioning information for the parallel version. (see MPI.txt, ../README.PARALLEL)Species--------------------------------------speciesName=NULL (string) Unique name for this species.q=-1.602E-19 (scalar) [C] Charge per physical particle of this species.m=9.11E-31 (scalar) [kg] Mass per physical particle of this species.subcycle=1 (int) Number of field advances/particle advance (>=1) This is known not to work with emitters presently. (v1.1) Should now work with all emitters (v2.51)supercycle=1 (int) Number of particle advances/field advance (>=1) This is known not to work with emitters presently. (v1.1) Should now work with all emitters (v2.51)collisionModel=none (string) Model to use for collisions of this species: none (0), electron (1), ion (2), test (3), or boltzmann (4).threshold=0 (scalar) [eV] if the total energy of the particle drops below this then it is transfered to the BoltzSpecies.particleLimit=1e8 (scalar) max number of particles of this species in the simulation, halves the number of particles when exceeded. rmsDiagnosticsFlag=0 (integer) Set to 1 if you want time history plots of RMS values for beam size and velocity. Energy spread and emittance will be added soon. At present, this can only be done for one species at a time. (Dimitrov/Bruhwiler 10/18/2000)MCC------------------------------------------name=NULL (string) Name of the background gas package (currently only Ar, Ne or Xe).pressure=0 (scalar) [Torr] Uniform background gas pressure for this gas.temperature=0.025 (scalar) [eV] Uniform background gas temperature.eSpecies=NULL (string) Electron species to create in ionization collisions.iSpecies=NULL (string) Ion species to create in ionization collisions.ionzFraction_i=1 (int) Number of ions to create per ionization event.ecxFactor=1 (Scalar) Increase all electron cross sections for this gas by a fixed ecxFactor (for example to compensate for mobility due to reduction of mass ratio).icxFactor=1 (Scalar) Increase all ion cross sections for this gas by icxFactor.collisionFlag=1 (int) A flag to turn on/off collisions in the Monte Carlo simulations. By default it is on (1). Set it to 0 to turn it off.tunnelingIonizationFlag=0 (int) A flag to turn on/off the tunneling ionization calculations. It is off (0) by default. A non zero value will turn them on. analyticF="0.0" (StringParameter) Analytic function of x1,x2 describing the neutral gas density. The default evaluation of the function will return 0.0.ETIPolarizationFlag=0 (int) A flag to specify the E field polarization in order to decide which function to use for the calculation of the tunneling ionization probability. By default (0), it specifies linear polarization, set it to 1 for circular polarization. Example: The input file: inp/CsTest.inp demonstrates how to set up a simulation with tunneling ionization of Cs neutral gas. Load----------------------------------------- units=MKS (string) [MKS or EV] units for ALL the velocitiesv1drift=0 (scalar) [m/s or eV] Drift velocity in x1.v2drift=0 (scalar) [m/s or eV] Drift velocity in x2.v3drift=0 (scalar) [m/s or eV] Drift velocity in x3.temperature=0 (scalar) [m/s or eV] Isotropic temperature (3/2 kT = 1/2 m (Vtx^2+Vty^2+Vtz^2) = 1/2 m Vt^2).v1thermal=0 (scalar) [m/s or eV] Thermal velocity in x1. (1/2 kT = 1/2 m Vtx^2)v2thermal=0 (scalar) [m/s or eV] Thermal velocity in x2. (1/2 kT = 1/2 m Vty^2)v3thermal=0 (scalar) [m/s or eV] Thermal velocity in x3. (1/2 kT = 1/2 m Vtz^2)Ucutoff=0 (scalar) [m/s or eV] isotropic upper cutoff for temperature.v1Ucutoff=0 (scalar) [m/s or eV] upper cutoff velocity in x1.v2Ucutoff=0 (scalar) [m/s or eV] upper cutoff velocity in x2.v3Ucutoff=0 (scalar) [m/s or eV] upper cutoff velocity in x3.Lcutoff=0 (scalar) [m/s or eV] isotropic lower cutoff for temperature.v1Lcutoff=0 (scalar) [m/s or eV] lower cutoff velocity in x1.v2Lcutoff=0 (scalar) [m/s or eV] lower cutoff velocity in x2.v3Lcutoff=0 (scalar) [m/s or eV] lower cutoff velocity in x3.density=0 (scalar) [m^-3] Uniform number density.x1MinMKS (scalar) [m] Lower x1 coordinate of region.x1MaxMKS (scalar) [m] Upper x1 coordinate of region.x2MinMKS (scalar) [m] Lower x2 coordinate of region.x2MaxMKS (scalar) [m] Upper x2 coordinate of region.np2c (scalar) Number of physical particles to computer particles. If np2c = 0, unmoving background rho.speciesName=NULL (scalar) Refers to the Species with the same speciesName.analyticF (string) Spatial distribution of particles to be loaded. Understands the variables x1 and x2 (see evaluator.txt)LoadMethodFlag=0 (int) Loads using random numbers if 0, bit reverse if 1.VarWeightLoad-------------------------(Useful for cylindrical geometry -- the macroparticle density is held constant by linearly increasing the weight with radius. This helps to reduce statistical noise on axis and to limit growth in the number of macroparticles as the load radius is increased.)Load parametersGeneric Boundary Parameters------------------ [for time functions, read timefunc.txt and evaluator.txt][for particle diagnostics see pdiag.txt]j1 (int) x1 index for first boundary endpoint.k1 (int) x2 index for first boundary endpoint.j2 (int) x1 index for second boundary endpoint.k2 (int) x2 index for second boundary endpoint.Alternately, you may specify boundary locations in MKS units.However, XOOPIC will put the computational boundary on thenearest grid point.A1 (scalar) x1 location for first boundary endpoint. A2 (scalar) x2 location for first boundary endpoint.B1 (scalar) x1 location for second boundary endpoint.B2 (scalar) x2 location for second boundary endpoint.As another alternative, you may specify the boundary endpoints byusing the Segment group, example:Boundary { Segment { SegName = element1 A1 = 0 A2 = 0 B1 = 0.3 B2 = 0 normal = 1 }...Some boundaries will support multiple segments, see below.normal (int) Unit direction of normal: -1=down/left, 1=up/right. (int) for oblique segments unit direction of normal right 1, left -1.fill (int) if 1 the boundary is filled in, Warning: assumes the user has a closed boundary.EFFlag=0 (flag) Toggles recorder for Poynting flux through boundary: 0=off, 1=on.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -