--------O--------O--A-------A-------55555--2222
-------O-O------O--A------A-A------5-------------2
------O---O-----O-A------A---A-----5-------------2
-----OO-OO----OA------AA--AA----5555----2222
----O-------O---O-A----A-------A---------5--2----
---O---------O--O--A--A---------A--55555--22222
----Arbitrary---Kinetic--Algorithm--------------
Arbitrary Kinetic Algorithm for collisionless plasma modeling.
stack: C++11, MPI, HDF5, python2-3
before 'make' need to set in makefile
HDF5_PATH= path to hdf5 lib
MPI_PATH= path to mpi lib
PYTHON_INC= path to python include
PYTHON_LIB= path to python lib
for running default example from src/input/Initializer.py
mpirun -n 2 aka.exe
normally need to set input file path containing Initializer.py
mpirun -n 2 aka.exe PATH/TO/PYTHON/INPUT/FILE
before running need to create output folder and set in Initializer.py
for visualization use python notebook in folder NOTEBOOK/
download openmpi v 4.0.5 from
download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.5.tar.gz
extract in folder /TEMP/FLD4INSTALLATION/, go to the folder
run in terminal:
download hdf5 v1.10.5 from
http://hdfgroup.org/package/hdf5-1-10-5-tar-gz/?wpdmdl=13571
run in terminal:
space and time quantities are normalized on:
electro-magnetic fields are calculated on two staggered grid (G1 and G2)
using predictor-corrector scheme (see EleMagManager.cpp)
E = -[VixB] + [JxB]/n - divPe/n - eta J
B' = -rotE
J = rotB
ions are described in a kinetic way,
dynamics is solved using first order interpolation of em fields
electrons are described in a fluid way by:
six-component pressure tensor P is integrated in time
using subcycling explicit scheme,
for implicit one need to build with flag -DIMPLICIT_PRESSURE
P' = - Ve.∇P - P∇.Ve - P.∇Ve - (P.∇Ve)^T - q/m [ PxB + (PxB)^T ]
where Ve - electron flow velocity
q - electron charge
m - electron mass
B - magnetic field
laser effects are imitated by ablation operator including
heat operator and particle creation operator
(see LaserMockManager.cpp)
ablation operator works in localized area, called focal spot
heat operator provides electron pressure increasing in the focal spot
particle creation operator sustains constant target density
AKA is 3D, parallel (MPI), multispecies code
BC type for em fields and hydro quantities: 1 - periodic (see GridManager.cpp) 0 - damping layer (see EleMagManager.cpp and ClosureManager.cpp)
BC type for particle properties (see BoundaryManager.cpp):
1 - periodic
0 - outflow // reaching border particle leaves domain forever
for small scale dissipation use resistivity (eta) parameter
for pressure tensor integration need to set:
use 'make FLAGS=-DLOG' to see some logs
to set debug log level see Logger.hpp
for extra logging use -DHEAVYLOG
for each particle type have to specify:
if number of laser focal spots is more than zero,
auxiliary particle type is reserved for the loading fraction