Program Listing for File xgc.hpp
↰ Return to documentation for file (src/pcms/discretization/discretization/xgc.hpp)
#ifndef PCMS_DISCRETIZATION_DISCRETIZATION_XGC_H
#define PCMS_DISCRETIZATION_DISCRETIZATION_XGC_H
#include "pcms/discretization/discretization.h"
#include "pcms/discretization/discretization/xgc_reverse_classification.h"
#include <Kokkos_Core.hpp>
namespace pcms
{
class XGCDiscretization : public Discretization
{
public:
XGCDiscretization(const ReverseClassificationVertex& reverse_classification,
LO num_plane_nodes);
bool SameEntities(const Discretization& other) const noexcept override;
int GetDimension() const override;
LO GetNumEntities(int entity_dim) const override;
Rank1View<const ClassificationDimension, DeviceMemorySpace>
GetEntityClassificationDimensions(int entity_dim) const override;
Rank1View<const ClassificationId, DeviceMemorySpace>
GetEntityClassificationIds(int entity_dim) const override;
private:
const ReverseClassificationVertex* reverse_classification_;
LO num_plane_nodes_;
Kokkos::View<ClassificationDimension*, DeviceMemorySpace> class_dims_;
Kokkos::View<ClassificationId*, DeviceMemorySpace> class_ids_;
};
} // namespace pcms
#endif // PCMS_DISCRETIZATION_DISCRETIZATION_XGC_H