Download presentation

Presentation is loading. Please wait.

Published byHaylee Corfield Modified about 1 year ago

1
XOOPIC (./xoopic –i inputfile –d dumpfile) Plasma Application Modeling, POSTECH Contents: physics/*OOPIC physical model files advisor/*OOPIC expert advisor files xg/*XOOPIC GUI and top-level control files doc/*documentation input/*.inpinput files for OOPIC xgrafix/*Graphical library for XOOPIC xgrafix_dist Documentation and test files for XGrafix 2.0 bench/*Some benchmark input files and README_INSTALL compilation instructions README.PARALLEL Notes and instructions for the parallel version. g++-fixes/*things you might need to do to g++ to get it to work BUGSknown bugs COPYRIGHTUniversity of California COPYRIGHT CHANGESA description of the changes to the code. Authors: John Verboncoeurjohnv@langmuir.eecs.berkeley.edu (head of the physical model development) Tom Gladdntgladd@langmuir.eecs.berkeley.edu (head of the expert advisor development) Peter Mardahlpeterm@langmuir.eecs.berkeley.edu (X version of OOPIC, XY-geometry for OOPIC, ES OOPIC) Keith Cartwrightkc@langmuir.eecs.berkeley.edu (EM boundary conditions, boltzmann electrons) Bill Peterpeter@langmuir.eecs.berkeley.edu (EM boundary conditions, field emitter) Contributers of code: Ronald Cohen of Lawrence Livermore National Labs (some code for a more general static magnetic field at t=0) FTP site: XOOPIC is up for public FTP at ptsg.eecs.berkeley.edu in the directory pub/codes. You may also download the code by means of http://ptsg.eecs, look under either XOOPIC or pub/codes. email: xoopic@ptsg.eecs.berkeley.edu

2
Input.txt (Grid) Plasma Application Modeling, POSTECH Variables------------------------------------------ This is a special group for user-defined variables. You are free here to make definitions used lower down in the input file. Examples: JMAX = 200 KMAX = 120 k_half = KMAX/2 XOOPIC will then interpret any occurrence of these strings below the Variables as having the values given, if the occurrence is on the right-hand-side of an = sign. 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 according to 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/2 dx2=1 (string) As above, except for k.

3
Plasma Application Modeling, POSTECH Control-------------------------------------- dt=1E-12 (scalar) [sec] Time step in seconds frandseed = (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. ElectrostaticFlag=0 (flag) Determines field solver: 0=electromagnetic, 1-3=electrostatic. 1=DADI,...,4=multigrid. For 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) supercycle=1 (int) Number of particle advances/field advance (>=1) This is known not to work with emitters presently. (v1.1) collisionModel=none (string) Model to use for collisions of this species: none (0), electron (1), ion (2), test (3), or boltzmann (4). 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. Input.txt (Control, Species, MCC)

4
Plasma Application Modeling, POSTECH Generic 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 the nearest 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 by using 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. Input.txt (Boundary Parameters)

5
Load----------------------------------------- units=MKS(string) [MKS or EV] units for ALL the velocities v1drift=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) ). 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) 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. normal (int) Unit direction of normal: -1=down/left, 1=up/right. EFFlag=0 (flag) Toggles recorder for Poynting flux through boundary: 0=off, 1=on. IdiagFlag=0 (flag) Toggles particle current accumulation: 0=off, 1=on. diagSpeciesName=Noname (string) species for distribution function accumulation. If not present or set to "Noname", the diagnostic is off. nxbins=100 (int) Number of spatial bins along boundary segment for distribution accumulation. nenergybins=0 (int) Number of energy bins for distribution accumulation. nthetabins=0 (int) Number of bins for angular distribution function. theta_min=0 (Scalar) Minimum angle for angular distribution function. theta_max=90 (Scalar) Maximum angle for angular distribution function. energy_min=0 (Scalar) [eV] Minimum energy for dist. funtion collector. energy_max=100 (Scalar) [eV] Minimum energy for dist. funtion collector. name (string) A name for this boundary, will appear in graphs under XOOPIC. C=1 (scalar) DC value for time-dependent function. A=0 (scalar) AC value for time-dependent function. frequency=0 (scalar) [Hz] Frequency of AC variation for time-dependent function. phase=0 (scalar) [rad] Initial phase of AC variation for time-dependent function. tdelay=0 (scalar) [s] Delay time before start of envelope function. trise=0 (scalar) [s] Rise time of envelope for time-dependent function. tpulse=10000 (scalar) [s] Pulse width of envelope for time-dependent function. tfall=0 (scalar) [s] Pulse fall time of envelope for time-dependent function. a0=1 (scalar) Low value of envelope for time-dependent function. a1=1 (scalar) High value of envelope for time-dependent function. time_function_flag=0 (flag) Selects from available time functions: 0=default 1 = string interpreted function (see timefunc.txt) Input.txt (Boundary Parameter, Load)

6
Plasma Application Modeling, POSTECH Dielectric----------------------------------- Generic Boundary parameters, only 1 Segment permitted. er=1 (scalar) Relative permittivity. QuseFlag=1 (flag) Determines whether to use the accumulated surface charge in the field solve; i.e. 0 indicates that the charge drains off. This flag is only applicable to the electrostatic model. reflection=0 (scalar) Coefficient for particle reflection between 0 and 1. refMaxE=1e10 (scalar) [eV] Only reflect particles below this energy. Secondary group (see below) can contain zero or more. Secondary------------------------------------ secondary=0 (scalar) Secondary emission coefficient, can be > 1 threshold=0.5 (scalar) [eV] Emission threshold: incident energy must exceed to emit. Eemit=2 (scalar) [eV] Maximum energy of emitted secondaries. secSpecies=NULL (string) Name of the species to emit as secondaries; must correspond to an existing species if secondary > 0. iSpecies=NULL (string) Incident species to generate secondaries. DielectricRegion----------------------------- Dielectric parameters, only 1 Segment permitted. *note: for DielectricRegion, the points formed by (j1,k1) and (j2,k2) indicate a rectangular region rather than a line segment. Conductor------------------------------------ Dielectric parameters, multiple Segments permitted. CylindricalAxis------------------------------ Generic Boundary parameters. Input.txt (Material)

7
Plasma Application Modeling, POSTECH PlasmaSource----------------------------------- units1=MKS(string) [MKS or EV] units for ALL the velocities for species 1 v1drift1=0 (scalar) [m/s or eV] Drift velocity in x1. v2drift1=0 (scalar) [m/s or eV] Drift velocity in x2. v3drift1=0 (scalar) [m/s or eV] Drift velocity in x3. temperature1=0 (scalar) [m/s or eV] Isotropic temperature. (see Load for definition) v1thermal1=0 (scalar) [m/s or eV] Thermal velocity in x1. (see Load for definition) v2thermal1=0 (scalar) [m/s or eV] Thermal velocity in x2. (see Load for definition) v3thermal1=0 (scalar) [m/s or eV] Thermal velocity in x3. (see Load for definition) speciesName1=NULL (scalar) Refers to the Species with the same speciesName. units2=MKS(string) [MKS or EV] units for ALL the velocities for species 2 v1drift2=0 (scalar) [m/s or eV] Drift velocity in x1. v2drift2=0 (scalar) [m/s or eV] Drift velocity in x2. v3drift2=0 (scalar) [m/s or eV] Drift velocity in x3. temperature2=0 (scalar) [m/s or eV] Isotropic temperature. (see Load for definition) v1thermal2=0 (scalar) [m/s or eV] Thermal velocity in x1. (see Load for definition) v2thermal2=0 (scalar) [m/s or eV] Thermal velocity in x2. (see Load for definition) v3thermal2=0 (scalar) [m/s or eV] Thermal velocity in x3. (see Load for definition) speciesName2=NULL (scalar) Refers to the Species with the same speciesName. j1,k1,j2,k2: two corner points to define the rectangle. sourceRate=0 (scalar) [#/m^3/s]rate of plasma generation m^-3 s^-1 np2c=1e6 (scalar) ratio of physical to computer particles Gap------------------------------------------ Generic Boundary parameters, only 1 Segment permitted. *note: uses timefunction (Generic Boundary parameters) to set time-dependent field (V/m) uniformly in space across the gap. Equipotential-------------------------------- [see timefunc.txt, evaluator.txt and eqpot.txt for gotchas] Conductor parameters. *note: uses timefunction (Generic Boundary parameters) to set spatially uniform time-dependent voltage on surface. Works as a grounded Conductor in the electromagnetic model. *note: if you have multiple boundary segments which are all at the same potential it is important for performance that you specify them all in the same Equipotential group. Input.txt (Equipotential, Plasma Source)

8
Plasma Application Modeling, POSTECH Generic Emitter Parameters----------------------- Dielectric Parameters, Only 1 Segment permitted. units=MKS(string) [MKS or EV] units for ALL the velocities v1drift=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. (see Load for definition) v1thermal=0 (scalar) [m/s or eV] Thermal velocity in x1. (see Load for definition) v2thermal=0 (scalar) [m/s or eV] Thermal velocity in x2. (see Load for definition) v3thermal=0 (scalar) [m/s or eV] Thermal velocity in x3. (see Load for definition) Lcutoff=0 (scalar) [m/s oreV] 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. Ucutoff=0 (scalar) [m/s oreV] 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. np2c (scalar) Number of physical particles to computer particles. speciesName=NULL (scalar) Refers to the Species with the same speciesName. BeamEmitter---------------------------------- Generic Emitter parameters, only 1 Segment permitted. I=1 (scalar) [A] Emission current. thetadot=0 (scalar) [rad/s] Angular velocity of beam. er=1 (scalar) Relative permittivity. ExitPort------------------------------------- Generic Boundary parameters, only 1 Segment permitted. R=376.99 (scalar) [ohms] Resistive component of surface impedance. L=0 (scalar) [H] Inductive component of surface impedance. Cap=0 (scalar) [F] Capacitive component of surface impedance. Rin=376.99 (scalar) [ohms] Resistive component of surface impedance for incoming wave. Lin=0 (scalar) [H] Inductive component of surface impedance for incoming wave. Capin=0 (scalar) [F] Capacitive component of surface impedance for incoming wave. Input.txt (Emitter)

9
Diagnostics-------------------------------- For more information read diagnostic.txt j1 (int) x1 index for first diagnostic endpoint. k1 (int) x2 index for first diagnostic endpoint. j2=j1 (int) x1 index for second diagnostic endpoint. k2=k1 (int) x2 index for second diagnostic endpoint. Alternately, you may specify boundary locations in MKS units. However, XOOPIC will put the diagnostic on the nearest 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. VarName (string) name of variable to be plotted. Currently the follow variables can be plotted. For time histories: E1 -> Ez (RZ) or Ex (XY), E2 -> Er (RZ) or Ey (XY), E3 -> Ephi (RZ) or Ez (XY) B1 -> Bz (RZ) or Bx (XY), B2 -> Br (RZ) or By (XY), B3 -> Bphi (RZ) or Bz (XY) I1 -> Iz (RZ) or Ix (XY), I2 -> Ir (RZ) or Iy (XY), I3 -> Iphi (RZ) or Iz (XY) intEdl1 -> Ez (RZ) or Ex (XY) intEdl2 -> Er (RZ) or Ey (XY) intEdl3 -> Ephi (RZ) or Ez (XY) poynting1 -> Poynting Vector in x1 poynting2 -> Poynting Vector in x2 poynting3 -> Poynting Vector in x3 rho -> charge density n -> density of a given species phi -> potential (only with electrostatic field solve) Q -> surface charge on dielectrics For spatial regions JdotE -> JdotE x1_Label=x1 (string) x1 Label of the XGrafix plot x2_Label=x2 (string) x2 Label of the XGrafix plot x3_Label=x3 (string) x3 Label of the XGrafix plot title=not_named (string) Title of XGrafix window. **************NOTE************** DON'T HAVE TWO TITLES THE SAME. XGrafix DOESN'T LIKE IT. nfft (int) number of data points for fft, must be power of 2[currently nonfunctional] HistMax=64 (int) maximum length of history array save=0 (int) Flag: 1 saves the diagnostic data in the dumpfile Flag: 0 restarts when restarted from a dumpfile Comb=0 (int) Every Comb'th value is left when HistMax is reached **Note if Comb=0 the history is a local history.** Ave=0 (int) Averaged over Ave data points when adding to history array integral=NULL (string) one of: line (variable dotted into dl), flux (variable dotted into dS), sum (simple summation).

10
Plasma Application Modeling, POSTECH Example of Input file (1) default { Two Cavity Klystron. First cavity driven with an ExitPort. Second cavity has power taken out through an ExitPort. } Region { Grid { n2 = 1.000e+00 x2f = 3.90e-02 x2s = 0.000e+00 K = 78 n1 = 1.000e+00 x1f = 5.50e-01 x1s = 0.000e+00 J = 275 Rule { Limit n1 < 2.500e-01 Fatal -- n1 < 0.25 grid spacing too nonuniform to ensure accuracy } Control { B01 = 1.000 dt = 2.000e-13 Rule { Limit dt <= 0.000e+00 Fatal -- time step must be positive } CylindricalAxis { normal = 1 k2 = 0 j2 = Jmax k1 = 0 j1 = 0 }

11
Example of input file(2) Conductor { normal = 1 k2 = 0 j2 = 0 k1 = 38 j1 = 0 } Conductor { Segment { normal = 1 k2 = 42 j2 = 0 k1 = 46 j1 = 0 } Segment { normal = -1 k2 = 46 j2 = 0 k1 = 46 j1 = 47 } …. Species { name = electrons m = 9.11e-31 q = -1.6e-19 } BeamEmitter { np2c = 2.000e+9 I = 5.0e3 speciesName = electrons v1drift = 2.997e+08 normal = 1 k2 = 38 j2 = 0 k1 = 42 j1 = 0 } ExitPort { EFFlag = 1 name = Input Gap normal = -1 k2 = 78 j2 = 45 k1 = 78 j1 = 55 R = 6.3e3 Cap = 1.7487e-12 L= 1.5739e-9 } Gap { normal = -1 k2 = 46 j2 = 53 k1 = 46 j1 = 47 A = 1e6 frequency= 3.0337e9 EFFlag = 1 name = gap } Diagnostic { VarName = E1 Ave = 0 HistMax = 2024 title = Erdotdl at input Cavity j1 = 50 k1 = 46 j2 = 51 k2 = 46 integral = line x1_Label = time x2_Label = Er }

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google