PCL and Customization > Accessing the Patran Database > Data Fields
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Data Fields
Data fields are used in element properties, material properties and loads and boundary conditions to express input data as a function of spatial position, time, temperature, stress, total strain, or any other variable or combination of variables, such as stress and temperature. There are four types of data fields, a PCL equation field, a tabular field, a result field and an entity field. The PCL equation field is a field defined by PCL equations. Only spatial variance can be expressed through a PCL equation table. The dependent values can be real scalars, real vectors, or, if the MSC Nastran Analysis Preference has been selected, complex scalars. A tabular field is a field defined by a table of data. Tabular fields can express variance with any variable (space, time, temperature, stress, frequency, total strain, displacement, velocity) or combination of variables (e.g., stress and temperature), even user defined variables which are not directly understood by Patran. The two restrictions with tabular fields are that the dependent values must be scalars (real or complex) and that discontinuities in the field are not allowed. Many times discontinuities exist in a field. For example, if thickness is related to elements in the analysis code of interest, then the thickness at a given point in space may have different values depending upon the element. The thickness at point [10.5, 1.2, 0.5] may be 0.25 for element 5, but the thickness at the same point in space may be 0.15 for element 6. The entity field accommodates these discontinuities by storing field data not only as a function of space but also a function of entity ID and position within the entity. The entity field is restricted to spatial variance. The dependent values of an entity field can be scalars, vectors or tensors. Result fields are fields created by Patran from result information. They are only spatially varying and can accommodate discontinuities in the same manner as entity fields. The dependent values for result fields can be scalars, vectors or tensors.
Typically, when exporting data field information, the user should evaluate the data field at the points of interest and export the results of that evaluation instead of directly exporting the data field definition. But, there are two instances where the user may wish to export the data field in its native form. If the end application can make use of the defining PCL equations, then the user may wish to directly export the PCL equations. Of course, this is only applicable for PCL equation data fields. Also, if the user application does not know what the “points of interest” are and simply wants to output the tabular data field in its native form, then he can export the table as input by the user. The “points of interest” for a spatially varying field should always be known, so this option should only be used for fields which vary according to time, temperature or any other non-spatial variable. This option is only applicable for tabular data fields since all other data field types are restricted to spatial variance. An example of this second case is temperature dependent data fields. The application interface probably doesn’t know which temperature values are of interest and should probably output the data points just as the user input them.
Evaluation of Data Fields
All four data field types can be evaluated with the following PCL function. Note that evaluation of fields which reference native Unigraphics geometry (i.e., parametric spatially varying data fields) will be incorrect for external programs. Fields which reference native Unigraphics geometry should be evaluated from within Patran (i.e., from PCL) and then the results of this evaluation somehow passed to the external process. Or, more simply, parametric spatially varying (C1, C2, C3) data fields which refer to native Unigraphics geometry should be avoided. Try using absolute (X, Y, Z) spatial variance instead.
 
get_field_values_25
( <field_id>, <num_evals>, <eval_dim>, <field_dim>, <eval_points>, <entity_type>, <entity_ids>, <face_ids>, <edge_ids>, <node_positions>, <field_values>)
 
Input:
 
 
INTEGER
<field_id>
The internal ID of the data field to be evaluated.
INTEGER
<num_evals>
The number of points at which the data field is to be evaluated. To evaluate a temperature dependent field at temperatures of 300 and 350, then <num_evals> would be two. To evaluate a spatially varying field at the centroid and the four nodes of a quadrilateral surface element then <num_evals> would be 5.
INTEGER
<eval_dim>
The dimensionality of the points at which the field is to be evaluated. For example, <eval_dim> would be one for temperature but 3 for a point in space (x, y, z).
INTEGER
<field_dim>
The dimensionality of the data stored in the field. One for a scalar, three for a vector, and six for a tensor. Note that tabular data fields can only have scalar dependent values and PCL equation data fields are restricted to scalar and vector dependent values.
REAL ARRAY
<eval_points>
An array of size <eval_dim>x<num_evals> containing all the points at which the field is to be evaluated. this array is not used when evaluating entity data fields and should be filled with zeros in this case.
INTEGER
<entity_type>
Flag specifying which entity type this result data field or entity data field refers to. 123 for nodes, 124 for elements, 0 if not applicable. This array is only used when evaluating entity data fields.
INTEGER ARRAY
<entity_ids>
A vector of <num_evals> IDs specifying the entities to which the corresponding <eval_points> belong. A vector of <num_evals> zeroes if not applicable. This array is only used when evaluating entity data fields.
INTEGER ARRAY
<face_ids>
A vector of <num_evals> IDs specifying the face to which the corresponding <eval_points> belong. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for details about face numbering. A vector of <num_evals> zeroes if not applicable. This array is only used when evaluating entity data fields.
INTEGER ARRAY
<edge_ids>
A vector of <num_evals> IDs specifying the edge to which the corresponding <eval_points> belong. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for details about edge numbering. A vector of <num_evals> zeroes if not applicable. This array is only used when evaluating entity data fields.
INTEGER ARRAY
<node_positions>
A vector of <num_evals> IDs specifying the node position in the element face or element edge to which the corresponding <eval_points> belong. These positions are with respect to the edge or face, not the entire element. For example, the first node on edge 2 of an element would have a <node_positions> of 1. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for details about node positions. A vector of <num_evals> zeroes if not applicable. This array is only used when evaluating entity data fields.
Output:
 
 
REAL ARRAY
<field_values>
An array of size <field_dim>x<num_evals> containing the value of the field at the evaluation points.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name is GetFieldValues25.
int GetFieldValues25 ( field_id, num_evals, eval_dim, field_dim, eval_points, entity_type,
	 entity_ids, face_ids, edge_ids, node_positions, field_values )
