########################################################### Deoxygen documentation of this program can be found in /latex/refman.pdf
A description of the physical units being used can be found in /random_tex/units.pdf
########################################################### Compilation instructions:
cd src make
make both serial and parallel versions
########################################################### Run instructions (from src directory):
./EMOOPIC path/to/inputfile.txt e.g. ./EMOOPIC ../data/unitest/input.txt For parallel version, recompile (see above) and use mpirun, e.g. mpirun -np 16 ./EMOOPIC ../data/unitest/input_MPI.txt
########################################################### Input file instructions The input.txt is self-documenting For further details, see /src/IO/input.hpp Below are some notices
nProc: total number of processors specified here should match
what is requested when submitting the job
nTiesteps: should be larger than 0
restart: When >0, there should be restart files ready to be read
# particle initialization
nspecies: should be smaller than NSPEC defined in /src/IO/input.hpp
mass_ratio[ispec],charge_ratio[ispec],dens_frac[ispec], etc. specifies species ispec
The length of these vectors should be the same as nspecies.
# field initialization
conditions: in each direction, if on side is "periodic", then the other side must
also be "periodic", including both fields and particles.
# particle boundary
# field boundary
external: these inputs will be read if and only if there is "external"
in the boundary input.
eg. if conditions[0]="periodic", conditions[2]="external",
and inSide = [-1,2], then inPolE[0], corresponding to
inSide[0]=-1, namely, wave injecttion in xleft, will
be ignored; while inPolE[1], corresponding to inSide[1]=2,
namely, wave injection in yright, will be meaninful to the program.
No-wave condition is assumed if not specified.
eq. if conditions[0]="external",but inSide[i]!=-1 for all i,
then no wave is injected from xleft.
########################################################### Unit testing (serial only for now...): executing make in src directory compiles google test unit tests and runs all unit tests automatically.
in src directory, can also use
make run_tests or in test directory, make run_tests