Workflow:
The input files are stored in the “dat/” folder.
In G2C3, all the read operations are performed in read_data.F90
by the Master
processing element (mpe==0
). Then the
MPI_BCAST
subroutine in mpi.F90
broadcasts the values to
all the other processing elements. In case the read elements are
an array, first the array dimension is broadcast and then the
arrays are allocated in allocate_arrays.F90
The basic units and normalization used in G2C3 are summarized as follows:
Mass
: proton mass, $m_p$Charge
: proton charge, eMagnetic field
: on axis, $B_a$Length
: Tokamak major radius, $R_0$Density
: on axis electron density, $n_{e0}$Temperature
: on axis electron temperature, $T_{e0}$Time
: Inverse on axis cyclotron frequency of proton, $\omega_p^{-1}=m_pc/eB_a$We use a neural network in a Universal function approximation mode to map $\mathcal{N}_\Delta:(R,Z) \rightarrow \Delta$, where $\Delta$ is the triangle that encloses the point. (Learn more)
We use the PETSc library in the field solver to solve MPI and OpenMP-based sparse matrix operations, such as inverse and multiplication.