int 	field_id
int	num_evals
int 	eval_dim
int 	field_dim
float 	eval_points [ ][3]
int 	entity_type
int 	*entity_ids
int 	*face_ids
int	*edge_ids
int 	*node_positions
float	*field_values
Exportation of Data Fields
First, the internal ID of a data field can be related to the external name of the field through the function below.
 
db_get_field_name
( <field_id>, <field_name>, <field_var> )
 
Input:
 
 
INTEGER
<field_id>
The internal ID of the data field of interest.
Output:
 
 
CHARACTER STRING
 
 
<field_name>
The name of the data field specified by <field_id>.
INTEGER
<field_var>
A flag specifying the type of variance of the data field:
0 = spatially varying field
1 = time/frequency dependent field
2 = material data field which could depend on many variables including temperature, stress, total strain, plastic strain, etc., and certain combinations thereof.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFGetFieldName.
int DbFGetFieldName ( field_id, field_name, field_var )
int 	field_id
char 	*field_name
int 	*field_var
Use the following function to determine basic information about its type and size. This function is very useful in determining the needed memory to store a tabular data field.
 
db_get_field
( <field_id>, <field_name>, <field_var>, <field_dim>, <geom_type>, <geom_id>, <extrap_opt>, <data_type>, <coord_id>, <field_type>, <num_vars>, <var_type_1>, <var_type_2>, <var_type_3>, <func_1_size>, <func_2_size>, <func_3_size>, <lin_def>, <num_var_1>, <num_var_2>, <num_var_3> )
 
Input:
 
 
INTEGER
<field_id>
The internal ID of the data field of interest.
Output:
 
 
CHARACTER STRING
 
 
<field_name>
The internal ID of the data field of interest.
INTEGER
<field_var>
The type of variance of the data field:
0 = Spatially varying field
1 = Material data field which could depend on many variables including temperature, stress, total strain, plastic strain, etc., and certain combinations thereof.
2 = Non-Spatial field, for defining fields dependent on time, frequency, temperature, displacement, velocity, or user-defined independent variables.
3 = Frequency dependent (Obsolete - Pre-Release 1.2 argument.)
INTEGER
<field_dim>
Possible values are zero for a scalar field, one for a vector field, three for a tensor field, and ten for a complex scalar field. Note that tabular fields cannot be vector or tensor fields and that PCL equation data fields cannot be tensor fields.
INTEGER
<geom_type>
The type of geometry entity associated with this data field. Two for a line, three for a surface and four for a solid. This is only applicable for data fields with parametric (C1, C2, C3) independent variables.
INTEGER
<geom_id>
The ID of the geometry entity associated with this data field. This is only applicable for data fields with parametric (C1, C2, C3) independent variables.
INTEGER
<extrap_opt>
The type of data extrapolation method used (applicable only for data fields stored as tables):
1 = use closest tabular value
2 = use linear extrapolation
3 = use zero for all points out of table range
INTEGER
<data_type>
The data type of the independent variable for spatially varying fields: 0 = real values, 1 = parametric values.
INTEGER
<coord_id>
The coordinate frame in which the independent variable should be interpreted for spatially varying fields with <data_type> = 0.
INTEGER
<field_type>
The type of data field:
0 = PCL equation data field
1 = tabular data field
2 = results data field
3 = entity data field
INTEGER
<num_vars>
The number of variables this field depends on. For example, <num_vars> = 3 for a 3D spatially varying field and <num_vars> = 1 for a time dependent field.
INTEGER
<var_type_1>
The type of independent variable # 1:
1 = x
2 = y
3 = z
4 = r
5 = theta
6 = phi
7 = C1
8 = C2
9 = C3
10 = temperature
11 = stress, total strain, or plastic strain
12 = strain rate
13 = time
14= frequency
15= radiosity
16= displacement
17= velocity
18 = user-defined
19 = frequency for real-imaginary complex field
20 = frequency for magnitude-phase (degrees) complex field
21 = frequency for magnitude-phase (radians) complex field
Note that the use of variable type IDs 19, 20, or 21 informs Patran that the field is complex-valued. Depending on which of these values is selected, the complex field values may be stored as real and imaginary values (19), as magnitudes and phases in degrees (20), or as magnitudes and phases in radians (21).
INTEGER
<var_type_2>
The type of independent variable # 2:
The possible values are the same as those for var_type_1.
INTEGER
<var_type_3>
The type of independent variable # 3:
The possible values are the same as those for var_type_1.
INTEGER
<func_1_size>
The length of the character string containing the PCL function defining the first component of the field data. Only applicable for non-tabular fields.
INTEGER
<func_2_size>
The length of the character string containing the PCL function defining the second component of the field data. Only applicable for non-tabular vector fields.
INTEGER
<func_3_size>
The length of the character string containing the PCL function defining the third component of the field data. Only applicable for non-tabular vector fields.
LOGICAL
<lin_def>
A flag specifying whether a data field with parametric independent variables is linear across the target geometry (TRUE) or not (FALSE).
INTEGER
<num_var_1>
The number of stored values for independent variable # 1. Only applicable for tabular fields.
INTEGER
<num_var_2>
The number of stored values for independent variable # 2. Only applicable for tabular fields.
INTEGER
<num_var_3>
The number of stored values for independent variable # 3. Only applicable for tabular fields.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFGetField.
int DbFGetField ( field_id, field_name, field_var, field_dim, geom_type, geom_id, extrap_opt,
 	data_type, coord_id, field_type, num_vars, var_type_1, var_type_2,
	 var_type_3, func_1_size, func_2_size, func_3_size, lin_def, num_var_1,
	 num_var_2, num_var_3 )
