DenSto / APC_524_Project

APC 524 project
1 stars 0 forks source link

########################################################### 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

domain inputs

  nProc: total number of processors specified here should match 
         what is requested when submitting the job

runtime inputs

  nTiesteps: should be larger than 0

initialization inputs

  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

boundary condition inputs

  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.

diagnostic inputs

########################################################### 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