XMLOutput

Output for VectorPostprocessor using XML format.

Overview

The VectorPostprocessors System allows vectors of data to be generated. This data is traditionally output in the form of CSV files. For large numbers of vectors this can be problematic for many reasons. Foremost, a CSV file is created for each object and each timestep, resulting in a large number of output files.

If a single file is desired for all objects and timesteps the XML output can be used. If the VectorPostprocessor object(s) are being executed in distributed mode there will be a file created for each processor being utilized.

Example Input File Syntax

Replicated Data

If the VectorPostprocessor is defined to execute in "replicated" mode (the default), then a single XML file will be created. For example, Listing 1 enables the XML output that will result in a single output file (xml_out.xml); the resulting content of this file is shown below the snippet.

Listing 1: Example input file snippet with VectorPostprocessor data with XML output.

[VectorPostprocessors]
  [const]
    type = ConstantVectorPostprocessor
    value = '1 2 3 4 5'
  []
  [distributed]
    type = TestDistributedVectorPostprocessor
    parallel_type = replicated
  []
[]

[Outputs]
  xml = true
[]
(../moose/test/tests/outputs/xml/xml.i)

Listing 2: Output resulting from executing content of Listing 1.

<?xml version="1.0"?>
<VectorPostprocessors>
	<Vectors time="0" timestep="0">
		<Vector object="const" name="value" distributed="false">1 2 3 4 5</Vector>
		<Vector object="distributed" name="data" distributed="false"></Vector>
	</Vectors>
	<Vectors time="1" timestep="1">
		<Vector object="const" name="value" distributed="false">1 2 3 4 5</Vector>
		<Vector object="distributed" name="data" distributed="false">100 101 102 103 104 105 106 107 108 109 200 201 202 203 204 205 206 207 208 209 300 301 302 303 304 305 306 307 308 309</Vector>
	</Vectors>
</VectorPostprocessors>
(../moose/test/tests/outputs/xml/gold/xml_out.xml)

Notice the "distributed" object creates a vector "data", but this data is not populated during initial setup; no data exists with "time=0".

Distributed Data

In the distributed case, the actual vectors of data within a VectorPostprocessor object only contain portions of the complete vector on each processor. For example, if Listing 1 is re-executed with three processes and the parallel type is changed to distributed, an XML file will be created for each processor. Each file will contain the portion of that data associated with the processor, as shown in the three files below.

<?xml version="1.0"?>
<VectorPostprocessors>
	<Vectors time="0" timestep="0">
		<Vector object="const" name="value" distributed="false">1 2 3 4 5</Vector>
		<Vector object="distributed" name="data" distributed="true" processor_id="0" n_processors="3"></Vector>
	</Vectors>
	<Vectors time="1" timestep="1">
		<Vector object="const" name="value" distributed="false">1 2 3 4 5</Vector>
		<Vector object="distributed" name="data" distributed="true" processor_id="0" n_processors="3">100 101 102 103 104 105 106 107 108 109</Vector>
	</Vectors>
</VectorPostprocessors>
(../moose/test/tests/outputs/xml/gold/xml_distributed_out.xml)
<?xml version="1.0"?>
<VectorPostprocessors>
	<Vectors time="0" timestep="0">
		<Vector object="distributed" name="data" distributed="true" processor_id="1" n_processors="3"></Vector>
	</Vectors>
	<Vectors time="1" timestep="1">
		<Vector object="distributed" name="data" distributed="true" processor_id="1" n_processors="3">200 201 202 203 204 205 206 207 208 209</Vector>
	</Vectors>
</VectorPostprocessors>
(../moose/test/tests/outputs/xml/gold/xml_distributed_out.xml.1)
<?xml version="1.0"?>
<VectorPostprocessors>
	<Vectors time="0" timestep="0">
		<Vector object="distributed" name="data" distributed="true" processor_id="2" n_processors="3"></Vector>
	</Vectors>
	<Vectors time="1" timestep="1">
		<Vector object="distributed" name="data" distributed="true" processor_id="2" n_processors="3">300 301 302 303 304 305 306 307 308 309</Vector>
	</Vectors>
</VectorPostprocessors>
(../moose/test/tests/outputs/xml/gold/xml_distributed_out.xml.2)

Input Parameters

  • use_displacedFalseEnable/disable the use of the displaced mesh for outputting

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Enable/disable the use of the displaced mesh for outputting

Optional Parameters

  • additional_execute_onThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM, ALWAYS.

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM, ALWAYS

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM, ALWAYS.

  • execute_onINITIAL TIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM, ALWAYS.

    Default:INITIAL TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM, ALWAYS

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM, ALWAYS.

  • output_linearFalseSpecifies whether output occurs on each PETSc linear residual evaluation

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Specifies whether output occurs on each PETSc linear residual evaluation

  • output_nonlinearFalseSpecifies whether output occurs on each PETSc nonlinear residual evaluation

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Specifies whether output occurs on each PETSc nonlinear residual evaluation