int 	field_id	
char 	*field_name
int 	*field_var
int 	*field_dim
int 	*geom_type
int 	*geom_id
int 	*extrap_opt
int 	*data_type
int 	*coord_id
int 	*field_type
int 	*num_vars
int 	*var_type_1
int 	*var_type_2
int 	*var_type_3
int 	*func_1_size
int 	*func_2_size
int 	*func_3_size
int 	*lin_def
int 	*num_var_1
int 	*num_var_2
int 	*num_var_3
In order to extract tabular data fields in their native form, use the function described below. The db_get_field function should be used to determine the needed storage requirements of a data field prior to calling this function.
 
db_get_field_table
( <field_id>, <num_vars>, <num_var_1>, <num_var_2>, <num_var_3>, <var_1_values>, <var_2_values>, <var_3_values>, <field_values> )
 
Input:
 
 
INTEGER
<field_id>
The internal ID of the data field of interest.
INTEGER
<num_vars>
The number of independent variables upon which this data field is dependent.
INTEGER
<num_var_1>
The number of data points for independent variable # 1.
INTEGER
<num_var_2>
The number of data points for independent variable # 2. One, if <num_vars> is less than two.
INTEGER
<num_var_3>
The number of data points for independent variable # 3. One, if <num_vars> is less than three.
Output:
 
 
REAL ARRAY
<var_1_values>
An array containing the <num_var_1> data points for independent variable # 1.
REAL ARRAY
<var_2_values>
An array containing the <num_var_2> data points for independent variable # 2. A single zero, if <num_vars> is less than two.
REAL ARRAY
<var_3_values>
An array containing the <num_var_3> data points for independent variable # 3. A single zero, if <num_vars> is less than three.
REAL ARRAY
<field_values>
This array contains the values of the data field at all prescribed data points. For real-valued fields, its length is <num_var_1>x<num_var_2>x<num_var_3>. For complex-valued fields, its length is twice that, with all of the first complex component terms preceding all second component terms. That is, all reals precede all imaginaries and all magnitudes precede all phases.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFGetFieldTable.
int DbFGetFieldTable ( field_id ,num_vars ,num_var_1, num_var_2, num_var_3, var_1_values, var_2_values, var_3_values, field_values )
 int 	field_id
int 	num_vars
int 	num_var_1
int 	num_var_2
int 	num_var_3
float 	*var_1_values
float 	*var_2_values
float 	*var_3_values
float 	*field_values
In order to extract the PCL equations defining a PCL equation data field use the function described below. The db_get_field function should be used to determine the string size of these equations prior to calling this function.
  
db_get_field_function
( <field_id>, <func_1_size>, <func_2_size>, <func_3_size>, <func_1>, <func_2>, <func_3> )
 
Input:
 
 
INTEGER
<field_id>
The internal ID of the data field of interest.
INTEGER
<func_1_size>
The number of characters in the string containing the PCL function for the first component of the data field.
INTEGER
<func_2_size>
The number of characters in the string containing the PCL function for the second component of the data field. One if this is a scalar field.
INTEGER
<func_3_size>
The number of characters in the string containing the PCL function for the third component of the data field. One if this is a scalar field.
INTEGER
 
 
Output:
 
 
CHARACTER STRING
 
 
<func_1>
A character string containing the PCL function for the first component of the data field.
CHARACTER STRING
 
 
<func_2>
A character string containing the PCL function for the second component of the data field. A blank string if this is a scalar field.
CHARACTER STRING
 
 
<func_3>
A character string containing the PCL function for the third component of the data field. A blank string if this is a scalar field.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFGetFieldFunction.
int DbFGetFieldFunction (field_id, func_1_size, func_2_size, func_3_size, func_1, func_2, func_3)
int 	field_id
int 	func_1_size
int 	func_2_size
int 	func_3_size
char 	*func_1
char 	*func_2
char 	*func_3
 
db_get_all_field_names
( object )
 
Function
 
 
Prepares the database to return the field names for a given object. Used to conjunction with db_get_next_field_name.
Input:
 
 
INTEGER
object
Object type ID: 0 for Spatial, 1 for Material, 2 for Non Spatial
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFGetAllFieldNames.
 
db_get_next_field_name
( field_id, field_name )
 
Function
 
 
Used in a loop, after calling db_get_all_field_names, to retrieve the field ids and names of a given object.
Output:
 
 
INTEGER
field_id
Field ID.
STRING
field_name[31]
Field name.
INTEGER
<Return Value>
= 0, while there are more fields.
Notes:
Use in a while loop with the condition WHILE( status == 0 ) get next.
The C name differs. It is DbFGetNextFieldName.
  
db_get_field_id
( field_name, field_id )
 
Function
 
 
Return the field ID given the name.
Input:
 
 
STRING
field_name[31]
Name of the field.
Output:
 
 
INTEGER
field_id
Internal field ID.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFGetFieldId.
Importation of Data Fields
The db_create_field function should be used to create PCL equation data fields or tabular data fields. The relevance of many of these functions arguments depends upon which type of data field is being created.
 
