?? quiescent.inp
字號:
quiescent{This is a quiescent plasma, with plasma-based accelerator parameters.This input file is used for testing purposes and to see how well the simplest possible XOOPIC simulation scales up to many processors.}// Define variables that can be used throughout this input file.Variables{// First, define some useful constants. pi = 3.14159265358979323846 speedOfLight = 2.99792458e+08 electronMass = 9.1093897e-31 unitCharge = electronMass * 1.75881962e11 electronCharge = -1. * unitCharge electronMassEV = electronMass * speedOfLight * speedOfLight / unitCharge ionCharge = unitCharge unitMassMKS = electronMass / 5.48579903e-04 lithiumMassNum = 6.942 lithiumMass = unitMassMKS * lithiumMassNum// Define the number of grids in R and Z lengthOverRadiusAspectRatio = 128 numRgrids = 16 numZgrids = numRgrids * lengthOverRadiusAspectRatio numCells = numRgrids * numZgrids// Calculate the size of the simulation region, grid spacings, time step.// We are assuming the same grid size in both z and r rGridSize = 10.e-06 zGridSize = rGridSize maxRadiusMKS = rGridSize * numRgrids maxLengthMKS = zGridSize * numZgrids timeStep = 0.41 * rGridSize / speedOfLight// Define the plasma density, number of plasma electron macro-particles, etc. plasmaDensityMKS = 2.e+20 simulationVolume = pi * maxRadiusMKS * maxRadiusMKS * maxLengthMKS totalNumPlasma = plasmaDensityMKS * simulationVolume numPtclsPerCell = 4 numPlasmaPtcls = numPtclsPerCell * numCells plasmaNumRatio = totalNumPlasma / numPlasmaPtcls// Define plasma temperature and resulting flux of electrons into the simulation region. plasmaTempEV = 1.0 thermalSpeed = speedOfLight * sqrt( plasmaTempEV / electronMassEV )}// This simulation has only one "region", which contains grid, all particles, etc.Region{// Define the grid for this region.Grid{// Define number of grids along Z-axis and physical coordinates. J = numZgrids x1s = 0.0 x1f = maxLengthMKS n1 = 1.0// Define number of grids along R-axis and physical coordinates. K = numRgrids x2s = 0.0 x2f = maxRadiusMKS n2 = 1.0}// Specify "control" parameters for this regionControl{// Specify the time step. dt = timeStep}// Define the plasma ions.Species{ name = ions m = lithiumMass q = ionCharge}// Load the plasma ions over the entire simulation region.Load{ speciesName = ions density = plasmaDensityMKS x1MinMKS = 0.0 x1MaxMKS = maxLengthMKS x2MinMKS = 0.0 x2MaxMKS = maxRadiusMKS// This specifies a static uniform background (no macro-particles). np2c = 0}// Define the plasma electrons.Species{ name = electrons m = electronMass q = electronCharge}// Load the plasma electrons over the entire simulation region.VarWeightLoad{ speciesName = electrons density = plasmaDensityMKS x1MinMKS = 0.0 x1MaxMKS = maxLengthMKS x2MinMKS = 0.0 x2MaxMKS = maxRadiusMKS np2c = 2 * plasmaNumRatio// Specify a finite plasma temperature (can be zero, of course). v1thermal = thermalSpeed v2thermal = thermalSpeed v3thermal = 0.0}// Specify a perfect conductor along the left boundary. This serves as a particle// boundary condition (catches particles that leave the simulation) and as a// field boundary condition (E_r is forced to vanish).Conductor{ j1 = 0 j2 = 0 k1 = 0 k2 = numRgrids normal = 1}// Specify a perfect conductor along the radial boundary. This serves as a// particle boundary condition (catches particles that leave the simulation)// and as a field boundary condition (E_z is forced to vanish).Conductor{ j1 = 0 j2 = numZgrids k1 = numRgrids k2 = numRgrids normal = -1}// Specify a perfect conductor along the right boundary. This serves as a// particle boundary condition (catches particles that leave the simulation)// and as a field boundary condition (E_r is forced to vanish).Conductor{ j1 = numZgrids j2 = numZgrids k1 = numRgrids k2 = 0 normal = -1}// Define the cylindrical symmetry axis.CylindricalAxis{ j1 = 0 j2 = numZgrids k1 = 0 k2 = 0 normal = 1}}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -