- column_numberThe column number (0-indexing) for the desired data in the CSV
C++ Type:unsigned int
Controllable:No
Description:The column number (0-indexing) for the desired data in the CSV
- read_prop_user_objectThe PropertyReadFile GeneralUserObject to read element specific property values from file
C++ Type:UserObjectName
Controllable:No
Description:The PropertyReadFile GeneralUserObject to read element specific property values from file
- read_typeOrganization of data in the CSV file: element:by element node: by node voronoi:nearest neighbor / voronoi tesselation structure block:by mesh block
C++ Type:MooseEnum
Controllable:No
Description:Organization of data in the CSV file: element:by element node: by node voronoi:nearest neighbor / voronoi tesselation structure block:by mesh block
PiecewiseConstantFromCSV
Uses data read from CSV to assign values
Description
The PiecewiseConstantFromCSV
function is used to load data from a CSV file into a function. The PropertyReadFile user object takes care of reading the CSV file, and the function queries information from it.
It can assume CSV data
is sorted by element-id, in which case, when the function is evaluated at a point, it will locate the element containing it then return the value for that element in the CSV file
is sorted by blocks, in which case, when the function is evaluated at a point, it will locate the element containing it then return the value for that element's block in the CSV file
defines an interpolation grid, in which case the function will locate the closest point in that interpolation grid, then return the value for that point in the CSV file
For the latter case, the first columns of the CSV data must define the coordinates of each point forming the interpolation grid. The number of columns used to define these coordinates must match the dimension of the mesh.
When use data by block or by element, if there is multiple possibilities for the element to choose from, for example at a node, the element with the lowest ID will be used.
Example Input Syntax
In this example, we display three options for using CSV data to compute a function over an unstructured mesh:
the
element
function, using thereader_element
user object, assumes the CSV file is sorted by element ID, and returns the value of the element containing each pointthe
nearest
function, using thereader_nearest
user object, finds the closest point defined in the CSV file, and returns the corresponding valuethe
block
function, using thereader_block
user object, assumes the data in the CSV file is sorted by block, and returns the value corresponding to the block containing each point
[Functions]
[element]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_element'
read_type = 'element'
column_number = '2'
[]
[node]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_node'
read_type = 'node'
column_number = '2'
[]
[nearest]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_nearest'
read_type = 'voronoi'
column_number = '2'
[]
[block]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_block'
read_type = 'block'
column_number = '2'
[]
[]
[UserObjects]
[reader_element]
type = PropertyReadFile
prop_file_name = 'data_element.csv'
read_type = 'element'
nprop = 3 # number of columns in CSV
[]
[reader_node]
type = PropertyReadFile
prop_file_name = 'data_node.csv'
read_type = 'node'
nprop = 3 # number of columns in CSV
[]
[reader_nearest]
type = PropertyReadFile
prop_file_name = 'data_nearest.csv'
read_type = 'voronoi'
nprop = 3
nvoronoi = 3
[]
[reader_block]
type = PropertyReadFile
prop_file_name = 'data_nearest.csv'
read_type = 'block'
nprop = 3
nblock = 3
[]
[]
(../moose/test/tests/functions/piecewise_constant_from_csv/piecewise_constant.i)Other functions which may read data from CSV
These functions read spatial data from CSV, e.g. data that is sorted by location not node, element or block.
PiecewiseConstant (1D or time dependence)
PiecewiseLinear and CoarsenedPiecewiseLinear (1D or time dependence)
PiecewiseBilinear (2D)
PiecewiseMulticonstant (1D to 4D)
PiecewiseMultilinear (1D to 4D)
Input Parameters
- execute_onLINEARThe 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, CUSTOM, ALWAYS.
Default:LINEAR
C++ Type:ExecFlagEnum
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, CUSTOM, ALWAYS.
- ghost_layers1
Default:1
C++ Type:unsigned short
Controllable:No
Optional 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:No
Description:Set the enabled status of the MooseObject.