db_create_field
( <field_id>, <field_name>, <field_var>, <field_type>, <geom_type>, <geom_id>, <extrap_opt>, <data_type>, <coord_id>, <field_type>, <num_vars>, <var_type_1>, <var_type_2>, <var_type_3>, <func_1_size>, <func_2_size>, <func_3_size>, <func_1>, <func_2>, <func_3>, <lin_def>, <num_var_1>, <num_var_2>, <num_var_3>, <var_1_values>, <var_2_values>, <var_3_values>, <field_values> )
 
Input:
 
 
CHARACTER STRING
 
 
<field_name>
The external name used to reference the data field.
INTEGER
<field_var>
The type of variance of the data field:
0 = spatially varying field
1 = material data field which could depend on many variables including temperature, stress, total strain, plastic strain, etc., and certain combinations thereof.
2 = non-spatial data field which could depend on many variables including time, frequency, temperature, displacement, velocity, user-defined variables, and certain combinations thereof.
INTEGER
<field_type>
0 = real scalar field; 1 = real vector field; 10 = complex scalar field.
Note that tabular fields cannot be vector fields.
INTEGER
<geom_type>
The type of geometry entity associated with this data field. Two for a line, three for a surface and four for a solid. This is only applicable for data fields with parametric (<data_type> = 1: C1, C2, C3) independent variables.
INTEGER
<geom_id>
The ID of the geometry entity associated with this data field. This is only applicable for data fields with parametric (<data_type> = 1: C1, C2, C3) independent variables.
INTEGER
<extrap_opt>
The type of data extrapolation method used (applicable only for data fields stored as tables):
1 = use closest tabular value
2 = use linear extrapolation
3 = use zero for all points out of table range
INTEGER
<data_type>
The data type of the independent variable for spatially varying fields: 0 = real values, 1 = parametric values.
INTEGER
<coord_id>
The coordinate frame in which the independent variable should be interpreted for spatially varying fields with <data_type> = 0.
INTEGER
<field_type>
The type of data field being created: 0 = as PCL equation, 1 = tabular data field.
INTEGER
<num_vars>
The number of variables this field depends on. For example, <num_vars> = 3 for a 3D spatially varying field and <num_vars> = 1 for a time dependent field.
INTEGER
<var_type_1>
The type of independent variable # 1 (zero if not applicable):
1 = x
2 = y
3 = z
4 = r
5 = theta
6 = phi
7 = C1
8 = C2
9 = C3
10 = temperature
11 = stress, total strain, or plastic strain
12 = strain rate
13 = time
14= frequency
15= radiosity
16= displacement
17= velocity
18 = user-defined
19 = frequency for real-imaginary complex field
20 = frequency for magnitude-phase (degrees) complex field
21 = frequency for magnitude-phase (radians) complex field
Note that the use of variable type IDs 19, 20, or 21 informs Patran that the field is complex-valued. Depending on which of these values is selected, the complex field values may be stored as real and imaginary values (19), as magnitudes and phases in degrees (20), or as magnitudes and phases in radians (21).
INTEGER
<var_type_2>
The type of independent variable # 2 (zero if not applicable):
The possible values are the same as those for var_type_1.
INTEGER
<var_type_3>
The type of independent variable # 3 (zero if not applicable):
The possible values are the same as those for var_type_1.
INTEGER
<func_1_size>
The length of the character string containing the PCL function defining the first component of the field data. Only applicable for non-tabular fields. Use the value of one if not applicable.
INTEGER
<func_2_size>
The length of the character string containing the PCL function defining the second component of the field data. Only applicable for non-tabular vector fields. Use the value of one if not applicable.
INTEGER
<func_3_size>
The length of the character string containing the PCL function defining the third component of the field data. Only applicable for non-tabular vector fields. Use the value of one if not applicable.
CHARACTER STRING
 
 
<func_1>
The character string containing the PCL function representing the first component of the field data. Only applicable for non-tabular fields. Use a blank string if not applicable.
CHARACTER STRING
 
 
<func_2>
The character string containing the PCL function representing the second component of the field data. Only applicable for non-tabular vector fields. Use a blank string if not applicable.
CHARACTER STRING
 
 
<func_3>
The character string containing the PCL function representing the third component of the field data. Only applicable for non-tabular vector fields. Use a blank string if not applicable.
LOGICAL
<lin_def>
A flag specifying whether a data field with parametric independent variables is linear across the target geometry (TRUE) or not (FALSE).
INTEGER
<num_var_1
The number of stored values for independent variable # 1. Only applicable for tabular fields. Use the value one if not applicable.
INTEGER
<num_var_2>
The number of stored values for independent variable # 2. Only applicable for tabular fields and <num_vars> > 1. Use the value one if not applicable.
INTEGER
<num_var_3>
The number of stored values for independent variable # 3. Only applicable for tabular fields and <num_vars> > 2. Use the value one if not applicable.
REAL ARRAY
<var_1_values>
A <num_var_1> array containing all the data points for the first variable. Only applicable for tabular fields. Use a single zero if not applicable.
REAL ARRAY
<var_2_values>
A <num_var_2> array containing all the data points for the second variable. Only applicable for tabular fields and <num_vars> > 1. Use a single zero if not applicable.
REAL ARRAY
<var_3_values>
A <num_var_3> array containing all the data points for the first variable. Only applicable for tabular fields and <num_vars> > 2. Use a single zero if not applicable.
REAL ARRAY
<field_values>
This array contains the field values for all data points. It is only applicable for tabular fields. Use a single zero if not applicable. For real-valued fields its length is <num_var_1>x<num_var_2>x<num_var_3>. For complex-valued fields, its length is twice that,with all of the first complex component terms preceding all second component terms. That is, all reals precede all imaginaries and all magnitudes precede all phases.
Output:
 
 
INTEGER
field_id
The internal ID assigned to the data field by Patran.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFCreateField.
int DbFCreateField ( field_id, field_name, field_var, field_dim, geom_type, geom_id,
 	extrap_opt, data_type, coord_id, field_type, num_vars, var_type_1,
	 var_type_2, var_type_3, func_1_size, func_2_size, func_3_size, func_1,
	 func_2, func_3, lin_def, num_var_1, num_var_2, num_var_3,
	 var_1_values, var_2_values, var_3_values, field_values )
