Initialization of TransportProperties class in the gpu device.
MFEM_HOST_DEVICE methods for DryAirTransport class.
MFEM_HOST_DEVICE Fluxes::ComputeViscousFluxes
radius is not implemented yet, so axisymmetric case is still not supported.
Marked the place where the radius needs to be implmented, with // TODO(kevin): implement radius..
Only Fluxes::viscousFluxes_serial_gpu is replaced. There are other places where Fluxes::viscousFluxes_gpu is used.
Almost everywhere, arrays that are used in MFEM_FORALL loop are defined with hard-coded integers. These integers are now globally defined in gpudata namespace in dataStructures.hpp. Currently there are:
const int MAXINTPOINTS = 64;
const int MAXDOFS = 216;
const int MAXDIM = 3;
const int MAXSPECIES = 5;
const int MAXEQUATIONS = MAXDIM + 2 + MAXSPECIES;
There are still other hard-coded arrays, such as gpuArrays.elemFaces and gpuArrays.elems12Q. These are still to be replaced later.
Currently due to the issue #145 , _HIP_ path cannot be developed further with virtual method of objects. Everything works fine in _CUDA_ path. The gpu path is now separated by these two paths and _HIP_ path will remain unsupported for plasma.
TransportProperties
class in the gpu device.MFEM_HOST_DEVICE
methods forDryAirTransport
class.MFEM_HOST_DEVICE Fluxes::ComputeViscousFluxes
// TODO(kevin): implement radius.
.Fluxes::viscousFluxes_serial_gpu
is replaced. There are other places whereFluxes::viscousFluxes_gpu
is used.MFEM_FORALL
loop are defined with hard-coded integers. These integers are now globally defined ingpudata
namespace indataStructures.hpp
. Currently there are:const int MAXINTPOINTS = 64;
const int MAXDOFS = 216;
const int MAXDIM = 3;
const int MAXSPECIES = 5;
const int MAXEQUATIONS = MAXDIM + 2 + MAXSPECIES;
There are still other hard-coded arrays, such asgpuArrays.elemFaces
andgpuArrays.elems12Q
. These are still to be replaced later._HIP_
path cannot be developed further with virtual method of objects. Everything works fine in_CUDA_
path. The gpu path is now separated by these two paths and_HIP_
path will remain unsupported for plasma.