Execution Scheduling Parameters

  • append_dateFalseWhen true the date and time are appended to the output filename.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:When true the date and time are appended to the output filename.

  • append_date_formatThe format of the date/time to append, if not given UTC format is used (see http://www.cplusplus.com/reference/ctime/strftime).

    C++ Type:std::string

    Controllable:No

    Description:The format of the date/time to append, if not given UTC format is used (see http://www.cplusplus.com/reference/ctime/strftime).

  • file_baseThe desired solution output name without an extension. If not provided, MOOSE sets it with Outputs/file_base when available. Otherwise, MOOSE uses input file name and this object name for a master input or uses master file_base, the subapp name and this object name for a subapp input to set it.

    C++ Type:std::string

    Controllable:No

    Description:The desired solution output name without an extension. If not provided, MOOSE sets it with Outputs/file_base when available. Otherwise, MOOSE uses input file name and this object name for a master input or uses master file_base, the subapp name and this object name for a subapp input to set it.

  • output_if_base_containsIf this is supplied then output will only be done in the case that the output base contains one of these strings. This is helpful in outputting only a subset of outputs when using MultiApps.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If this is supplied then output will only be done in the case that the output base contains one of these strings. This is helpful in outputting only a subset of outputs when using MultiApps.

  • padding4The number of digits for the extension suffix (e.g., out.e-s002)

    Default:4

    C++ Type:unsigned int

    Controllable:No

    Description:The number of digits for the extension suffix (e.g., out.e-s002)

File Name Customization Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:Yes

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

  • end_stepTime step at which this output object stop operating

    C++ Type:int

    Controllable:No

    Description:Time step at which this output object stop operating

  • end_timeTime at which this output object stop operating

    C++ Type:double

    Controllable:No

    Description:Time at which this output object stop operating

  • interval1The interval at which time steps are output to the solution file

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:The interval at which time steps are output to the solution file

  • minimum_time_interval0The minimum simulation time between output steps

    Default:0

    C++ Type:double

    Controllable:No

    Description:The minimum simulation time between output steps

  • start_stepTime step at which this output object begins to operate

    C++ Type:int

    Controllable:No

    Description:Time step at which this output object begins to operate

  • start_timeTime at which this output object begins to operate

    C++ Type:double

    Controllable:No

    Description:Time at which this output object begins to operate

  • sync_onlyFalseOnly export results at sync times

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Only export results at sync times

  • sync_timesTimes at which the output and solution is forced to occur

    C++ Type:std::vector<double>

    Controllable:No

    Description:Times at which the output and solution is forced to occur

  • sync_times_objectTimes object providing the times at which the output and solution is forced to occur

    C++ Type:TimesName

    Controllable:No

    Description:Times object providing the times at which the output and solution is forced to occur

  • time_tolerance1e-14Time tolerance utilized checking start and end times

    Default:1e-14

    C++ Type:double

    Controllable:No

    Description:Time tolerance utilized checking start and end times

Timing And Frequency Of Output Parameters

  • execute_vector_postprocessors_onEnable/disable the output of VectorPostprocessors

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM, ALWAYS

    Controllable:No

    Description:Enable/disable the output of VectorPostprocessors

  • hideA list of the variables and postprocessors that should NOT be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).

    C++ Type:std::vector<VariableName>

    Controllable:No

    Description:A list of the variables and postprocessors that should NOT be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).

  • showA list of the variables and postprocessors that should be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).

    C++ Type:std::vector<VariableName>

    Controllable:No

    Description:A list of the variables and postprocessors that should be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).

Selection/Restriction Of Output Parameters

  • linear_residual_dt_divisor1000Number of divisions applied to time step when outputting linear residuals

    Default:1000

    C++ Type:double

    Controllable:No

    Description:Number of divisions applied to time step when outputting linear residuals

  • linear_residual_end_timeSpecifies an end time to begin output on each linear residual evaluation

    C++ Type:double

    Controllable:No

    Description:Specifies an end time to begin output on each linear residual evaluation

  • linear_residual_start_timeSpecifies a start time to begin output on each linear residual evaluation

    C++ Type:double

    Controllable:No

    Description:Specifies a start time to begin output on each linear residual evaluation

  • nonlinear_residual_dt_divisor1000Number of divisions applied to time step when outputting non-linear residuals

    Default:1000

    C++ Type:double

    Controllable:No

    Description:Number of divisions applied to time step when outputting non-linear residuals

  • nonlinear_residual_end_timeSpecifies an end time to begin output on each nonlinear residual evaluation

    C++ Type:double

    Controllable:No

    Description:Specifies an end time to begin output on each nonlinear residual evaluation

  • nonlinear_residual_start_timeSpecifies a start time to begin output on each nonlinear residual evaluation

    C++ Type:double

    Controllable:No

    Description:Specifies a start time to begin output on each nonlinear residual evaluation

Petsc Linear/Nonlinear Output Parameters

  • postprocessors_as_reportersFalseOutput Postprocessors values as Reporter values.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Output Postprocessors values as Reporter values.

  • vectorpostprocessors_as_reportersFalseOutput VectorsPostprocessors vectors as Reporter values.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Output VectorsPostprocessors vectors as Reporter values.

Conversions Before Output Parameters