int 	*field_id
char 	*field_name
int 	field_var
int 	field_dim
int 	geom_type
int 	geom_id
int 	extrap_opt;
int 	data_type
int 	coord_id
int 	field_type
int 	num_vars
int 	var_type_1
int 	var_type_2
int 	var_type_3
int 	func_1_size
int 	func_2_size
int	 func_3_size
char 	*func_1
char 	*func_2
char 	*func_3
int 	lin_def
int 	num_var_1
int 	num_var_2
int 	num_var_3
float 	var_1_values[ ]
float 	var_2_values[ ]
float 	var_3_values[ ]
float 	field_values[ ]
 
db_create_field_dfem
( <field_id>, <field_name>, <field_var>, <field_dim>, <entity_type>, <num_points>, <methods>, <entity_ids>, <face_ids>, <edge_ids>, <node_positions>, <ref_nodes>, <field_values> )
 
Input:
 
 
INTEGER
<field_id>
The unique internal ID to assign to this newly created data field. Use zero to allow the database to assign the next ID.
STRING
<field_name>
The name of the field to be created. Maximum length of this name is 31 characters.
INTEGER
<field_var>
Type of variance. Always zero ( spatially varying ) since entity fields are restricted to spatial variance.
INTEGER
<field_dim>
The dimensionality of data stored in this field. Zero for scalar values, one for vectors and two for tensors.
INTEGER
<entity_type>
The type of entity that these field values are associated with. 123 if the field values are associated with nodes and 124 if the field values are associated with elements.
INTEGER
<num_points>
The number of data points to be stored.
INTEGER ARRAY
 
 
<methods>
A <num_points> vector of IDs specifying whether a vector is defined directly or by a reference node ID. Applies only to vectors. Use 1’s for vectors specified directly in the <field_values> array. Use 2’s for vectors specified by a reference node ID in the <ref_nodes> array.
INTEGER ARRAY
 
 
<entity_ids>
A <num_points> vector of entity IDs specifying the nodes or elements to which the field values belong.
INTEGER ARRAY
 
 
<face_ids>
A <num_points> vector of face IDs specifying the faces to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on face IDs. If <node_positions> are to be specified, and the field is to be evaluated at element nodes, use zero for all <face_ids>. If <node_positions> are to be specified, and the field is to be evaluated at 3D element face nodes, use the appropriate face id. Use zeros for <face_ids> of 1D and 2D elements.
INTEGER ARRAY
 
 
<edge_ids>
A <num_points> vector of edge IDs specifying the edges to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on edge IDs. <edge_ids> should not be specified for 3D elements.
INTEGER ARRAY
 
 
<node_positions>
A <num_points> vector of node positions specifying the node positions on the element to which the field values belong. These are not the edge or face node positions. They are the node positions of the full element topology. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more about node positioning.
INTEGER ARRAY
 
 
<ref_nodes>
A <num_points> vector of reference node IDs specifying FEM model nodes to be used to determine a vector. The vector will be computed to the node from a position on the element. See the <methods> input for more information. <ref_nodes> can only be used with element field data.
REAL ARRAY
<field_values>
A <num_points>x<n> array ( where n is 1 for scalar fields, 3 for vector fields and 6 for tensor fields ) containing the field values to be stored.
Output:
 
 
INTEGER
<field_id>
The internal ID assigned to this newly created data field.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFCreateFieldDFem.
int DbFCreateFieldDFem ( field_id, field_name, field_var, field_dim, entity_type,
	num_points, methods, entity_ids, face_ids, edge_ids,
	node_positions, ref_nodes, field_values )
int 	*field_id
char 	*field_name
int 	field_var
int 	field_dim
int 	entity_type
int 	num_points
int	*methods
int 	*entity_ids
int 	*face_ids
int 	*edge_ids
int 	*node_positions
int	*ref_nodes
float 	*field_values		
 
db_create_field_dfem_v2
( <field_id>, <field_name>, <field_var>, <field_dim>, <entity_type>, <num_points>, <methods>, <entity_ids>, <face_ids>, <edge_ids>, <node_positions>, <ref_nodes>, <dyn_var_id>, <extrap_opt>, <num_steps>, <steps>, <field_values> )
 
