Base class for outputting Ray data in a mesh format, where EDGE2 elems represent the individual Ray segments. More...
#include <RayTracingMeshOutput.h>
Public Types | |
| typedef DataFileName | DataFileParameterType |
Public Member Functions | |
| RayTracingMeshOutput (const InputParameters ¶meters) | |
| virtual std::string | filename () override |
| void | output () override |
| void | setFileBase (const std::string &file_base) |
| void | setFileNumber (unsigned int num) |
| unsigned int | getFileNumber () |
| virtual Real | time () override |
| virtual Real | timeOld () |
| virtual Real | dt () |
| virtual Real | dtOld () |
| virtual int | timeStep () |
| const unsigned int & | interval () const |
| const MultiMooseEnum & | executeOn () const |
| bool | isAdvanced () |
| virtual const OutputOnWarehouse & | advancedExecuteOn () const |
| void | allowOutput (bool state) |
| virtual void | outputStep (const ExecFlagType &type) |
| const std::set< Real > & | getSyncTimes () |
| virtual bool | supportsMaterialPropertyOutput () const |
| virtual bool | enabled () const |
| std::shared_ptr< MooseObject > | getSharedPtr () |
| std::shared_ptr< const MooseObject > | getSharedPtr () const |
| bool | isKokkosObject (IsKokkosObjectKey &&) const |
| MooseApp & | getMooseApp () const |
| const std::string & | type () const |
| const std::string & | name () const |
| std::string | typeAndName () const |
| MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
| MooseObjectName | uniqueName () const |
| const InputParameters & | parameters () const |
| const hit::Node * | getHitNode () const |
| bool | hasBase () const |
| const std::string & | getBase () 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 * | queryParam (const std::string &name) 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 &name) const |
| void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
| void | paramError (const std::string ¶m, Args... args) const |
| void | paramWarning (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 |
| std::string | messagePrefix (const bool hit_prefix=true) const |
| std::string | errorPrefix (const std::string &) const |
| void | mooseError (Args &&... args) const |
| void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
| void | mooseErrorNonPrefixed (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseInfo (Args &&... args) const |
| void | callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr) 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 | meshChanged () |
| virtual void | initialSetup () |
| virtual void | timestepSetup () |
| virtual void | jacobianSetup () |
| virtual void | residualSetup () |
| virtual void | subdomainSetup () |
| virtual void | customSetup (const ExecFlagType &) |
| const ExecFlagEnum & | getExecuteOnEnum () const |
| 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 |
| 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 Parallel::Communicator & | comm () const |
| processor_id_type | n_processors () const |
| processor_id_type | processor_id () 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 |
| 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 |
Static Public Member Functions | |
| static InputParameters | validParams () |
| static void | callMooseError (MooseApp *const app, const InputParameters ¶ms, std::string msg, const bool with_prefix, const hit::Node *node) |
| static ExecFlagEnum | getDefaultExecFlagEnum () |
| static void | addDeprecatedInputParameters (InputParameters ¶ms) |
Public Attributes | |
| usingCombinedWarningSolutionWarnings | |
| const ConsoleStream | _console |
Static Public Attributes | |
| static const std::string | type_param |
| static const std::string | name_param |
| static const std::string | unique_name_param |
| static const std::string | app_param |
| static const std::string | moose_base_param |
| static const std::string | kokkos_object_param |
Protected Member Functions | |
| virtual void | outputMesh ()=0 |
| Output the mesh - to be overridden. More... | |
| virtual bool | shouldOutput () override |
| bool | checkFilename () |
| virtual void | setFileBaseInternal (const std::string &file_base) |
| bool | inNonlinearTimeWindow () |
| bool | inLinearTimeWindow () |
| virtual Real | getOutputTime () |
| virtual bool | onInterval () |
| void | setWallTimeIntervalFromCommandLineParam () |
| void | flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const |
| InvalidSolutionID | registerInvalidSolutionInternal (const std::string &message, const bool warning) 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 |
| virtual void | addPostprocessorDependencyHelper (const PostprocessorName &) const |
| virtual void | addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const |
| const ReporterContextBase & | getReporterContextBaseByName (const ReporterName &reporter_name) const |
| const ReporterName & | getReporterName (const std::string ¶m_name) const |
| virtual void | addReporterDependencyHelper (const ReporterName &) |
| 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 |
| 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 |
| virtual void | addUserObjectDependencyHelper (const UserObject &) const |
Static Protected Member Functions | |
| static PetscErrorCode | petscNonlinearOutput (SNES, PetscInt its, PetscReal fnorm, void *void_ptr) |
| static PetscErrorCode | petscLinearOutput (KSP, PetscInt its, PetscReal fnorm, void *void_ptr) |
Private Member Functions | |
| void | buildBoundingBoxes () |
| Build the inflated neighbor bounding boxes stored in _inflated_neighbor_bboxes for the purposes of identifying processors that may contain nodes that we need to decide on ownership for. More... | |
| void | buildIDMap () |
| Builds a map for each Ray to starting element and node ID for the EDGE2 mesh that will represent said Ray. More... | |
| void | buildSegmentMesh () |
| Build the mesh that contains the ray tracing segments. More... | |
| void | setupEquationSystem () |
| Setup the equation system that stores the segment-wise field data. More... | |
| void | fillFields () |
| Fill the Ray field data. More... | |
| dof_id_type | neededNodes (const TraceData &trace_data) const |
| Gets the number of nodes needed to represent a given trace. More... | |
| void | startingIDs (const TraceData &trace_data, dof_id_type &start_node_id, dof_id_type &start_elem_id) const |
| Gets the starting node and element IDs in the EDGE2 mesh for a given trace. More... | |
Private Attributes | |
| unsigned int | _ray_id_var |
| The variable index in _sys for the Ray's ID (if any) More... | |
| unsigned int | _intersections_var |
| The variable index in _sys for the intersection ID (if any) More... | |
| unsigned int | _pid_var |
| The variable index in _sys for the Ray's processor id (if any) More... | |
| unsigned int | _processor_crossings_var |
| The variable index in _sys for the Ray's processor crossings (if any) More... | |
| unsigned int | _trajectory_changes_var |
| The variable index in _sys for the Ray's trajectory changes (if any) More... | |
| std::vector< std::pair< RayDataIndex, unsigned int > > | _data_vars |
| The ray data index -> variable index map. More... | |
| std::vector< std::pair< RayDataIndex, unsigned int > > | _aux_data_vars |
| The ray aux data index -> variable index map. More... | |
| BoundingBox | _bbox |
| The bounding box for this processor. More... | |
| std::vector< BoundingBox > | _inflated_bboxes |
| The inflated bounding boxes for all processors. More... | |
| std::vector< std::pair< processor_id_type, BoundingBox > > | _inflated_neighbor_bboxes |
| Inflated bounding boxes that are neighboring to this processor (pid : bbox for each entry) More... | |
| std::unordered_map< RayID, std::pair< dof_id_type, dof_id_type > > | _ray_starting_id_map |
| The map from RayID to the starting element and node ID of the mesh element for said Ray. More... | |
| dof_id_type | _max_node_id |
| The max node ID for the ray tracing mesh for creating unique elem IDs. More... | |
| bool | _segmented_rays |
| Whether or not we have segmented rays. More... | |
Base class for outputting Ray data in a mesh format, where EDGE2 elems represent the individual Ray segments.
Definition at line 33 of file RayTracingMeshOutput.h.
| RayTracingMeshOutput::RayTracingMeshOutput | ( | const InputParameters & | parameters | ) |
Definition at line 56 of file RayTracingMeshOutput.C.
|
private |
Build the inflated neighbor bounding boxes stored in _inflated_neighbor_bboxes for the purposes of identifying processors that may contain nodes that we need to decide on ownership for.
Definition at line 653 of file RayTracingMeshOutput.C.
Referenced by output().
|
private |
Builds a map for each Ray to starting element and node ID for the EDGE2 mesh that will represent said Ray.
Definition at line 150 of file RayTracingMeshOutput.C.
Referenced by buildSegmentMesh().
|
private |
Build the mesh that contains the ray tracing segments.
Definition at line 266 of file RayTracingMeshOutput.C.
Referenced by output().
|
overridevirtual |
Reimplemented from FileOutput.
Definition at line 102 of file RayTracingMeshOutput.C.
Referenced by RayTracingExodus::outputMesh(), and RayTracingNemesis::outputMesh().
|
private |
Fill the Ray field data.
Definition at line 574 of file RayTracingMeshOutput.C.
Referenced by output().
|
private |
Gets the number of nodes needed to represent a given trace.
Definition at line 706 of file RayTracingMeshOutput.C.
Referenced by buildIDMap().
|
overridevirtual |
Implements FileOutput.
Definition at line 118 of file RayTracingMeshOutput.C.
Referenced by filename().
|
protectedpure virtual |
Output the mesh - to be overridden.
Implemented in RayTracingExodus, and RayTracingNemesis.
Referenced by output().
|
private |
Setup the equation system that stores the segment-wise field data.
Definition at line 488 of file RayTracingMeshOutput.C.
Referenced by output().
|
private |
Gets the starting node and element IDs in the EDGE2 mesh for a given trace.
Definition at line 688 of file RayTracingMeshOutput.C.
Referenced by buildSegmentMesh(), and fillFields().
|
static |
Definition at line 30 of file RayTracingMeshOutput.C.
Referenced by RayTracingExodus::validParams(), and RayTracingNemesis::validParams().
|
private |
The ray aux data index -> variable index map.
Definition at line 119 of file RayTracingMeshOutput.h.
Referenced by fillFields(), and setupEquationSystem().
|
private |
The bounding box for this processor.
Definition at line 122 of file RayTracingMeshOutput.h.
Referenced by buildBoundingBoxes().
|
private |
The ray data index -> variable index map.
Definition at line 117 of file RayTracingMeshOutput.h.
Referenced by fillFields(), and setupEquationSystem().
|
protected |
The EquationSystems.
Definition at line 67 of file RayTracingMeshOutput.h.
Referenced by output(), RayTracingNemesis::outputMesh(), RayTracingExodus::outputMesh(), and setupEquationSystem().
|
private |
The inflated bounding boxes for all processors.
Definition at line 124 of file RayTracingMeshOutput.h.
Referenced by buildBoundingBoxes().
|
private |
Inflated bounding boxes that are neighboring to this processor (pid : bbox for each entry)
Definition at line 126 of file RayTracingMeshOutput.h.
Referenced by buildBoundingBoxes(), and buildSegmentMesh().
|
private |
The variable index in _sys for the intersection ID (if any)
Definition at line 109 of file RayTracingMeshOutput.h.
Referenced by fillFields(), and setupEquationSystem().
|
private |
The max node ID for the ray tracing mesh for creating unique elem IDs.
Definition at line 131 of file RayTracingMeshOutput.h.
Referenced by buildIDMap(), and buildSegmentMesh().
|
protected |
Whether or not to output the Ray's aux data.
Definition at line 60 of file RayTracingMeshOutput.h.
Referenced by RayTracingMeshOutput(), and setupEquationSystem().
|
protected |
Specific Ray Aux data to output.
Definition at line 62 of file RayTracingMeshOutput.h.
Referenced by RayTracingMeshOutput(), and setupEquationSystem().
|
protected |
Whether or not to output all of the Ray's data.
Definition at line 54 of file RayTracingMeshOutput.h.
Referenced by RayTracingMeshOutput(), and setupEquationSystem().
|
protected |
Specific Ray data to output.
Definition at line 56 of file RayTracingMeshOutput.h.
Referenced by RayTracingMeshOutput(), and setupEquationSystem().
|
protected |
Whether or not to output the Ray's data in a nodal, linear sense.
Definition at line 58 of file RayTracingMeshOutput.h.
Referenced by fillFields(), RayTracingNemesis::outputMesh(), RayTracingExodus::outputMesh(), RayTracingMeshOutput(), and setupEquationSystem().
|
private |
The variable index in _sys for the Ray's processor id (if any)
Definition at line 111 of file RayTracingMeshOutput.h.
Referenced by fillFields(), and setupEquationSystem().
|
private |
The variable index in _sys for the Ray's processor crossings (if any)
Definition at line 113 of file RayTracingMeshOutput.h.
Referenced by fillFields(), and setupEquationSystem().
|
private |
The variable index in _sys for the Ray's ID (if any)
Definition at line 107 of file RayTracingMeshOutput.h.
Referenced by fillFields(), and setupEquationSystem().
|
private |
The map from RayID to the starting element and node ID of the mesh element for said Ray.
Definition at line 129 of file RayTracingMeshOutput.h.
Referenced by buildIDMap(), and startingIDs().
|
protected |
The mesh that contains the segments.
Definition at line 65 of file RayTracingMeshOutput.h.
Referenced by buildSegmentMesh(), fillFields(), output(), RayTracingExodus::outputMesh(), and RayTracingNemesis::outputMesh().
|
private |
Whether or not we have segmented rays.
Definition at line 133 of file RayTracingMeshOutput.h.
Referenced by buildSegmentMesh(), and setupEquationSystem().
|
protected |
The RayTracingStudy.
Definition at line 51 of file RayTracingMeshOutput.h.
Referenced by buildIDMap(), buildSegmentMesh(), fillFields(), neededNodes(), output(), RayTracingExodus::outputMesh(), RayTracingNemesis::outputMesh(), RayTracingMeshOutput(), setupEquationSystem(), and startingIDs().
|
protected |
The system that stores the field data.
Definition at line 69 of file RayTracingMeshOutput.h.
Referenced by fillFields(), output(), and setupEquationSystem().
|
private |
The variable index in _sys for the Ray's trajectory changes (if any)
Definition at line 115 of file RayTracingMeshOutput.h.
Referenced by fillFields(), and setupEquationSystem().
1.8.14