1 #ifndef ABLATELIBRARY_RAYSHARINGRADIATION_H
2 #define ABLATELIBRARY_RAYSHARINGRADIATION_H
4 #include "domain/reverseRange.hpp"
5 #include "radiation.hpp"
7 namespace ablate::radiation {
12 std::shared_ptr<eos::radiationProperties::RadiationModel> radiationModelIn, std::shared_ptr<ablate::monitors::logs::Log> = {});
41 PetscInt nglobalpoints)
override;
43 static inline std::string GetClassType() {
return "RaySharingRadiation"; }
54 MPI_Comm_rank(PETSC_COMM_WORLD, &rank);
56 raySegment.
cell = index;
57 raySegment.pathLength = -1;
Definition: subDomain.hpp:19
Definition: radiation.hpp:25
std::string solverId
the name of this solver
Definition: radiation.hpp:258
const std::shared_ptr< domain::Region > region
the region for which this solver applies
Definition: radiation.hpp:261
Definition: raySharingRadiation.hpp:9
void SetBoundary(CellSegment &raySegment, PetscInt index, Identifier identifier) override
Definition: raySharingRadiation.hpp:52
void IdentifyNewRaysOnRank(ablate::domain::SubDomain &subDomain, DM radReturn, PetscInt npoints) override
Definition: raySharingRadiation.cpp:17
void Setup(const ablate::domain::Range &cellRange, ablate::domain::SubDomain &subDomain) override
Definition: raySharingRadiation.cpp:9
ablate::domain::ReverseRange indexLookup
used to look up from the cell id to range index
Definition: raySharingRadiation.hpp:63
void ParticleStep(ablate::domain::SubDomain &subDomain, DM faceDM, const PetscScalar *faceGeomArray, DM radReturn, PetscInt nlocalpoints, PetscInt nglobalpoints) override
Routine to move the particle one step.
Definition: raySharingRadiation.cpp:78
std::vector< PetscReal > remoteMap
the indexes mapping to the ray id
Definition: raySharingRadiation.hpp:66
Definition: reverseRange.hpp:11
Definition: radiation.hpp:172
PetscInt cell
< Stores the cell indices of the segment locally.
Definition: radiation.hpp:174
Definition: radiation.hpp:44
PetscInt originRank
the rank for the start of the ray
Definition: radiation.hpp:46