Input:
 
 
INTEGER
<field_id>
The unique internal ID to assign to this newly created data field. Use zero to allow the database to assign the next ID.
STRING
<field_name>
The name of the field to be created. Maximum length of this name is 31 characters.
INTEGER
<field_var>
Type of variance. Zero indicates spatial variance. 2 indicates a frequency or time variance.
INTEGER
<field_dim>
The dimensionality of data stored in this field. Zero for scalar values, one for vectors and two for tensors.
INTEGER
<entity_type>
The type of entity that these field values are associated with. 123 if the field values are associated with nodes and 124 if the field values are associated with elements.
INTEGER
<num_points>
The number of data points to be stored.
INTEGER ARRAY
 
 
<methods>
A <num_points> vector of IDs specifying whether a vector is defined directly or by a reference node ID. Applies only to vectors. Use 1’s for vectors specified directly in the <field_values> array. Use 2’s for vectors specified by a reference node ID in the <ref_nodes> array.
INTEGER ARRAY
 
 
<entity_ids>
A <num_points> vector of entity IDs specifying the nodes or elements to which the field values belong.
INTEGER ARRAY
 
 
<face_ids>
A <num_points> vector of face IDs specifying the faces to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on face IDs. If <node_positions> are to be specified, and the field is to be evaluated at element nodes, use zero for all <face_ids>. If <node_positions> are to be specified, and the field is to be evaluated at 3D element face nodes, use the appropriate face id. Use zeros for <face_ids> of 1D and 2D elements.
INTEGER ARRAY
 
 
<edge_ids>
A <num_points> vector of edge IDs specifying the edges to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on edge IDs. <edge_ids> should not be specified for 3D elements.
INTEGER ARRAY
 
 
<node_positions>
A <num_points> vector of node positions specifying the node positions on the element to which the field values belong. These are not the edge or face node positions. They are the node positions of the full element topology. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more about node positioning.
INTEGER ARRAY
 
 
<ref_nodes>
A <num_points> vector of reference node IDs specifying FEM model nodes to be used to determine a vector. The vector will be computed to the node from a position on the element. See the <methods> input for more information. <ref_nodes> can only be used with element field data.
INTEGER
<dyn_var_id>
The dynamic variable ID. 0 indicates non-dynamic. 13 indicates time. 14 indicates frequency.
INTEGER
<extrap_opt>
The type of data extrapolation method used when the time or frequency to be evaluated is outside the range defined in the <steps> array (applicable only for dynamic):
1 = use closest time/frequency value
2 = use linear extrapolation
3 = use zero for all points out of the time/frequency range.
INTEGER
<num_steps>
The number of dynamic steps. Use 1 for non-dynamic.
REAL ARRAY
<steps>
A <num_steps> containing the dynamic step values to be stored. Use 0 for non-dynamic.
REAL ARRAY
<field_values>
A <num_points*num_steps>x<n> array ( where n is 1 for scalar fields, 3 for vector fields and 6 for tensor fields ) containing the field values to be stored. If <num_steps> is greater than 1, supply <num_steps> sets of values grouped by entity.
Output:
 
 
INTEGER
<field_id>
The internal ID assigned to this newly created data field.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFCreateFieldDFemV2.
int DbFCreateFieldDFemV2 ( field_id, field_name, field_var, field_dim, entity_type,
	num_points, methods, entity_ids, face_ids, edge_ids,
	node_positions, ref_nodes, dyn_var_id, extrap_opt,
	num_steps, steps, field_values )
int 	*field_id
char 	*field_name
int 	field_var
int 	field_dim
int 	entity_type
int 	num_points
int	*methods
int 	*entity_ids
int 	*face_ids
int 	*edge_ids
int 	*node_positions
int	*ref_nodes
int	dyn_var_id
int	extrap_opt
int	num_steps
float	*steps
float 	*field_values		
 
  
db_create_field_lbc
( <field_id>, <field_name>, <field_var>, <field_dim>, <entity_type>, <num_points>, <entity_ids>, <face_ids>, <edge_ids>, <node_positions>, <field_values> )
 
Input:
 
 
INTEGER
<field_id>
The unique internal ID to assign to this newly created data field. Use zero to allow the database to assign the next ID.
STRING
<field_name>
The name of the field to be created. Maximum length of this name is 31 characters.
INTEGER
<field_var>
Type of variance. Always zero ( spatially varying ) since entity fields are restricted to spatial variance.
INTEGER
<field_dim>
The dimensionality of data stored in this field. Zero for scalar values, one for vectors and two for tensors.
INTEGER
<entity_type>
The type of entity that these field values are associated with. 123 if the field values are associated with nodes and 124 if the field values are associated with elements.
INTEGER
<num_points>
The number of data points to be stored.
INTEGER ARRAY
 
 
<entity_ids>
A <num_points> vector of entity IDs specifying the nodes or elements to which the field values belong.
INTEGER ARRAY
 
 
<face_ids>
A <num_points> vector of face IDs specifying the faces to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on face IDs. If <node_positions> are to be specified, and the field is to be evaluated at element nodes, use zero for all <face_ids>. If <node_positions> are to be specified, and the field is to be evaluated at 3D element face nodes, use the appropriate face id. Use zeros for <face_ids> of 1D and 2D elements.
INTEGER ARRAY
 
 
<edge_ids>
A <num_points> vector of edge IDs specifying the edges to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on edge IDs. <edge_ids> should not be specified for 3D elements.
INTEGER ARRAY
 
 
<node_positions>
A <num_points> vector of node positions specifying the node positions on the element to which the field values belong. These are not the edge or face node positions. They are the node positions of the full element topology. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more about node positioning.
REAL ARRAY
<field_values>
A <num_points>x<n> array ( where n is 1 for scalar fields, 3 for vector fields and 6 for tensor fields ) containing the field values to be stored.
Output:
 
 
INTEGER
<field_id>
The internal ID assigned to this newly created data field.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbFCreateFieldLbc.
int DbFCreateFieldLbc ( field_id, field_name, field_var, field_dim, entity_type, num_points,
 	entity_ids, face_ids, edge_ids, node_positions, field_values )
