A RayTracingStudy that generates and traces Rays repeatedly that a user defines only once. More...
#include <RepeatableRayStudyBase.h>
Public Types | |
typedef DataFileName | DataFileParameterType |
Public Member Functions | |
RepeatableRayStudyBase (const InputParameters ¶meters) | |
virtual void | initialSetup () override |
virtual void | residualSetup () override |
virtual void | jacobianSetup () override |
virtual void | timestepSetup () override |
virtual void | initialize () override |
virtual void | finalize () override |
virtual void | execute () override |
Executes the study (generates and propagates Rays) More... | |
virtual void | segmentSubdomainSetup (const SubdomainID subdomain, const THREAD_ID tid, const RayID ray_id) |
Setup for on subdomain change or subdomain AND ray change during ray tracing. More... | |
virtual void | reinitSegment (const Elem *elem, const Point &start, const Point &end, const Real length, THREAD_ID tid) |
Reinitialize objects for a Ray segment for ray tracing. More... | |
virtual void | postOnSegment (const THREAD_ID tid, const std::shared_ptr< Ray > &ray) |
Called at the end of a Ray segment. More... | |
virtual void | preTrace (const THREAD_ID, const std::shared_ptr< Ray > &) |
Called at the beginning of a trace for a ray. More... | |
void | executeStudy () |
Method for executing the study so that it can be called out of the standard UO execute() More... | |
unsigned long long int | endingProcessorCrossings () const |
Total number of processor crossings for Rays that finished on this processor. More... | |
unsigned int | endingMaxProcessorCrossings () const |
Max number of total processor crossings for Rays that finished on this processor. More... | |
unsigned long long int | totalProcessorCrossings () const |
Total number of processor crossings. More... | |
unsigned int | maxProcessorCrossings () const |
Max number of processor crossings for all Rays. More... | |
unsigned long long int | endingIntersections () const |
Total number of Ray/element intersections for Rays that finished on this processor. More... | |
unsigned int | endingMaxIntersections () const |
Max number of intersections for Rays that finished on this processor. More... | |
unsigned long long int | totalIntersections () const |
Total number of Ray/element intersections. More... | |
unsigned int | maxIntersections () const |
Max number of intersections for a Ray. More... | |
unsigned int | maxTrajectoryChanges () const |
Max number of trajectory changes for a Ray. More... | |
Real | endingDistance () const |
Total amount of distance traveled by the rays that end on this processor. More... | |
Real | totalDistance () const |
Total distance traveled by all Rays. More... | |
unsigned long long int | localTraceRayResult (const int result) const |
const ParallelRayStudy & | parallelRayStudy () const |
Real | rayMaxDistance () const |
Max distance any Ray can travel. More... | |
Real | executionTime () |
Duration for execute() in seconds. More... | |
Real | executionTimeNano () |
Duration for execute() in nanoseconds. More... | |
Real | generationTime () const |
Duration for creation of all Rays in seconds. More... | |
Real | propagationTime () const |
Duration for creation of all Rays in seconds. More... | |
bool | tolerateFailure () const |
Whether or not to tolerate failure. More... | |
bool | bankRaysOnCompletion () const |
Whether or not to bank Rays on completion. More... | |
bool | rayDependentSubdomainSetup () const |
Whether or not to use Ray dependent subdomain setup. More... | |
RayDataIndex | registerRayData (const std::string &name) |
Register a value to be filled in the data on a Ray with a given name. More... | |
std::vector< RayDataIndex > | registerRayData (const std::vector< std::string > &names) |
Register values to be filled in the data on a Ray with a given name. More... | |
RayDataIndex | getRayDataIndex (const std::string &name, const bool graceful=false) const |
Gets the index associated with a registered value in the Ray data. More... | |
std::vector< RayDataIndex > | getRayDataIndices (const std::vector< std::string > &names, const bool graceful=false) const |
Gets the indices associated with registered values in the Ray data. More... | |
const std::string & | getRayDataName (const RayDataIndex index) const |
Gets the name associated with a registered value in the Ray data. More... | |
std::vector< std::string > | getRayDataNames (const std::vector< RayDataIndex > &indices) const |
Gets the names associated with registered values in the Ray data. More... | |
std::size_t | rayDataSize () const |
The registered size of values in the Ray data. More... | |
bool | hasRayData () const |
Whether or not any Ray data are registered. More... | |
const std::vector< std::string > & | rayDataNames () const |
The Ray data names. More... | |
RayDataIndex | registerRayAuxData (const std::string &name) |
Register a value to be filled in the aux data on a Ray with a given name. More... | |
std::vector< RayDataIndex > | registerRayAuxData (const std::vector< std::string > &names) |
Register values to be filled in the aux data on a Ray with a given name. More... | |
RayDataIndex | getRayAuxDataIndex (const std::string &name, const bool graceful=false) const |
Gets the index associated with a registered value in the Ray aux data. More... | |
std::vector< RayDataIndex > | getRayAuxDataIndices (const std::vector< std::string > &names, const bool graceful=false) const |
Gets the indices associated with registered values in the Ray aux data. More... | |
const std::string & | getRayAuxDataName (const RayDataIndex index) const |
Gets the name associated with a registered value in the Ray aux data. More... | |
std::vector< std::string > | getRayAuxDataNames (const std::vector< RayDataIndex > &indices) const |
Gets the names associated with registered values in the Ray aux data. More... | |
std::size_t | rayAuxDataSize () const |
The registered size of values in the Ray aux data. More... | |
bool | hasRayAuxData () const |
Whether or not any Ray aux data are registered. More... | |
const std::vector< std::string > & | rayAuxDataNames () const |
The Ray aux data names. More... | |
bool | hasRayKernels (const THREAD_ID tid) |
Whether or not there are currently any active RayKernel objects. More... | |
void | getRayKernels (std::vector< RayKernelBase *> &result, SubdomainID id, THREAD_ID tid) |
Fills the active RayKernels associated with this study and a block into result. More... | |
template<typename T > | |
void | getRayKernels (std::vector< T *> &result, THREAD_ID tid) |
Fills the active RayKernels associated with this study into result. More... | |
void | getRayKernels (std::vector< RayKernelBase *> &result, SubdomainID id, THREAD_ID tid, RayID ray_id) |
Fills the active RayKernels associeted with this study, block, and potentially Ray into result. More... | |
void | getRayBCs (std::vector< RayBoundaryConditionBase *> &result, BoundaryID id, THREAD_ID tid) |
Fills the active RayBCs associated with this study and a boundary into result. More... | |
template<typename T > | |
void | getRayBCs (std::vector< T *> &result, const std::vector< BoundaryID > &ids, THREAD_ID tid) |
Fills the active RayBCs associated with this study and boundaries result. More... | |
template<typename T > | |
void | getRayBCs (std::vector< T *> &result, THREAD_ID tid) |
Fills the active RayBCs associated with this study into result. More... | |
virtual void | getRayBCs (std::vector< RayBoundaryConditionBase *> &result, const std::vector< TraceRayBndElement > &bnd_elems, THREAD_ID tid, RayID ray_id) |
Fills the active RayBCs associated with thie study, boundary elements, and potentially Ray into result. More... | |
const std::vector< RayKernelBase * > & | currentRayKernels (THREAD_ID tid) const |
Gets the current RayKernels for a thread, which are set in segmentSubdomainSetup() More... | |
const BoundingBox & | boundingBox () const |
Get the nodal bounding box for the domain. More... | |
const BoundingBox & | looseBoundingBox () const |
Get the loose nodal bounding box for the domain. More... | |
Real | domainMaxLength () const |
Get the inflated maximum length across the domain. More... | |
Real | totalVolume () const |
Get the current total volume of the domain. More... | |
bool | isRectangularDomain () const |
Whether or not the domain is rectangular (if it is prefectly encompassed by its bounding box) More... | |
bool | hasInternalSidesets () const |
Whether or not the local mesh has internal sidesets that have RayBCs on them. More... | |
const std::vector< std::vector< BoundaryID > > & | getInternalSidesets (const Elem *elem) const |
Get the internal sidesets (that have RayBC(s)) for each side for a given element. More... | |
const std::set< BoundaryID > & | getInternalSidesets () const |
Gets the internal sidesets (that have RayBCs) within the local domain. More... | |
bool | sideIsNonPlanar (const Elem *elem, const unsigned short s) const |
Whether or not the side on elem elem is non-planar. More... | |
bool | hasSameLevelActiveElems () const |
Whether or not the mesh has active elements of the same level. More... | |
void | moveRayToBufferDuringTrace (std::shared_ptr< Ray > &ray, const THREAD_ID tid, const AcquireMoveDuringTraceKey &) |
INTERNAL method for moving a Ray into the buffer during tracing. More... | |
MeshBase & | meshBase () const |
Access to the libMesh MeshBase. More... | |
MooseMesh & | mesh () |
virtual const Point & | getSideNormal (const Elem *elem, const unsigned short side, const THREAD_ID tid) |
Get the outward normal for a given element side. More... | |
virtual const Point * | getElemNormals (const Elem *, const THREAD_ID) |
Gets the outward normals for a given element. More... | |
RayData | getBankedRayData (const RayID ray_id, const RayDataIndex index) const |
Gets the data value for a banked ray with a given ID. More... | |
RayData | getBankedRayAuxData (const RayID ray_id, const RayDataIndex index) const |
Gets the data value for a banked ray with a given ID. More... | |
RayID | registeredRayID (const std::string &name, const bool graceful=false) const |
Gets the ID of a registered ray. More... | |
const std::string & | registeredRayName (const RayID ray_id) const |
Gets the name of a registered ray. More... | |
bool | useRayRegistration () const |
Whether or not ray registration is being used. More... | |
bool | dataOnCacheTraces () const |
Whether or not to store the Ray data on the cached Ray traces. More... | |
bool | auxDataOnCacheTraces () const |
Whether or not to store the Ray aux data on the cached Ray traces. More... | |
bool | segmentsOnCacheTraces () const |
Whether or not to cache individual element segments when _cache_traces = true. More... | |
virtual bool | shouldCacheTrace (const std::shared_ptr< Ray > &) const |
Virtual that allows for selection in if a Ray should be cached or not (only used when _cache_traces). More... | |
TraceData & | initThreadedCachedTrace (const std::shared_ptr< Ray > &ray, THREAD_ID tid) |
Initialize a Ray in the threaded cached trace map to be filled with segments. More... | |
const std::vector< TraceData > & | getCachedTraces () const |
Get the cached trace data structure. More... | |
Real | subdomainHmax (const SubdomainID subdomain_id) const |
Get the cached hmax for all elements in a subdomain. More... | |
virtual void | onCompleteRay (const std::shared_ptr< Ray > &ray) |
Entry point for acting on a ray when it is completed (shouldContinue() == false) More... | |
void | verifyUniqueRayIDs (const std::vector< std::shared_ptr< Ray >>::const_iterator begin, const std::vector< std::shared_ptr< Ray >>::const_iterator end, const bool global, const std::string &error_suffix) const |
Verifies that the Rays in the given range have unique Ray IDs. More... | |
void | verifyUniqueRays (const std::vector< std::shared_ptr< Ray >>::const_iterator begin, const std::vector< std::shared_ptr< Ray >>::const_iterator end, const std::string &error_suffix) |
Verifies that the Rays in the given range are unique. More... | |
bool | currentlyPropagating () const |
Whether or not the study is propagating (tracing Rays) More... | |
bool | currentlyGenerating () const |
Whether or not the study is generating. More... | |
bool | verifyRays () const |
Whether or not to verify if Rays have valid information before being traced. More... | |
bool | verifyTraceIntersections () const |
Whether or not trace verification is enabled in devel/dbg modes. More... | |
bool | sideIsIncoming (const Elem *const elem, const unsigned short side, const Point &direction, const THREAD_ID tid) |
Whether or not side is incoming on element elem in direction direction . More... | |
bool | warnNonPlanar () const |
Whether or not to produce a warning when interacting with a non-planar mesh. More... | |
ParallelStudy< std::shared_ptr< Ray >, Ray > * | parallelStudy () |
The underlying parallel study: used for the context for calling the packed range routines. More... | |
const libMesh::Elem & | elemSide (const libMesh::Elem &elem, const unsigned int s, const THREAD_ID tid=0) |
Get an element's side pointer without excessive memory allocation. More... | |
SubProblem & | getSubProblem () const |
bool | shouldDuplicateInitialExecution () const |
virtual Real | spatialValue (const Point &) const |
virtual const std::vector< Point > | spatialPoints () const |
void | gatherSum (T &value) |
void | gatherMax (T &value) |
void | gatherMin (T &value) |
void | gatherProxyValueMax (T1 &proxy, T2 &value) |
void | gatherProxyValueMin (T1 &proxy, T2 &value) |
void | setPrimaryThreadCopy (UserObject *primary) |
UserObject * | primaryThreadCopy () |
std::set< UserObjectName > | getDependObjects () const |
virtual bool | needThreadedCopy () const |
const std::set< std::string > & | getRequestedItems () override |
const std::set< std::string > & | getSuppliedItems () override |
unsigned int | systemNumber () const |
virtual bool | enabled () const |
std::shared_ptr< MooseObject > | getSharedPtr () |
std::shared_ptr< const MooseObject > | getSharedPtr () const |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
std::string | errorPrefix (const std::string &error_type) const |
void | callMooseError (std::string msg, const bool with_prefix) const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &relative_path) const |
std::string | getDataFilePath (const std::string &relative_path) const |
virtual void | customSetup (const ExecFlagType &) |
const ExecFlagEnum & | getExecuteOnEnum () const |
UserObjectName | getUserObjectName (const std::string ¶m_name) const |
const T & | getUserObject (const std::string ¶m_name, bool is_dependency=true) const |
const T & | getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBase (const std::string ¶m_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const |
const std::vector< MooseVariableScalar *> & | getCoupledMooseScalarVars () |
const std::set< TagID > & | getScalarVariableCoupleableVectorTags () const |
const std::set< TagID > & | getScalarVariableCoupleableMatrixTags () const |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > | getBlockMaterialProperty (const MaterialPropertyName &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty () |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialPropertyByName (const std::string &prop_name) |
const MaterialProperty< T > & | getZeroMaterialProperty (Ts... args) |
std::set< SubdomainID > | getMaterialPropertyBlocks (const std::string &name) |
std::vector< SubdomainName > | getMaterialPropertyBlockNames (const std::string &name) |
std::set< BoundaryID > | getMaterialPropertyBoundaryIDs (const std::string &name) |
std::vector< BoundaryName > | getMaterialPropertyBoundaryNames (const std::string &name) |
void | checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete) |
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > | buildRequiredMaterials (bool allow_stateful=true) |
void | statefulPropertiesAllowed (bool) |
bool | getMaterialPropertyCalled () const |
const std::unordered_set< unsigned int > & | getMatPropDependencies () const |
virtual void | resolveOptionalProperties () |
const GenericMaterialProperty< T, is_ad > & | getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state) |
bool | isImplicit () |
Moose::StateArg | determineState () const |
virtual void | threadJoin (const UserObject &) override |
virtual void | threadJoin (const UserObject &) override |
virtual void | subdomainSetup () override |
virtual void | subdomainSetup () override |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
const Function & | getFunction (const std::string &name) const |
const Function & | getFunctionByName (const FunctionName &name) const |
bool | hasFunction (const std::string ¶m_name) const |
bool | hasFunctionByName (const FunctionName &name) const |
bool | isDefaultPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessor (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessorByName (const PostprocessorName &name) const |
std::size_t | coupledPostprocessors (const std::string ¶m_name) const |
const PostprocessorName & | getPostprocessorName (const std::string ¶m_name, const unsigned int index=0) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name) const |
const VectorPostprocessorName & | getVectorPostprocessorName (const std::string ¶m_name) const |
T & | getSampler (const std::string &name) |
Sampler & | getSampler (const std::string &name) |
T & | getSamplerByName (const SamplerName &name) |
Sampler & | getSamplerByName (const SamplerName &name) |
PerfGraph & | perfGraph () |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
std::shared_ptr< Ray > | acquireRayDuringTrace (const THREAD_ID tid, const AcquireMoveDuringTraceKey &) |
INTERNAL methods for acquiring a Ray during a trace in RayKernels and RayBCs. More... | |
std::shared_ptr< Ray > | acquireRayInternal (const RayID id, const std::size_t data_size, const std::size_t aux_data_size, const bool reset, const AcquireRayInternalKey &) |
TraceRay & | traceRay (const THREAD_ID tid) |
Gets the threaded TraceRay object for tid . More... | |
const TraceRay & | traceRay (const THREAD_ID tid) const |
Static Public Member Functions | |
static InputParameters | validParams () |
static void | sort (typename std::vector< T > &vector) |
static void | sortDFS (typename std::vector< T > &vector) |
static void | cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header) |
Public Attributes | |
const ConsoleStream | _console |
Static Public Attributes | |
static constexpr PropertyValue::id_type | default_property_id |
static constexpr PropertyValue::id_type | zero_property_id |
static constexpr auto | SYSTEM |
static constexpr auto | NAME |
Protected Member Functions | |
virtual void | meshChanged () override |
virtual void | generateRays () override |
Subclasses should override this to determine how to generate Rays. More... | |
virtual void | defineRays ()=0 |
Entry point for the user to create Rays. More... | |
virtual void | preExecuteStudy () |
Entry point before study execution. More... | |
virtual void | postExecuteStudy () |
Entry point after study execution. More... | |
Real | computeTotalVolume () |
Helper function for computing the total domain volume. More... | |
std::vector< RayKernelBase * > & | currentRayKernelsWrite (THREAD_ID tid) |
Gets the writeable current RayKernels for a thread. More... | |
void | reserveRayBuffer (const std::size_t size) |
Reserve size entires in the Ray buffer. More... | |
bool | sameLevelActiveElems () const |
Determine whether or not the mesh currently has active elements that are all the same level. More... | |
virtual void | buildSegmentQuadrature (const Point &start, const Point &end, const Real length, std::vector< Point > &points, std::vector< Real > &weights) const |
Builds quadrature points for a given segment using the _segment_qrule. More... | |
const std::vector< std::shared_ptr< Ray > > & | rayBank () const |
Get the Ray bank. More... | |
std::shared_ptr< Ray > | getBankedRay (const RayID ray_id) const |
Gets the Ray with the ID ray_id from the Ray bank. More... | |
void | resetUniqueRayIDs () |
Resets the generation of unique RayIDs via generateUniqueRayID() to the beginning of the range. More... | |
void | resetReplicatedRayIDs () |
Resets the generation of unique replicated RayIDs accessed via generateReplicatedRayID(). More... | |
std::vector< RayTracingObject * > | getRayTracingObjects () |
Gets all of the currently active RayTracingObjects. More... | |
virtual RayID | generateUniqueRayID (const THREAD_ID tid) |
Generates a unique RayID to be used for a Ray. More... | |
RayID | generateReplicatedRayID () |
Generates a Ray ID that is replicated across all processors. More... | |
void | moveRayToBuffer (std::shared_ptr< Ray > &ray) |
Moves a ray to the buffer to be traced during generateRays(). More... | |
void | moveRaysToBuffer (std::vector< std::shared_ptr< Ray >> &rays) |
Moves rays to the buffer to be traced during generateRays(). More... | |
virtual void | addPostprocessorDependencyHelper (const PostprocessorName &name) const override |
virtual void | addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &name) const override |
virtual void | addUserObjectDependencyHelper (const UserObject &uo) const override |
void | addReporterDependencyHelper (const ReporterName &reporter_name) override |
const ReporterName & | getReporterName (const std::string ¶m_name) const |
T & | declareRestartableData (const std::string &data_name, Args &&... args) |
ManagedValue< T > | declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
const T & | getRestartableData (const std::string &data_name) const |
T & | declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
T & | declareRecoverableData (const std::string &data_name, Args &&... args) |
T & | declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args) |
T & | declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args) |
std::string | restartableName (const std::string &data_name) const |
const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
const T & | getMeshProperty (const std::string &data_name) |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name) const |
bool | hasMeshProperty (const std::string &data_name) const |
std::string | meshPropertyName (const std::string &data_name) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
std::string | timedSectionName (const std::string §ion_name) const |
bool | isCoupledScalar (const std::string &var_name, unsigned int i=0) const |
unsigned int | coupledScalarComponents (const std::string &var_name) const |
unsigned int | coupledScalar (const std::string &var_name, unsigned int comp=0) const |
libMesh::Order | coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< is_ad > & | coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const VariableValue & | coupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const |
const MooseVariableScalar * | getScalarVar (const std::string &var_name, unsigned int comp) const |
virtual void | checkMaterialProperty (const std::string &name, const unsigned int state) |
void | markMatPropRequested (const std::string &) |
MaterialPropertyName | getMaterialPropertyName (const std::string &name) const |
void | checkExecutionStage () |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
std::shared_ptr< Ray > | acquireRay () |
User APIs for constructing Rays within the RayTracingStudy. More... | |
std::shared_ptr< Ray > | acquireUnsizedRay () |
Acquire a Ray from the pool of Rays within generateRays(), without resizing the data (sizes the data to zero). More... | |
std::shared_ptr< Ray > | acquireReplicatedRay () |
Acquire a Ray from the pool of Rays within generateRays() in a replicated fashion. More... | |
std::shared_ptr< Ray > | acquireCopiedRay (const Ray &ray) |
Acquires a Ray that that is copied from another Ray within generateRays(). More... | |
std::shared_ptr< Ray > | acquireRegisteredRay (const std::string &name) |
Acquires a Ray with a given name within generateRays(). More... | |
Static Protected Member Functions | |
static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Protected Attributes | |
std::vector< std::shared_ptr< Ray > > & | _rays |
Vector of Rays that the user will fill into in defineRays() (restartable) More... | |
const bool | _define_rays_replicated |
Whether or not the Rays filled into _rays are replicated across all processors. More... | |
const bool | _claim_after_define_rays |
Whether or not Rays need to be claimed after defineRays() More... | |
bool & | _should_define_rays |
Whether or not we should call defineRays() on the next generateRays() Can be set to true in derived classes if they wish to redefine the rays after they have been defined once. More... | |
MooseMesh & | _mesh |
The Mesh. More... | |
const Parallel::Communicator & | _comm |
The Communicator. More... | |
const processor_id_type | _pid |
The rank of this processor (this actually takes time to lookup - so just do it once) More... | |
const bool | _ray_kernel_coverage_check |
Whether or not to perform coverage checks on RayKernels. More... | |
const bool | _warn_non_planar |
Whether not to warn if non-planar faces are found. More... | |
const bool | _use_ray_registration |
Whether or not to use Ray registration. More... | |
const bool | _use_internal_sidesets |
Whether or not to use the internal sidesets in ray tracing. More... | |
const bool | _tolerate_failure |
Whether or not to tolerate a Ray Tracing failure. More... | |
const bool | _bank_rays_on_completion |
Whether or not to bank rays on completion. More... | |
const bool | _ray_dependent_subdomain_setup |
Whether or not subdomain setup is dependent on the Ray. More... | |
bool | _always_cache_traces |
Whether or not to cache traces on every trace execution. More... | |
const bool | _data_on_cache_traces |
Whether or not to store the Ray data on the cache traces. More... | |
const bool | _aux_data_on_cache_traces |
Whether or not to store the Ray aux data on the cache traces. More... | |
const bool | _segments_on_cache_traces |
Whether or not to cache individual element segments when caching. More... | |
const Real | _ray_max_distance |
Max distance a Ray can travel before being killed (can change) More... | |
const bool | _verify_rays |
Whether or not to verify if Rays have valid information before being traced. More... | |
const bool | _verify_trace_intersections |
Whether or not to verify the trace intersections in devel and dbg modes. More... | |
SubProblem & | _subproblem |
FEProblemBase & | _fe_problem |
SystemBase & | _sys |
const THREAD_ID | _tid |
Assembly & | _assembly |
const Moose::CoordinateSystemType & | _coord_sys |
const bool | _duplicate_initial_execution |
std::set< std::string > | _depend_uo |
const bool & | _enabled |
MooseApp & | _app |
const std::string | _type |
const std::string | _name |
const InputParameters & | _pars |
Factory & | _factory |
ActionFactory & | _action_factory |
const ExecFlagEnum & | _execute_enum |
const ExecFlagType & | _current_execute_flag |
MooseApp & | _restartable_app |
const std::string | _restartable_system_name |
const THREAD_ID | _restartable_tid |
const bool | _restartable_read_only |
FEProblemBase & | _mci_feproblem |
MooseApp & | _pg_moose_app |
const std::string | _prefix |
FEProblemBase & | _sc_fe_problem |
const THREAD_ID | _sc_tid |
const Real & | _real_zero |
const VariableValue & | _scalar_zero |
const Point & | _point_zero |
const InputParameters & | _mi_params |
const std::string | _mi_name |
const MooseObjectName | _mi_moose_object_name |
FEProblemBase & | _mi_feproblem |
SubProblem & | _mi_subproblem |
const THREAD_ID | _mi_tid |
const Moose::MaterialDataType | _material_data_type |
MaterialData & | _material_data |
bool | _stateful_allowed |
bool | _get_material_property_called |
std::vector< std::unique_ptr< PropertyValue > > | _default_properties |
std::unordered_set< unsigned int > | _material_property_dependencies |
const MaterialPropertyName | _get_suffix |
const bool | _use_interpolated_state |
const InputParameters & | _ti_params |
FEProblemBase & | _ti_feproblem |
bool | _is_implicit |
Real & | _t |
const Real & | _t_old |
int & | _t_step |
Real & | _dt |
Real & | _dt_old |
bool | _is_transient |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static const std::string | _interpolated_old |
static const std::string | _interpolated_older |
Private Member Functions | |
void | claimRaysInternal () |
void | defineRaysInternal () |
void | verifyReplicatedRays () |
Verifies that the Rays in _rays are replicated across processors. More... | |
Private Attributes | |
std::vector< std::shared_ptr< Ray > > & | _local_rays |
Storage for all of the Rays this processor is responsible for (restartable) More... | |
ClaimRays | _claim_rays |
The object used to claim Rays. More... | |
bool & | _should_claim_rays |
Whether or not we should call claimRays() on the next generateRays() (restartable) More... | |
A RayTracingStudy that generates and traces Rays repeatedly that a user defines only once.
To use, override defineRays()
Definition at line 22 of file RepeatableRayStudyBase.h.
RepeatableRayStudyBase::RepeatableRayStudyBase | ( | const InputParameters & | parameters | ) |
Definition at line 31 of file RepeatableRayStudyBase.C.
Acquires a Ray that that is copied from another Ray within generateRays().
All of the information is copied except for the counters (intersections, processor crossings, etc), which are reset.
Definition at line 1731 of file RayTracingStudy.C.
Referenced by RepeatableRayStudyBaseTest::defineRays(), RayTracingStudyTest::generateRays(), and generateRays().
|
protectedinherited |
User APIs for constructing Rays within the RayTracingStudy.
Rays can ONLY be constructed by users within the RayTracingStudy via the following methods. Acquire a Ray from the pool of Rays within generateRays().
A unique ID is generated and assigned to the acquired Ray. The data and aux data sizes are set according to the sizes required by the RayTracingStudy.
Definition at line 1667 of file RayTracingStudy.C.
Referenced by LotsOfRaysRayStudy::defineRay(), StationaryRayStudyTest::generateRays(), RayTracingStudyTest::generateRays(), TestRay::generateRays(), TestReuseRaysStudy::generateRays(), TestTransientRaysStudy::generateRays(), and ViewFactorRayStudy::generateRays().
|
inherited |
INTERNAL methods for acquiring a Ray during a trace in RayKernels and RayBCs.
You should not use these APIs directly. If you wish to acquire a Ray during generation during generateRays()), use the protected RayTracingStudy::acquire{}Ray() methods. If you wish to acquire a Ray during propagation in RayKernels and RayBC, use the protected RayKernelBase::acquireRay() and RayBoundaryConditionBase::acquireRay(), respectively.
Definition at line 1739 of file RayTracingStudy.C.
Referenced by RayBoundaryConditionBase::acquireRay(), and RayKernelBase::acquireRay().
|
inlineinherited |
Definition at line 489 of file RayTracingStudy.h.
Referenced by dataLoad(), and libMesh::Parallel::Packing< std::shared_ptr< Ray > >::unpack().
|
protectedinherited |
Acquires a Ray with a given name within generateRays().
Used when ray registration is enabled, that is, the private paramater '_use_ray_registration' == true.
This method must be called on all processors at the same time with the same name. This method can only be called on thread 0, which is why there is no thread argument.
Definition at line 1712 of file RayTracingStudy.C.
Referenced by RepeatableRayStudyBaseTest::defineRays(), RepeatableRayStudy::defineRays(), and RayTracingStudyTest::generateRays().
|
protectedinherited |
Acquire a Ray from the pool of Rays within generateRays() in a replicated fashion.
That is, this method must be called on all processors at the same time and the ID of the resulting Ray is the same across all processors.
The data and aux data sizes are set according to the sizes required by the RayTracingStudy.
Definition at line 1696 of file RayTracingStudy.C.
Referenced by ConeRayStudy::defineRays(), and TestPICRayStudy::generateRays().
|
protectedinherited |
Acquire a Ray from the pool of Rays within generateRays(), without resizing the data (sizes the data to zero).
A unique ID is generated and assigned to the acquired Ray.
Definition at line 1682 of file RayTracingStudy.C.
Referenced by LotsOfRaysRayStudy::defineRay().
|
inlineinherited |
Whether or not to store the Ray aux data on the cached Ray traces.
Definition at line 573 of file RayTracingStudy.h.
Referenced by TraceRay::continueTraceOffProcessor(), TraceRay::onCompleteTrace(), TraceRay::onContinueTrace(), TraceRay::onTrajectoryChanged(), RayTracingMeshOutput::RayTracingMeshOutput(), and TraceRay::trace().
|
inlineinherited |
Whether or not to bank Rays on completion.
Definition at line 214 of file RayTracingStudy.h.
Referenced by RayIntegralValue::initialize(), and RayDataValue::RayDataValue().
|
inlineinherited |
Get the nodal bounding box for the domain.
Definition at line 422 of file RayTracingStudy.h.
Referenced by TestRayDataStudy::auxDataValue(), TestRayDataStudy::dataValue(), LotsOfRaysRayStudy::defineRays(), and TraceRay::trace().
|
protectedvirtualinherited |
Builds quadrature points for a given segment using the _segment_qrule.
start | Start point of the segment |
end | End point of the segment |
length | The lengh of the start -> end segment |
points | Points to fill into (should be sized ahead of time) |
weights | Weights to fill into (should be sized ahead of time) |
Definition at line 710 of file RayTracingStudy.C.
Referenced by RayTracingStudy::reinitSegment().
|
private |
Definition at line 138 of file RepeatableRayStudyBase.C.
Referenced by generateRays().
|
protectedinherited |
Helper function for computing the total domain volume.
Definition at line 1387 of file RayTracingStudy.C.
|
inlineinherited |
Whether or not the study is generating.
Definition at line 641 of file RayTracingStudy.h.
Referenced by RayTracingStudy::acquireCopiedRay(), RayTracingStudy::acquireRay(), RayTracingStudy::acquireRegisteredRay(), RayTracingStudy::acquireReplicatedRay(), RayTracingStudy::acquireUnsizedRay(), dataLoad(), RayTracingStudy::moveRaysToBuffer(), RayTracingStudy::moveRayToBuffer(), RayTracingStudy::rayBank(), RayTracingStudy::reserveRayBuffer(), Ray::resetCounters(), RayTracingStudy::resetReplicatedRayIDs(), and RayTracingStudy::resetUniqueRayIDs().
|
inlineinherited |
Whether or not the study is propagating (tracing Rays)
Definition at line 637 of file RayTracingStudy.h.
Referenced by RayBoundaryConditionBase::acquireRay(), RayKernelBase::acquireRay(), RayTracingStudy::acquireRayDuringTrace(), ViewFactorRayStudy::addToViewFactorInfo(), RayKernelBase::changeRayStartDirection(), dataLoad(), RayTracingStudy::initThreadedCachedTrace(), RayBoundaryConditionBase::moveRayToBuffer(), RayKernelBase::moveRayToBuffer(), RayTracingStudy::moveRayToBufferDuringTrace(), RayTracingStudy::onCompleteRay(), RayTracingStudy::postOnSegment(), RayTracingStudy::rayBank(), RayTracingStudy::reinitSegment(), RayTracingStudy::resetReplicatedRayIDs(), RayTracingStudy::resetUniqueRayIDs(), RayTracingStudy::segmentSubdomainSetup(), and TraceRay::trace().
|
inlineinherited |
Gets the current RayKernels for a thread, which are set in segmentSubdomainSetup()
Definition at line 414 of file RayTracingStudy.h.
Referenced by TraceRay::onCompleteTrace(), TraceRay::onSegment(), TraceRay::onSubdomainChanged(), RayTracingStudy::reinitSegment(), and TraceRay::trace().
|
inlineprotectedinherited |
Gets the writeable current RayKernels for a thread.
Allows for other ray studies to fill the current ray kernels in a custom manner
Definition at line 721 of file RayTracingStudy.h.
|
inlineinherited |
Whether or not to store the Ray data on the cached Ray traces.
Definition at line 569 of file RayTracingStudy.h.
Referenced by TraceRay::continueTraceOffProcessor(), TraceRay::onCompleteTrace(), TraceRay::onContinueTrace(), TraceRay::onTrajectoryChanged(), RayTracingMeshOutput::RayTracingMeshOutput(), and TraceRay::trace().
|
protectedpure virtual |
Entry point for the user to create Rays.
Users must override this function to fill _rays.
See the comments in RepeatableRayStudyBase::generateRays() for more information.
Implemented in LotsOfRaysRayStudy, RepeatableRayStudyDefineNoClaimTest, RepeatableRayStudy, ConeRayStudy, and RepeatableRayStudyBaseTest.
Referenced by defineRaysInternal().
|
private |
Definition at line 146 of file RepeatableRayStudyBase.C.
Referenced by generateRays().
|
inlineinherited |
Get the inflated maximum length across the domain.
Definition at line 433 of file RayTracingStudy.h.
Referenced by TraceRay::exitsElem(), and TraceRay::trace().
|
inlineinherited |
Get an element's side pointer without excessive memory allocation.
elem | The element to build a side for |
s | The side to build |
tid | The thread id |
Definition at line 689 of file RayTracingStudy.h.
Referenced by LotsOfRaysRayStudy::defineRays(), StationaryRayStudyTest::generateRays(), RayTracingStudy::nonPlanarSideSetup(), and ClaimRays::postClaimRay().
|
inlineinherited |
Total amount of distance traveled by the rays that end on this processor.
Definition at line 168 of file RayTracingStudy.h.
|
inlineinherited |
Total number of Ray/element intersections for Rays that finished on this processor.
Definition at line 147 of file RayTracingStudy.h.
|
inlineinherited |
Max number of intersections for Rays that finished on this processor.
Definition at line 151 of file RayTracingStudy.h.
|
inlineinherited |
Max number of total processor crossings for Rays that finished on this processor.
Definition at line 134 of file RayTracingStudy.h.
|
inlineinherited |
Total number of processor crossings for Rays that finished on this processor.
Definition at line 130 of file RayTracingStudy.h.
|
overridevirtualinherited |
Executes the study (generates and propagates Rays)
Implements GeneralUserObject.
Reimplemented in SingleTraceLineSourceTest.
Definition at line 310 of file RayTracingStudy.C.
Referenced by SingleTraceLineSourceTest::execute().
|
inherited |
Method for executing the study so that it can be called out of the standard UO execute()
Definition at line 771 of file RayTracingStudy.C.
Referenced by RayTracingStudy::execute().
|
inlineinherited |
Duration for execute() in seconds.
Definition at line 189 of file RayTracingStudy.h.
|
inlineinherited |
Duration for execute() in nanoseconds.
Definition at line 193 of file RayTracingStudy.h.
|
inlineoverridevirtualinherited |
|
overrideprotectedvirtual |
Subclasses should override this to determine how to generate Rays.
This will be called within execute() and makes up the "generation phase" of the algorithm.
Implements RayTracingStudy.
Definition at line 57 of file RepeatableRayStudyBase.C.
|
protectedinherited |
Generates a Ray ID that is replicated across all processors.
Definition at line 1650 of file RayTracingStudy.C.
Referenced by RayTracingStudy::acquireReplicatedRay().
Generates a unique RayID to be used for a Ray.
This is used internally when acquiring new Rays.
Definition at line 1625 of file RayTracingStudy.C.
Referenced by RayTracingStudy::acquireRay(), RayTracingStudy::acquireRayDuringTrace(), and RayTracingStudy::acquireUnsizedRay().
|
inlineinherited |
Duration for creation of all Rays in seconds.
Definition at line 200 of file RayTracingStudy.h.
Referenced by PerProcessorRayTracingResultsVectorPostprocessor::execute().
Gets the Ray with the ID ray_id
from the Ray bank.
If the Ray with ray_id
is not found across all processors, this will error.
This will ONLY return a valid Ray (not a null shared_ptr) on the processor that has the Ray.
Definition at line 1277 of file RayTracingStudy.C.
Referenced by RayTracingStudy::getBankedRayDataInternal().
|
inherited |
Gets the data value for a banked ray with a given ID.
This will return the value replicated across all processors
Definition at line 1321 of file RayTracingStudy.C.
Referenced by RayDataValue::getValue().
|
inherited |
Gets the data value for a banked ray with a given ID.
This will return the value replicated across all processors
Definition at line 1315 of file RayTracingStudy.C.
Referenced by RayDataValue::getValue(), and RayIntegralValue::getValue().
|
inlineinherited |
Get the cached trace data structure.
Definition at line 595 of file RayTracingStudy.h.
Referenced by RayTracingMeshOutput::buildIDMap(), RayTracingMeshOutput::buildSegmentMesh(), RayTracingMeshOutput::fillFields(), and RayTracingMeshOutput::output().
|
inlinevirtualinherited |
Gets the outward normals for a given element.
Returns a pointer to the normal for the zeroth side.
Reimplemented in BackfaceCullingStudyTest.
Definition at line 531 of file RayTracingStudy.h.
Referenced by TraceRay::moveThroughNeighbor(), RayTracingStudyTest::RayTracingStudyTest(), and TraceRay::trace().
|
inherited |
Get the internal sidesets (that have RayBC(s)) for each side for a given element.
This will be empty if the elem does not have any internal sidesets that have RayBC(s)
Referenced by TraceRay::applyOnInternalBoundary().
|
inlineinherited |
Gets the internal sidesets (that have RayBCs) within the local domain.
Definition at line 459 of file RayTracingStudy.h.
Referenced by ViewFactorRayStudy::initialSetup().
|
inherited |
Gets the index associated with a registered value in the Ray aux data.
name | The value name to get the index of |
graceful | Whether or not to exit gracefully if none is found (return INVALID_RAY_DATA_INDEX) |
Definition at line 1110 of file RayTracingStudy.C.
Referenced by RayDataValue::initialize(), RayTracingStudyTest::RayTracingStudyTest(), and RayTracingMeshOutput::setupEquationSystem().
|
inherited |
Gets the indices associated with registered values in the Ray aux data.
names | The value names to get the indices of |
graceful | Whether or not to exit gracefully if none is found (index is filled with INVALID_RAY_DATA_INDEX) |
Definition at line 1117 of file RayTracingStudy.C.
|
inherited |
Gets the name associated with a registered value in the Ray aux data.
index | The index to get the name of |
Definition at line 1124 of file RayTracingStudy.C.
Referenced by Ray::getInfo().
|
inherited |
Gets the names associated with registered values in the Ray aux data.
indices | The indices to get the names of |
|
inherited |
Fills the active RayBCs associated with this study and a boundary into result.
Definition at line 1188 of file RayTracingStudy.C.
Referenced by RayTracingStudy::dependencyChecks(), RayTracingStudy::getRayBCs(), ViewFactorRayStudy::initialSetup(), RayTracingStudy::internalSidesetSetup(), TraceRay::onBoundary(), and RayTracingStudyTest::RayTracingStudyTest().
|
inlineinherited |
Fills the active RayBCs associated with this study and boundaries result.
Definition at line 376 of file RayTracingStudy.h.
|
inlineinherited |
Fills the active RayBCs associated with this study into result.
Definition at line 390 of file RayTracingStudy.h.
|
virtualinherited |
Fills the active RayBCs associated with thie study, boundary elements, and potentially Ray into result.
This is purposely virtual because it allows derived studies to optimize the retrieval of RayBCs during the trace in TraceRay.
Definition at line 1211 of file RayTracingStudy.C.
|
inherited |
Gets the index associated with a registered value in the Ray data.
name | The value name to get the index of |
graceful | Whether or not to exit gracefully if none is found (return INVALID_RAY_DATA_INDEX) |
Definition at line 1079 of file RayTracingStudy.C.
Referenced by RayDataValue::initialize(), RayIntegralValue::initialize(), RayTracingStudyTest::RayTracingStudyTest(), and RayTracingMeshOutput::setupEquationSystem().
|
inherited |
Gets the indices associated with registered values in the Ray data.
names | The value names to get the indices of |
graceful | Whether or not to exit gracefully if none is found (index is filled with INVALID_RAY_DATA_INDEX) |
Definition at line 1085 of file RayTracingStudy.C.
|
inherited |
Gets the name associated with a registered value in the Ray data.
index | The index to get the name of |
Definition at line 1092 of file RayTracingStudy.C.
Referenced by Ray::getInfo(), and RayTracingStudyTest::RayTracingStudyTest().
|
inherited |
Gets the names associated with registered values in the Ray data.
indices | The indices to get the names of |
|
inherited |
Fills the active RayKernels associated with this study and a block into result.
Definition at line 1138 of file RayTracingStudy.C.
Referenced by RayTracingStudy::coverageChecks(), RayTracingStudy::dependencyChecks(), RayTracingStudy::getRayKernels(), RayTracingStudy::hasRayKernels(), RayTracingStudy::initialSetup(), RayTracingStudyTest::RayTracingStudyTest(), RayTracingStudy::segmentSubdomainSetup(), and RayTracingStudy::zeroAuxVariables().
|
inlineinherited |
Fills the active RayKernels associated with this study into result.
Definition at line 354 of file RayTracingStudy.h.
|
inherited |
Fills the active RayKernels associeted with this study, block, and potentially Ray into result.
Definition at line 1159 of file RayTracingStudy.C.
|
protectedinherited |
Gets all of the currently active RayTracingObjects.
Definition at line 1257 of file RayTracingStudy.C.
Referenced by RayTracingStudy::executeStudy(), RayTracingStudy::initialSetup(), RayTracingStudy::jacobianSetup(), RayTracingStudy::registeredRaySetup(), RayTracingStudy::residualSetup(), and RayTracingStudy::timestepSetup().
|
virtualinherited |
Get the outward normal for a given element side.
Definition at line 1550 of file RayTracingStudy.C.
Referenced by LotsOfRaysRayStudy::defineRays(), BackfaceCullingStudyTest::generateNormals(), ViewFactorRayStudy::generateRays(), TraceRay::getPointNeighbors(), ReflectRayBC::onBoundary(), RayTracingStudy::sideIsIncoming(), and TraceRay::trace().
|
inlineinherited |
Whether or not the local mesh has internal sidesets that have RayBCs on them.
NOTE: if useInternalSidesets() == false, this will be false even if the mesh does have internal sidesets
Definition at line 449 of file RayTracingStudy.h.
Referenced by TraceRay::applyOnInternalBoundary(), and TraceRay::trace().
|
inlineinherited |
Whether or not any Ray aux data are registered.
Definition at line 336 of file RayTracingStudy.h.
|
inlineinherited |
Whether or not any Ray data are registered.
Definition at line 276 of file RayTracingStudy.h.
Referenced by RayTracingMeshOutput::fillFields().
|
inherited |
Whether or not there are currently any active RayKernel objects.
Definition at line 1130 of file RayTracingStudy.C.
Referenced by ViewFactorRayStudy::initialSetup(), and TraceRay::preExecute().
|
inlineinherited |
Whether or not the mesh has active elements of the same level.
Use this over sameLevelActiveElems(), which is for internally setting _has_same_level_active_elems
Definition at line 475 of file RayTracingStudy.h.
Referenced by TraceRay::applyOnInternalBoundary(), and TraceRay::trace().
|
inlineoverridevirtualinherited |
|
overridevirtualinherited |
Reimplemented from GeneralUserObject.
Reimplemented in BackfaceCullingStudyTest, and ViewFactorRayStudy.
Definition at line 226 of file RayTracingStudy.C.
Referenced by ViewFactorRayStudy::initialSetup(), and BackfaceCullingStudyTest::initialSetup().
|
inherited |
Initialize a Ray in the threaded cached trace map to be filled with segments.
Definition at line 1409 of file RayTracingStudy.C.
Referenced by TraceRay::trace().
|
inherited |
Whether or not the domain is rectangular (if it is prefectly encompassed by its bounding box)
Definition at line 1601 of file RayTracingStudy.C.
Referenced by LotsOfRaysRayStudy::LotsOfRaysRayStudy(), and TraceRay::preExecute().
|
overridevirtualinherited |
Reimplemented from GeneralUserObject.
Definition at line 279 of file RayTracingStudy.C.
|
inlineinherited |
Definition at line 174 of file RayTracingStudy.h.
Referenced by PerProcessorRayTracingResultsVectorPostprocessor::execute().
|
inlineinherited |
Get the loose nodal bounding box for the domain.
BoundingBox::contains_point does not have a tolerance, so we need to stretch the box a little bit for some contains_point checks.
Definition at line 429 of file RayTracingStudy.h.
Referenced by Ray::setStart(), and Ray::setStartingEndPoint().
|
inlineinherited |
Max number of intersections for a Ray.
Definition at line 159 of file RayTracingStudy.h.
|
inlineinherited |
Max number of processor crossings for all Rays.
Definition at line 142 of file RayTracingStudy.h.
Referenced by RayTracingStudyResult::getValue().
|
inlineinherited |
Max number of trajectory changes for a Ray.
Definition at line 163 of file RayTracingStudy.h.
|
inlineinherited |
Definition at line 520 of file RayTracingStudy.h.
|
inlineinherited |
Access to the libMesh MeshBase.
This is needed for unpack routines for a Ray, which has a context of this study.
Definition at line 515 of file RayTracingStudy.h.
Referenced by dataLoad(), TestRay::generateRays(), libMesh::Parallel::Packing< ViewFactorRayStudy::StartElem >::pack(), libMesh::Parallel::Packing< std::shared_ptr< Ray > >::pack(), TestRayLots::postExecuteStudy(), RayTracingStudyTest::RayTracingStudyTest(), Ray::setStart(), libMesh::Parallel::Packing< ViewFactorRayStudy::StartElem >::unpack(), and libMesh::Parallel::Packing< std::shared_ptr< Ray > >::unpack().
|
overrideprotectedvirtual |
Reimplemented from RayTracingStudy.
Reimplemented in BackfaceCullingStudyTest.
Definition at line 117 of file RepeatableRayStudyBase.C.
Referenced by BackfaceCullingStudyTest::meshChanged().
|
protectedinherited |
Moves rays to the buffer to be traced during generateRays().
This moves the rays into the buffer (with std::move), therefore all valid rays in rays
will be nullptr after this call.
Definition at line 1515 of file RayTracingStudy.C.
Referenced by TestPICRayStudy::generateRays(), TestReuseRaysStudy::generateRays(), and TestTransientRaysStudy::generateRays().
Moves a ray to the buffer to be traced during generateRays().
This moves the Ray into the buffer (with std::move), therefore ray
will be nullptr after this call.
Definition at line 1505 of file RayTracingStudy.C.
Referenced by RayTracingStudyTest::generateRays(), StationaryRayStudyTest::generateRays(), TestReuseRaysStudy::generateRays(), TestTransientRaysStudy::generateRays(), generateRays(), and ViewFactorRayStudy::generateRays().
|
inherited |
INTERNAL method for moving a Ray into the buffer during tracing.
You should not and cannot use this API. It is protected by the AcquireMoveDuringTraceKey, which is only constructable by RayKernelBase and RayBoundaryConditionBase.
Definition at line 1530 of file RayTracingStudy.C.
Referenced by RayBoundaryConditionBase::moveRayToBuffer(), and RayKernelBase::moveRayToBuffer().
Entry point for acting on a ray when it is completed (shouldContinue() == false)
Reimplemented in TestRayDataStudy.
Definition at line 954 of file RayTracingStudy.C.
Referenced by TestRayDataStudy::onCompleteRay(), and ParallelRayStudy::postExecuteChunk().
|
inlineinherited |
Definition at line 179 of file RayTracingStudy.h.
Referenced by PerProcessorRayTracingResultsVectorPostprocessor::execute(), and RayTracingStudyResult::getValue().
|
inlineinherited |
The underlying parallel study: used for the context for calling the packed range routines.
Definition at line 678 of file RayTracingStudy.h.
Referenced by RayTracingStudyTest::generateRays(), and verifyReplicatedRays().
|
inlineprotectedvirtualinherited |
Entry point after study execution.
Reimplemented in ViewFactorRayStudy, TestTransientRaysStudy, TestReuseRaysStudy, TestPICRayStudy, RayTracingStudyTest, and TestRayLots.
Definition at line 709 of file RayTracingStudy.h.
Referenced by RayTracingStudy::executeStudy().
|
virtualinherited |
Called at the end of a Ray segment.
tid | Thread id |
ray | The ray |
Definition at line 738 of file RayTracingStudy.C.
Referenced by TraceRay::trace().
|
inlineprotectedvirtualinherited |
Entry point before study execution.
Reimplemented in ViewFactorRayStudy.
Definition at line 705 of file RayTracingStudy.h.
Referenced by RayTracingStudy::executeStudy().
|
inlinevirtualinherited |
Called at the beginning of a trace for a ray.
tid | Thread id |
ray | The ray |
Definition at line 120 of file RayTracingStudy.h.
Referenced by TraceRay::trace().
|
inlineinherited |
Duration for creation of all Rays in seconds.
Definition at line 204 of file RayTracingStudy.h.
Referenced by PerProcessorRayTracingResultsVectorPostprocessor::execute().
|
inlineinherited |
The Ray aux data names.
Definition at line 340 of file RayTracingStudy.h.
Referenced by RayTracingMeshOutput::setupEquationSystem().
|
inlineinherited |
The registered size of values in the Ray aux data.
Definition at line 332 of file RayTracingStudy.h.
Referenced by RayTracingStudy::acquireRay(), RayTracingStudy::acquireRayDuringTrace(), RayTracingStudy::acquireRegisteredRay(), RayTracingStudy::acquireReplicatedRay(), Ray::auxData(), and RayTracingStudy::getRayDataNameInternal().
|
protectedinherited |
Get the Ray bank.
This is the bank of Rays that have completed on this processor after an execution of the study.
This is only available when the private parameter _bank_rays_on_completion is set to true.
Definition at line 1265 of file RayTracingStudy.C.
Referenced by RayTracingStudyTest::generateRays(), RayTracingStudy::getBankedRay(), TestRayLots::postExecuteStudy(), RayTracingStudyTest::postExecuteStudy(), TestPICRayStudy::postExecuteStudy(), TestReuseRaysStudy::postExecuteStudy(), TestTransientRaysStudy::postExecuteStudy(), and RayTracingStudyNoBankingTest::RayTracingStudyNoBankingTest().
|
inlineinherited |
The Ray data names.
Definition at line 280 of file RayTracingStudy.h.
Referenced by RayTracingExodus::outputMesh(), RayTracingNemesis::outputMesh(), and RayTracingMeshOutput::setupEquationSystem().
|
inlineinherited |
The registered size of values in the Ray data.
Definition at line 272 of file RayTracingStudy.h.
Referenced by RayTracingStudy::acquireRay(), RayTracingStudy::acquireRayDuringTrace(), RayTracingStudy::acquireRegisteredRay(), RayTracingStudy::acquireReplicatedRay(), Ray::data(), and RayTracingStudy::getRayDataNameInternal().
|
inlineinherited |
Whether or not to use Ray dependent subdomain setup.
Definition at line 219 of file RayTracingStudy.h.
Referenced by TraceRay::trace().
|
inlineinherited |
Max distance any Ray can travel.
Definition at line 184 of file RayTracingStudy.h.
Referenced by TraceRay::trace().
|
inherited |
Gets the ID of a registered ray.
name | The name of said ray |
graceful | Whether or not to exit gracefully if none is found (with invalid_id) |
Definition at line 1351 of file RayTracingStudy.C.
Referenced by RayDataValue::getValue(), RayIntegralValue::initialize(), RayTracingStudyTest::RayTracingStudyTest(), RayTracingStudyWithRegistrationTest::RayTracingStudyWithRegistrationTest(), and RayTracingStudy::registeredRaySetup().
|
inherited |
Gets the name of a registered ray.
ray_id | The ID of said ray |
Definition at line 1371 of file RayTracingStudy.C.
Referenced by Ray::getInfo(), RayTracingStudyTest::RayTracingStudyTest(), and RayTracingStudyWithRegistrationTest::RayTracingStudyWithRegistrationTest().
|
inherited |
Register a value to be filled in the aux data on a Ray with a given name.
name | The name to register |
Note that this does not actually allocate the storage. It is simply a registration system to keep track of the values stored in the Ray aux data.
Definition at line 1098 of file RayTracingStudy.C.
Referenced by RayTracingStudyTest::RayTracingStudyTest(), StationaryRayStudyTest::StationaryRayStudyTest(), TestRayDataStudy::TestRayDataStudy(), and TestRayLots::TestRayLots().
|
inherited |
Register values to be filled in the aux data on a Ray with a given name.
names | The names to register |
Note that this does not actually allocate the storage. It is simply a registration system to keep track of the values stored in the Ray aux data.
Definition at line 1104 of file RayTracingStudy.C.
|
inherited |
Register a value to be filled in the data on a Ray with a given name.
name | The name to register |
Note that this does not actually allocate the storage. It is simply a registration system to keep track of the values stored in the Ray data.
Definition at line 1067 of file RayTracingStudy.C.
Referenced by RayTracingStudyTest::generateRays(), RayTracingStudyTest::RayTracingStudyTest(), StationaryRayStudyTest::StationaryRayStudyTest(), TestRayDataStudy::TestRayDataStudy(), and TestRayLots::TestRayLots().
|
inherited |
Register values to be filled in the data on a Ray with a given name.
names | The names to register |
Note that this does not actually allocate the storage. It is simply a registration system to keep track of the values stored in the Ray data.
Definition at line 1073 of file RayTracingStudy.C.
|
virtualinherited |
Reinitialize objects for a Ray segment for ray tracing.
elem | The elem the segment is in |
start | Start point of the segment |
end | End point of the segment |
length | The length of the start -> end segment |
tid | Thread id |
Definition at line 674 of file RayTracingStudy.C.
Referenced by TraceRay::onSegment().
|
protectedinherited |
Reserve size
entires in the Ray buffer.
This can only be used within generateRays() and should be used when possible to reserve entires in the buffer before adding Rays via moveRay(s)ToBuffer.
Definition at line 1541 of file RayTracingStudy.C.
Referenced by generateRays(), ViewFactorRayStudy::generateRays(), and RayTracingStudyTest::RayTracingStudyTest().
|
protectedinherited |
Resets the generation of unique replicated RayIDs accessed via generateReplicatedRayID().
Definition at line 1637 of file RayTracingStudy.C.
Referenced by RayTracingStudy::RayTracingStudy().
|
protectedinherited |
Resets the generation of unique RayIDs via generateUniqueRayID() to the beginning of the range.
Definition at line 1611 of file RayTracingStudy.C.
Referenced by RayTracingStudy::RayTracingStudy().
|
overridevirtualinherited |
Reimplemented from GeneralUserObject.
Definition at line 269 of file RayTracingStudy.C.
|
protectedinherited |
Determine whether or not the mesh currently has active elements that are all the same level.
Definition at line 1573 of file RayTracingStudy.C.
Referenced by RayTracingStudy::meshChanged().
|
inlineinherited |
Whether or not to cache individual element segments when _cache_traces = true.
Definition at line 577 of file RayTracingStudy.h.
Referenced by RayTracingMeshOutput::buildSegmentMesh(), RayTracingMeshOutput::neededNodes(), TraceRay::onContinueTrace(), TraceRay::onTrajectoryChanged(), RayTracingMeshOutput::RayTracingMeshOutput(), and RayTracingMeshOutput::startingIDs().
|
virtualinherited |
Setup for on subdomain change or subdomain AND ray change during ray tracing.
subdomain | The subdomain changed to |
tid | Thread id |
ray_id | ID of the ray initiating the change |
Definition at line 639 of file RayTracingStudy.C.
Referenced by TraceRay::onSubdomainChanged().
|
inlinevirtualinherited |
Virtual that allows for selection in if a Ray should be cached or not (only used when _cache_traces).
Definition at line 583 of file RayTracingStudy.h.
Referenced by RayTracingStudy::initThreadedCachedTrace(), and TraceRay::trace().
|
inherited |
Whether or not side
is incoming on element elem
in direction direction
.
Definition at line 1656 of file RayTracingStudy.C.
Referenced by TraceRay::findExternalBoundarySide(), TraceRay::onSegment(), ClaimRays::postClaimRay(), and TraceRay::trace().
|
inlineinherited |
Whether or not the side on elem elem
is non-planar.
This is cached because checking whether or not a face is planar is costly
Definition at line 465 of file RayTracingStudy.h.
Referenced by TraceRay::exitsElem(), ViewFactorRayStudy::generateRays(), ReflectRayBC::onBoundary(), TraceRay::onSegment(), TraceRay::possiblyAddToBoundaryElems(), Ray::setStart(), and TraceRay::trace().
|
inherited |
Get the cached hmax for all elements in a subdomain.
Used for scaling tolerances in ray tracing.
Definition at line 1592 of file RayTracingStudy.C.
Referenced by RayTracingStudyTest::generateRays(), TraceRay::onSubdomainChanged(), TraceRay::subdomainHmax(), and RayTracingStudy::subdomainHMaxSetup().
|
overridevirtualinherited |
Reimplemented from GeneralUserObject.
Definition at line 289 of file RayTracingStudy.C.
|
inlineinherited |
Whether or not to tolerate failure.
Definition at line 209 of file RayTracingStudy.h.
Referenced by TraceRay::exitsElem(), TraceRay::onBoundary(), and TraceRay::trace().
|
inlineinherited |
Total distance traveled by all Rays.
Definition at line 172 of file RayTracingStudy.h.
Referenced by RayTracingStudyResult::getValue().
|
inlineinherited |
Total number of Ray/element intersections.
Definition at line 155 of file RayTracingStudy.h.
|
inlineinherited |
Total number of processor crossings.
Definition at line 138 of file RayTracingStudy.h.
Referenced by RayTracingStudyResult::getValue().
|
inlineinherited |
Get the current total volume of the domain.
Definition at line 437 of file RayTracingStudy.h.
Referenced by RayTracingStudy::isRectangularDomain().
Gets the threaded TraceRay object for tid
.
Definition at line 647 of file RayTracingStudy.h.
Referenced by BackfaceCullingStudyTest::BackfaceCullingStudyTest().
Definition at line 648 of file RayTracingStudy.h.
|
inlineinherited |
Whether or not ray registration is being used.
Definition at line 564 of file RayTracingStudy.h.
Referenced by Ray::getInfo(), RayIntegralValue::initialize(), and RayDataValue::RayDataValue().
|
static |
Definition at line 18 of file RepeatableRayStudyBase.C.
Referenced by ConeRayStudy::validParams(), RepeatableRayStudy::validParams(), and LotsOfRaysRayStudy::validParams().
|
inlineinherited |
Whether or not to verify if Rays have valid information before being traced.
Definition at line 654 of file RayTracingStudy.h.
Referenced by RayKernelBase::changeRayStartDirection(), ClaimRays::claim(), defineRaysInternal(), RayTracingStudy::executeStudy(), Ray::setStart(), Ray::setStartingEndPoint(), and TraceRay::trace().
|
private |
Verifies that the Rays in _rays are replicated across processors.
In optimized mode, this compares the sizes across all processors. In non-optimized modes, this communicates the Rays from all processors to the root and compares the Rays.
Definition at line 199 of file RepeatableRayStudyBase.C.
Referenced by defineRaysInternal().
|
inlineinherited |
Whether or not trace verification is enabled in devel/dbg modes.
Definition at line 659 of file RayTracingStudy.h.
Referenced by TraceRay::exitsElem(), TraceRay::onSegment(), TraceRay::onTrajectoryChanged(), and TraceRay::trace().
|
inherited |
Verifies that the Rays in the given range have unique Ray IDs.
begin | The beginning of the range of Rays to check |
end | The end of the range of Rays to check |
global | If true, this will complete the verification across all processors |
error_suffix | Entry point for additional information in the error message |
Definition at line 1419 of file RayTracingStudy.C.
Referenced by RayTracingStudy::executeStudy(), and verifyReplicatedRays().
|
inherited |
Verifies that the Rays in the given range are unique.
That is, that there are not multiple shared_ptrs that point to the same Ray
begin | The beginning of the range of Rays to check |
end | The end of the range of Rays to check |
error_suffix | Entry point for additional information in the error message |
Definition at line 1491 of file RayTracingStudy.C.
Referenced by RayTracingStudy::executeStudy().
|
inlineinherited |
Whether or not to produce a warning when interacting with a non-planar mesh.
Definition at line 673 of file RayTracingStudy.h.
|
protectedinherited |
Whether or not to cache traces on every trace execution.
Definition at line 883 of file RayTracingStudy.h.
Referenced by RayTracingStudy::shouldCacheTrace().
|
protectedinherited |
Whether or not to store the Ray aux data on the cache traces.
Definition at line 887 of file RayTracingStudy.h.
Referenced by RayTracingStudy::auxDataOnCacheTraces().
|
protectedinherited |
Whether or not to bank rays on completion.
Definition at line 878 of file RayTracingStudy.h.
Referenced by RayTracingStudy::bankRaysOnCompletion(), RayTracingStudy::onCompleteRay(), and RayTracingStudy::rayBank().
|
protected |
Whether or not Rays need to be claimed after defineRays()
Definition at line 49 of file RepeatableRayStudyBase.h.
Referenced by defineRaysInternal(), and RepeatableRayStudyBase().
|
private |
The object used to claim Rays.
Definition at line 73 of file RepeatableRayStudyBase.h.
Referenced by claimRaysInternal().
|
protectedinherited |
The Communicator.
Definition at line 863 of file RayTracingStudy.h.
Referenced by LotsOfRaysRayStudy::defineRays().
|
protectedinherited |
Whether or not to store the Ray data on the cache traces.
Definition at line 885 of file RayTracingStudy.h.
Referenced by RayTracingStudy::dataOnCacheTraces().
|
protected |
Whether or not the Rays filled into _rays are replicated across all processors.
Definition at line 47 of file RepeatableRayStudyBase.h.
Referenced by defineRaysInternal().
|
private |
Storage for all of the Rays this processor is responsible for (restartable)
Definition at line 70 of file RepeatableRayStudyBase.h.
Referenced by defineRaysInternal(), generateRays(), and meshChanged().
|
protectedinherited |
The Mesh.
Definition at line 861 of file RayTracingStudy.h.
Referenced by RayTracingStudy::computeTotalVolume(), ConeRayStudy::ConeRayStudy(), RayTracingStudy::coverageChecks(), RepeatableRayStudyBaseTest::defineRays(), ConeRayStudy::defineRays(), LotsOfRaysRayStudy::defineRays(), BackfaceCullingStudyTest::generateNormals(), RayTracingStudyTest::generateRays(), StationaryRayStudyTest::generateRays(), TestRay::generateRays(), TestReuseRaysStudy::generateRays(), TestTransientRaysStudy::generateRays(), ViewFactorRayStudy::generateStartElems(), RayTracingStudy::internalSidesetSetup(), RayTracingStudy::isRectangularDomain(), RayTracingStudy::localElemIndexSetup(), LotsOfRaysRayStudy::LotsOfRaysRayStudy(), RayTracingStudy::mesh(), RayTracingStudy::meshBase(), RayTracingStudy::nonPlanarSideSetup(), RayTracingStudy::RayTracingStudy(), RayTracingStudy::sameLevelActiveElems(), RayTracingStudy::subdomainHMaxSetup(), TestReuseRaysStudy::TestReuseRaysStudy(), RayTracingStudy::traceableMeshChecks(), and ViewFactorRayStudy::ViewFactorRayStudy().
|
protectedinherited |
The rank of this processor (this actually takes time to lookup - so just do it once)
Definition at line 865 of file RayTracingStudy.h.
Referenced by RepeatableRayStudyBaseTest::defineRays(), LotsOfRaysRayStudy::defineRays(), RayTracingStudyTest::generateRays(), StationaryRayStudyTest::generateRays(), ViewFactorRayStudy::generateStartElems(), RayTracingStudy::resetUniqueRayIDs(), verifyReplicatedRays(), and RayTracingStudy::verifyUniqueRayIDs().
|
protectedinherited |
Whether or not subdomain setup is dependent on the Ray.
Definition at line 880 of file RayTracingStudy.h.
Referenced by RayTracingStudy::rayDependentSubdomainSetup().
|
protectedinherited |
Whether or not to perform coverage checks on RayKernels.
Definition at line 868 of file RayTracingStudy.h.
Referenced by RayTracingStudy::coverageChecks().
|
protectedinherited |
Max distance a Ray can travel before being killed (can change)
Definition at line 891 of file RayTracingStudy.h.
Referenced by RayTracingStudy::rayMaxDistance().
|
protected |
Vector of Rays that the user will fill into in defineRays() (restartable)
Definition at line 44 of file RepeatableRayStudyBase.h.
Referenced by LotsOfRaysRayStudy::defineRay(), RepeatableRayStudyBaseTest::defineRays(), ConeRayStudy::defineRays(), RepeatableRayStudy::defineRays(), defineRaysInternal(), meshChanged(), TestRayDataStudy::modifyRays(), and verifyReplicatedRays().
|
protectedinherited |
Whether or not to cache individual element segments when caching.
Definition at line 889 of file RayTracingStudy.h.
Referenced by RayTracingStudy::segmentsOnCacheTraces().
|
private |
Whether or not we should call claimRays() on the next generateRays() (restartable)
Definition at line 76 of file RepeatableRayStudyBase.h.
Referenced by defineRaysInternal(), generateRays(), and meshChanged().
|
protected |
Whether or not we should call defineRays() on the next generateRays() Can be set to true in derived classes if they wish to redefine the rays after they have been defined once.
(restartable)
Definition at line 54 of file RepeatableRayStudyBase.h.
Referenced by generateRays().
|
protectedinherited |
Whether or not to tolerate a Ray Tracing failure.
Definition at line 876 of file RayTracingStudy.h.
Referenced by RayTracingStudy::executeStudy(), and RayTracingStudy::tolerateFailure().
|
protectedinherited |
Whether or not to use the internal sidesets in ray tracing.
Definition at line 874 of file RayTracingStudy.h.
Referenced by RayTracingStudy::internalSidesetSetup().
|
protectedinherited |
Whether or not to use Ray registration.
Definition at line 872 of file RayTracingStudy.h.
Referenced by RayTracingStudy::getRayBCs(), RayTracingStudy::getRayKernels(), RayTracingStudy::registeredRayID(), RayTracingStudy::registeredRayName(), RayTracingStudy::registeredRaySetup(), RayTracingStudy::registerRay(), and RayTracingStudy::useRayRegistration().
|
protectedinherited |
Whether or not to verify if Rays have valid information before being traced.
Definition at line 893 of file RayTracingStudy.h.
Referenced by RayTracingStudy::verifyRays().
|
protectedinherited |
Whether or not to verify the trace intersections in devel and dbg modes.
Definition at line 896 of file RayTracingStudy.h.
Referenced by RayTracingStudy::verifyTraceIntersections().
|
protectedinherited |
Whether not to warn if non-planar faces are found.
Definition at line 870 of file RayTracingStudy.h.
Referenced by RayTracingStudy::nonPlanarSideSetup(), and RayTracingStudy::warnNonPlanar().