https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Functions
SolutionInvalidityReporter.C File Reference

Go to the source code of this file.

Functions

 registerMooseObject ("MooseApp", SolutionInvalidityReporter)
 
void to_json (nlohmann::json &json, const SolutionInvalidity *const &solution_invalidity)
 

Function Documentation

◆ registerMooseObject()

registerMooseObject ( "MooseApp"  ,
SolutionInvalidityReporter   
)

◆ to_json()

void to_json ( nlohmann::json &  json,
const SolutionInvalidity *const &  solution_invalidity 
)

Definition at line 34 of file SolutionInvalidityReporter.C.

35{
36 mooseAssert(solution_invalidity->processor_id() == 0, "should only be called on rank 0");
37
38 const auto & solution_registry = moose::internal::getSolutionInvalidityRegistry();
39 const auto & counts = solution_invalidity->counts();
40 if (counts.size() == 0)
41 // Create an empty array
42 json = nlohmann::json::array();
43 else
44 // Output data to json
45 for (const auto id : index_range(solution_invalidity->counts()))
46 {
47 nlohmann::json entry;
48 entry["object_type"] = solution_registry.item(id).object_type;
49 entry["message"] = solution_registry.item(id).message;
50 entry["timestep_counts"] = counts[id].current_timestep_counts;
51 entry["total_counts"] = counts[id].total_counts;
52 json.push_back(entry);
53 }
54}
const std::vector< InvalidCounts > & counts() const
Access the private solution invalidity counts.
processor_id_type processor_id() const
auto index_range(const T &sizable)
SolutionInvalidityRegistry & getSolutionInvalidityRegistry()
Get the global SolutionInvalidityRegistry singleton.