int 	*field_id
char 	*field_name
int 	field_var
int 	field_dim
int 	entity_type
int 	num_points
int 	*entity_ids
int 	*face_ids
int 	*edge_ids
int 	*node_positions
float 	*field_values		
 
db_modify_field_dfem
( <field_id>, <field_name>, <field_var>, <field_dim>, <entity_type>, <num_points>, <methods>, <entity_ids>, <face_ids>, <edge_ids>, <node_positions>, <ref_nodes>, <field_values> )
 
Input:
 
 
INTEGER
<field_id>
The unique internal ID of the field to be modified.
STRING
<field_name>
The modified name of the field. Maximum length of this name is 31 characters.
INTEGER
<field_var>
Type of variance. Always zero ( spatially varying ) since entity fields are restricted to spatial variance.
INTEGER
<field_dim>
The dimensionality of data stored in this field. Zero for scalar values, one for vectors and two for tensors.
INTEGER
<entity_type>
The type of entity that these field values are associated with. 123 if the field values are associated with nodes and 124 if the field values are associated with elements.
INTEGER
<num_points>
The number of data points to be stored.
INTEGER ARRAY
 
 
<methods>
A <num_points> vector of IDs specifying whether a vector is defined directly or by a reference node ID. Applies only to vectors. Use 1’s for vectors specified directly in the <field_values> array. Use 2’s for vectors specified by a reference node ID in the <ref_nodes> array.
INTEGER ARRAY
 
 
<entity_ids>
A <num_points> vector of entity IDs specifying the nodes or elements to which the field values belong.
INTEGER ARRAY
 
 
<face_ids>
A <num_points> vector of face IDs specifying the faces to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on face IDs. If <node_positions> are to be specified, and the field is to be evaluated at element nodes, use zero for all <face_ids>. If <node_positions> are to be specified, and the field is to be evaluated at 3D element face nodes, use the appropriate face id. Use zeros for <face_ids> of 1D and 2D elements.
INTEGER ARRAY
 
 
<edge_ids>
A <num_points> vector of edge IDs specifying the edges to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on edge IDs. <edge_ids> should not be specified for 3D elements.
INTEGER ARRAY
 
 
<node_positions>
A <num_points> vector of node positions specifying the node positions on the element to which the field values belong. These are not the edge or face node positions. They are the node positions of the full element topology. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more about node positioning.
INTEGER ARRAY
 
 
<ref_nodes>
A <num_points> vector of reference node IDs specifying FEM model nodes to be used to determine a vector. The vector will be computed to the node from a position on the element. See the <methods> input for more information. <ref_nodes> can only be used with element field data.
REAL ARRAY
<field_values>
A <num_points>x<n> array ( where n is 1 for scalar fields, 3 for vector fields and 6 for tensor fields ) containing the field values to be stored.
Output:
 
 
INTEGER
<field_id>
The internal ID assigned to this newly created data field.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbModifyFieldDFem.
int DbModifyFieldDFem ( field_id, field_name, field_var, field_dim, entity_type,
	num_points, methods, entity_ids, face_ids, edge_ids,
	node_positions, ref_nodes, field_values )
int 	field_id
char 	*field_name
int 	field_var
int 	field_dim
int 	entity_type
int 	num_points
int	*methods
int 	*entity_ids
int 	*face_ids
int 	*edge_ids
int 	*node_positions
int	*ref_nodes
float 	*field_values		
 
db_modify_field_dfem_v2
( <field_id>, <field_name>, <field_var>, <field_dim>, <entity_type>, <num_points>, <methods>, <entity_ids>, <face_ids>, <edge_ids>, <node_positions>, <ref_nodes>, <dyn_var_id>, <extrap_opt>, <num_steps>, <steps>, <field_values> )
 
Input:
 
 
INTEGER
<field_id>
The unique internal ID of the field to be modified.
STRING
<field_name>
The modified name of the field. Maximum length of this name is 31 characters.
INTEGER
<field_var>
Type of variance. Zero indicates spatial variance. 2 indicates a frequency or time variance.
INTEGER
<field_dim>
The dimensionality of data stored in this field. Zero for scalar values, one for vectors and two for tensors.
INTEGER
<entity_type>
The type of entity that these field values are associated with. 123 if the field values are associated with nodes and 124 if the field values are associated with elements.
INTEGER
<num_points>
The number of data points to be stored.
INTEGER ARRAY
 
 
<methods>
A <num_points> vector of IDs specifying whether a vector is defined directly or by a reference node ID. Applies only to vectors. Use 1’s for vectors specified directly in the <field_values> array. Use 2’s for vectors specified by a reference node ID in the <ref_nodes> array.
INTEGER ARRAY
 
 
<entity_ids>
A <num_points> vector of entity IDs specifying the nodes or elements to which the field values belong.
INTEGER ARRAY
 
 
<face_ids>
A <num_points> vector of face IDs specifying the faces to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on face IDs. If <node_positions> are to be specified, and the field is to be evaluated at element nodes, use zero for all <face_ids>. If <node_positions> are to be specified, and the field is to be evaluated at 3D element face nodes, use the appropriate face id. Use zeros for <face_ids> of 1D and 2D elements.
INTEGER ARRAY
 
 
<edge_ids>
A <num_points> vector of edge IDs specifying the edges to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on edge IDs. <edge_ids> should not be specified for 3D elements.
INTEGER ARRAY
 
 
<node_positions>
A <num_points> vector of node positions specifying the node positions on the element to which the field values belong. These are not the edge or face node positions. They are the node positions of the full element topology. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more about node positioning.
INTEGER ARRAY
 
 
<ref_nodes>
A <num_points> vector of reference node IDs specifying FEM model nodes to be used to determine a vector. The vector will be computed to the node from a position on the element. See the <methods> input for more information. <ref_nodes> can only be used with element field data.
INTEGER
<dyn_var_id>
The dynamic variable ID. 0 indicates non-dynamic. 13 indicates time. 14 indicates frequency.
INTEGER
<extrap_opt>
The type of data extrapolation method used when the time or frequency to be evaluated is outside the range defined in the <steps> array (applicable only for dynamic):
1 = use closest time/frequency value
2 = use linear extrapolation
3 = use zero for all points out of the time/frequency range.
INTEGER
<num_steps>
The number of dynamic steps. Use 1 for non-dynamic.
REAL ARRAY
<steps>
A <num_steps> containing the dynamic step values to be stored. Use 0 for non-dynamic.
REAL ARRAY
<field_values>
A <num_points*num_steps>x<n> array ( where n is 1 for scalar fields, 3 for vector fields and 6 for tensor fields ) containing the field values to be stored. If <num_steps> is greater than 1, supply <num_steps> sets of values grouped by entity.
Output:
 
 
INTEGER
<field_id>
The internal ID assigned to this newly created data field.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbModifyFieldDFemV2.
int DbModifyFieldDFemV2 ( field_id, field_name, field_var, field_dim, entity_type,
	num_points, methods, entity_ids, face_ids, edge_ids,
	node_positions, ref_nodes, dyn_var_id, extrap_opt,
	num_steps, steps, field_values )
int 	field_id
char 	*field_name
int 	field_var
int 	field_dim
int 	entity_type
int 	num_points
int	*methods
int 	*entity_ids
int 	*face_ids
int 	*edge_ids
int 	*node_positions
int	*ref_nodes
int	dyn_var_id
int	extrap_opt
int	num_steps
float	*steps
float 	*field_values		
 
db_modify_field_lbc
( <field_id>, <field_name>, <field_var>, <field_dim>, <entity_type>, <num_points>, <entity_ids>, <face_ids>, <edge_ids>, <node_positions>, <field_values> )
 
Input:
 
 
INTEGER
<field_id>
The unique internal ID of the field to be modified.
STRING
<field_name>
The modified name of the field. Maximum length of this name is 31 characters.
INTEGER
<field_var>
Type of variance. Always zero ( spatially varying ) since entity fields are restricted to spatial variance.
INTEGER
<field_dim>
The dimensionality of data stored in this field. Zero for scalar values, one for vectors and two for tensors.
INTEGER
<entity_type>
The type of entity that these field values are associated with. 123 if the field values are associated with nodes and 124 if the field values are associated with elements.
INTEGER
<num_points>
The number of data points to be stored.
INTEGER ARRAY
 
 
<entity_ids>
A <num_points> vector of entity IDs specifying the nodes or elements to which the field values belong.
INTEGER ARRAY
 
 
<face_ids>
A <num_points> vector of face IDs specifying the faces to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on face IDs. If <node_positions> are to be specified, and the field is to be evaluated at element nodes, use zero for all <face_ids>. If <node_positions> are to be specified, and the field is to be evaluated at 3D element face nodes, use the appropriate face id. Use zeros for <face_ids> of 1D and 2D elements.
INTEGER ARRAY
 
 
<edge_ids>
A <num_points> vector of edge IDs specifying the edges to which the field values belong. A vector of <num_points> zeroes if not applicable. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more on edge IDs. <edge_ids> should not be specified for 3D elements.
INTEGER ARRAY
 
 
<node_positions>
A <num_points> vector of node positions specifying the node positions on the element to which the field values belong. These are not the edge or face node positions. They are the node positions of the full element topology. See Patran’s Element Library (p. 406) in the Reference Manual - Part III for more about node positioning.
REAL ARRAY
<field_values>
A <num_points>x<n> array ( where n is 1 for scalar fields, 3 for vector fields and 6 for tensor fields ) containing the field values to be stored.
Output:
 
 
INTEGER
<field_id>
The internal ID assigned to this newly created data field.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Notes:
The C name differs. It is DbModifyFieldLbc.
int DbModifyFieldLbc ( field_id, field_name, field_var, field_dim, entity_type,
	num_points, entity_ids, face_ids, edge_ids,
	node_positions, field_values )
int 	field_id
char 	*field_name
int 	field_var
int 	field_dim
int 	entity_type
int 	num_points
int 	*entity_ids
int 	*face_ids
int 	*edge_ids
int 	*node_positions
float 	*field_values		
 
  
db_modify_field_name
( old_name, new_name )
  
Description:
 
 
This function renames a field.
Input:
 
 
STRING[32]
old_name
Field name to be modified.
STRING[32]
new_name
New field name.
Output:
 
 
INTEGER
<Return Value>
0=success, otherwise failure.