Corrected spelling in comments

Resolves bug-report https://bugs.openfoam.org/view.php?id=2844
This commit is contained in:
Henry Weller
2018-02-13 20:39:56 +00:00
parent 6a417d4a93
commit fe1fade8cb
182 changed files with 1242 additions and 1244 deletions

View File

@ -52,22 +52,22 @@ The process for producing a user defined reader is:
Reads FlowScience "flsgrf" flow3d data.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/flow3d
Reads Tecplot "plt" files.
Reads Tecplot "plt" files.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/tecplot
Reads Common File Format data.
Reads Common File Format data.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cff
Reads Cobalt grid and picture/restart file data.
Reads Cobalt grid and picture/restart file data.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cobalt
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
2. Produce the dynamic shared library.
@ -77,7 +77,7 @@ The process for producing a user defined reader is:
for each machine type. Operating system level differences could cause
you to have to modify these makefiles slightly, but the general
process is very straightforward. Note that for the SGI environment you
must compile with the following flags to ensure compatability with
must compile with the following flags to ensure compatibility with
the EnSight server: Irix_5.3 -mips1
Irix_6.2 -mips2
Irix_6.5_n32 -mips3
@ -139,11 +139,11 @@ The process for producing a user defined reader is:
You can use any of the other provided readers by changing this variable.
For example, to use the dytran reader:
setenv ENSIGHT6_READER dytran
setenv ENSIGHT6_READER dytran
Thus, you can use your reader in the same way. If you provided "mydata",
change ENSIGHT6_READER to:
setenv ENSIGHT6_READER mydata
@ -187,7 +187,7 @@ Generally Needed for BLOCK data
USERD_get_block_coords_by_component block coordinates
USERD_get_block_iblanking block iblanking values
USERD_get_block_scalar_values block scalar variables
USERD_get_block_vector_values_by_component block vector variables
USERD_get_block_vector_values_by_component block vector variables
Generally needed for either or both kinds of data
@ -223,7 +223,7 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
@ -254,7 +254,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_variable_info
5. Part building (per part created)
USERD_set_time_step
@ -269,12 +269,12 @@ called is given.
dialog is closed)
6. Loading Variables
constants:
---------
USERD_set_time_step
USERD_get_constant_value
scalars:
-------
USERD_get_description_lines
@ -309,7 +309,7 @@ called is given.
USERD_get_element_ids_for_part
USERD_get_block_iblanking
USERD_get_block_coords_by_component
-----------------------
@ -319,7 +319,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -514,7 +514,7 @@ USERD_get_block_scalar_values
for each node or element.
Array will have been allocated:
if Z_PER_NODE:
i*j*k for the block long
@ -573,7 +573,7 @@ USERD_get_block_vector_values_by_component
component value for each node or element.
Array will have been allocated:
if Z_PER_NODE:
i*j*k for the block long
@ -680,7 +680,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -783,7 +783,7 @@ USERD_get_element_connectivities_for_part
conn_array[Z_TRI03][25][3]
conn_array[Z_QUA04][100][4]
conn_array[Z_HEX08][30][8]
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -818,7 +818,7 @@ USERD_get_element_connectivities_for_part
And conn_array here as follows:
Triangle Connectivity
-------- ------------
T1 conn_array[Z_TRI03][0][0] = 1
@ -913,7 +913,7 @@ USERD_get_element_label_status
on a part by part basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
@ -983,7 +983,7 @@ USERD_get_global_coords
And conn_array in USERD_get_element_connectivities_for_part
as follows:
Triangle Connectivity
-------- ------------
T1 conn_array[Z_TRI03][0][0] = 1
@ -1037,7 +1037,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1050,8 +1050,8 @@ USERD_get_name_of_reader
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) *two_fields = FALSE if only one data field required
in the data dialog of EnSight.
TRUE if two data fields required.
in the data dialog of EnSight.
TRUE if two data fields required.
Notes:
-----
@ -1305,7 +1305,7 @@ USERD_get_part_build_info
The numbers provided here are the ones by
which the parts will be referred to in any
of the other routines which receive a part
number or block number as an argument!!
number or block number as an argument!!
********************************************
(Array will have been allocated
@ -1421,7 +1421,7 @@ USERD_get_scalar_values
---------
(IN) which_scalar = The variable number (of scalar type)
(IN) which_part
(IN) which_part
if Z_PER_NODE: Not used
@ -1433,7 +1433,7 @@ USERD_get_scalar_values
if Z_PER_ELEM: = The element type
(OUT) scalar_array
(OUT) scalar_array
if Z_PER_NODE: = 1D array containing scalar values
for each node.
@ -1443,7 +1443,7 @@ USERD_get_scalar_values
if Z_PER_ELEM: = 1d array containing scalar values for
each element of a particular part and type.
(Array will have been allocated
number_of_elements[which_part][which_type]
long. See USERD_get_part_build_info)
@ -1590,7 +1590,7 @@ USERD_get_variable_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -1683,7 +1683,7 @@ USERD_get_vector_values
---------
(IN) which_vector = The variable number
(IN) which_part
(IN) which_part
if Z_PER_NODE: Not used
@ -1695,7 +1695,7 @@ USERD_get_vector_values
if Z_PER_ELEM: = The element type
(OUT) vector_array
(OUT) vector_array
if Z_PER_NODE: = 1D array containing vector values
for each node.
@ -1719,7 +1719,7 @@ USERD_get_vector_values
if Z_PER_ELEM: = 1d array containing vector values for
each element of a particular part and type.
(Array will have been allocated
3 by number_of_elements[which_part][which_type]
long. See USERD_get_part_build_info)
@ -1776,8 +1776,8 @@ USERD_set_filenames
field of the data dialog.
(IN) filename_2 = the filename entered into the result
field of the data dialog.
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
had the path prepended to them. This

View File

@ -52,22 +52,22 @@ The process for producing a user defined reader is:
Reads FlowScience "flsgrf" flow3d data.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/flow3d
Reads Tecplot "plt" files.
Reads Tecplot "plt" files.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/tecplot
Reads Common File Format data.
Reads Common File Format data.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cff
Reads Cobalt grid and picture/restart file data.
Reads Cobalt grid and picture/restart file data.
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cobalt
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
2. Produce the dynamic shared library.
@ -77,7 +77,7 @@ The process for producing a user defined reader is:
for each machine type. Operating system level differences could cause
you to have to modify these makefiles slightly, but the general
process is very straightforward. Note that for the SGI environment you
must compile with the following flags to ensure compatability with
must compile with the following flags to ensure compatibility with
the EnSight server: Irix_5.3 -mips1
Irix_6.2 -mips2
Irix_6.5_n32 -mips3
@ -139,11 +139,11 @@ The process for producing a user defined reader is:
You can use any of the other provided readers by changing this variable.
For example, to use the dytran reader:
setenv ENSIGHT6_READER dytran
setenv ENSIGHT6_READER dytran
Thus, you can use your reader in the same way. If you provided "mydata",
change ENSIGHT6_READER to:
setenv ENSIGHT6_READER mydata
@ -187,7 +187,7 @@ Generally Needed for BLOCK data
USERD_get_block_coords_by_component block coordinates
USERD_get_block_iblanking block iblanking values
USERD_get_block_scalar_values block scalar variables
USERD_get_block_vector_values_by_component block vector variables
USERD_get_block_vector_values_by_component block vector variables
Generally needed for either or both kinds of data
@ -223,7 +223,7 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
@ -254,7 +254,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_variable_info
5. Part building (per part created)
USERD_set_time_step
@ -269,12 +269,12 @@ called is given.
dialog is closed)
6. Loading Variables
constants:
---------
USERD_set_time_step
USERD_get_constant_value
scalars:
-------
USERD_get_description_lines
@ -309,7 +309,7 @@ called is given.
USERD_get_element_ids_for_part
USERD_get_block_iblanking
USERD_get_block_coords_by_component
-----------------------
@ -319,7 +319,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -514,7 +514,7 @@ USERD_get_block_scalar_values
for each node or element.
Array will have been allocated:
if Z_PER_NODE:
i*j*k for the block long
@ -573,7 +573,7 @@ USERD_get_block_vector_values_by_component
component value for each node or element.
Array will have been allocated:
if Z_PER_NODE:
i*j*k for the block long
@ -680,7 +680,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -783,7 +783,7 @@ USERD_get_element_connectivities_for_part
conn_array[Z_TRI03][25][3]
conn_array[Z_QUA04][100][4]
conn_array[Z_HEX08][30][8]
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -818,7 +818,7 @@ USERD_get_element_connectivities_for_part
And conn_array here as follows:
Triangle Connectivity
-------- ------------
T1 conn_array[Z_TRI03][0][0] = 1
@ -913,7 +913,7 @@ USERD_get_element_label_status
on a part by part basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
@ -983,7 +983,7 @@ USERD_get_global_coords
And conn_array in USERD_get_element_connectivities_for_part
as follows:
Triangle Connectivity
-------- ------------
T1 conn_array[Z_TRI03][0][0] = 1
@ -1037,7 +1037,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1050,8 +1050,8 @@ USERD_get_name_of_reader
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) *two_fields = FALSE if only one data field required
in the data dialog of EnSight.
TRUE if two data fields required.
in the data dialog of EnSight.
TRUE if two data fields required.
Notes:
-----
@ -1305,7 +1305,7 @@ USERD_get_part_build_info
The numbers provided here are the ones by
which the parts will be referred to in any
of the other routines which receive a part
number or block number as an argument!!
number or block number as an argument!!
********************************************
(Array will have been allocated
@ -1421,7 +1421,7 @@ USERD_get_scalar_values
---------
(IN) which_scalar = The variable number (of scalar type)
(IN) which_part
(IN) which_part
if Z_PER_NODE: Not used
@ -1433,7 +1433,7 @@ USERD_get_scalar_values
if Z_PER_ELEM: = The element type
(OUT) scalar_array
(OUT) scalar_array
if Z_PER_NODE: = 1D array containing scalar values
for each node.
@ -1443,7 +1443,7 @@ USERD_get_scalar_values
if Z_PER_ELEM: = 1d array containing scalar values for
each element of a particular part and type.
(Array will have been allocated
number_of_elements[which_part][which_type]
long. See USERD_get_part_build_info)
@ -1590,7 +1590,7 @@ USERD_get_variable_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -1683,7 +1683,7 @@ USERD_get_vector_values
---------
(IN) which_vector = The variable number
(IN) which_part
(IN) which_part
if Z_PER_NODE: Not used
@ -1695,7 +1695,7 @@ USERD_get_vector_values
if Z_PER_ELEM: = The element type
(OUT) vector_array
(OUT) vector_array
if Z_PER_NODE: = 1D array containing vector values
for each node.
@ -1719,7 +1719,7 @@ USERD_get_vector_values
if Z_PER_ELEM: = 1d array containing vector values for
each element of a particular part and type.
(Array will have been allocated
3 by number_of_elements[which_part][which_type]
long. See USERD_get_part_build_info)
@ -1776,8 +1776,8 @@ USERD_set_filenames
field of the data dialog.
(IN) filename_2 = the filename entered into the result
field of the data dialog.
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
had the path prepended to them. This

View File

@ -14,7 +14,7 @@ You should consider it if:
- you want to provide your own "border" elements (as opposed to EnSight's
computation of them)
As an indication of the differences that might be realized in efficency,
As an indication of the differences that might be realized in efficiency,
consider the following comparison on an unstructured model consisting of:
1,639,058 nodes
@ -95,7 +95,7 @@ EnSight must do a fair amount of work to get data provided in the manner
described above into the form that it uses internally. There is mapping that
has to be setup and maintained between the global arrays and the local part
arrays so that updating over time can be accomplished efficiently. There is
hashing that is required in order to deal efficently with node ids.
hashing that is required in order to deal efficiently with node ids.
All of this leads to a considerable amount of temporary memory and processing,
in order to get a model read into EnSight.
@ -115,7 +115,7 @@ API 2.0 deals with:
API 2.0 requires that the coordinates and corresponding nodal variables be
provided per part. This eliminates the global to local mapping with all its
associated temporary memory and processing time. The connectivity of the
elements in each part reference the node indicies of its own (one-based) part
elements in each part reference the node indices of its own (one-based) part
coordinate array. The connectivity of the elements do not reference the nodes
according to node ids. Node ids (and element ids for that matter) are purely
labels for screen display and for query operations within EnSight. This
@ -354,7 +354,7 @@ USERD_get_element_ids_for_part USERD_get_part_element_ids_by_type
(Required) -> USERD_get_border_availability
(Can be a dummy) -> USERD_get_border_elements_by_type
transient model allocation efficency:
transient model allocation efficiency:
(Can be a dummy) -> USERD_get_maxsize_info
Possible use with Server-of-Servers:

View File

@ -49,7 +49,7 @@ type format.
Some of its advantages are::
* Most intermediate temporary arrays have been eliminated, such that the user
defined routines write directly into internal part structures. This is a
defined routines write directly into internal part structures. This is a
considerable improvement in memory use, and improves speed as well since
far less memory need be allocated, initialized, etc.
@ -131,7 +131,7 @@ The process for producing a user defined reader is:
Reads Cobalt grid and picture/restart file data
$ENSIGHT7_HOME/user_defined_src/readers/cobalt
Reads binary Nastran OP2 data base
$ENSIGHT7_HOME/user_defined_src/readers/nastran
@ -156,10 +156,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -207,7 +207,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -301,7 +301,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -346,7 +346,7 @@ Generally Needed for BLOCK data
USERD_get_block_coords_by_component block coordinates
USERD_get_block_iblanking block iblanking values
USERD_get_block_scalar_values block scalar variables
USERD_get_block_vector_values_by_component block vector variables
USERD_get_block_vector_values_by_component block vector variables
Generally needed for either or both kinds of data
@ -381,7 +381,7 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
@ -412,7 +412,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_variable_info
5. Part building (per part created)
USERD_set_time_step
@ -427,12 +427,12 @@ called is given.
dialog is closed)
6. Loading Variables
constants:
---------
USERD_set_time_step
USERD_get_constant_value
scalars:
-------
USERD_get_description_lines
@ -467,7 +467,7 @@ called is given.
USERD_get_element_ids_for_part
USERD_get_block_iblanking
USERD_get_block_coords_by_component
8. Node or Element queries over time
USERD_get_variable_value_at_specific
@ -675,7 +675,7 @@ USERD_get_block_scalar_values
for each node or element.
Array will have been allocated:
if Z_PER_NODE:
i*j*k for the block long
@ -734,7 +734,7 @@ USERD_get_block_vector_values_by_component
component value for each node or element.
Array will have been allocated:
if Z_PER_NODE:
i*j*k for the block long
@ -841,7 +841,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -944,7 +944,7 @@ USERD_get_element_connectivities_for_part
conn_array[Z_TRI03][25][3]
conn_array[Z_QUA04][100][4]
conn_array[Z_HEX08][30][8]
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -979,7 +979,7 @@ USERD_get_element_connectivities_for_part
And conn_array here as follows:
Triangle Connectivity
-------- ------------
T1 conn_array[Z_TRI03][0][0] = 1
@ -1074,7 +1074,7 @@ USERD_get_element_label_status
on a part by part basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
@ -1144,7 +1144,7 @@ USERD_get_global_coords
And conn_array in USERD_get_element_connectivities_for_part
as follows:
Triangle Connectivity
-------- ------------
T1 conn_array[Z_TRI03][0][0] = 1
@ -1198,7 +1198,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1211,8 +1211,8 @@ USERD_get_name_of_reader
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) *two_fields = FALSE if only one data field required
in the data dialog of EnSight.
TRUE if two data fields required.
in the data dialog of EnSight.
TRUE if two data fields required.
Notes:
-----
@ -1466,7 +1466,7 @@ USERD_get_part_build_info
The numbers provided here are the ones by
which the parts will be referred to in any
of the other routines which receive a part
number or block number as an argument!!
number or block number as an argument!!
********************************************
(Array will have been allocated
@ -1582,7 +1582,7 @@ USERD_get_scalar_values
---------
(IN) which_scalar = The variable number (of scalar type)
(IN) which_part
(IN) which_part
if Z_PER_NODE: Not used
@ -1594,7 +1594,7 @@ USERD_get_scalar_values
if Z_PER_ELEM: = The element type
(OUT) scalar_array
(OUT) scalar_array
if Z_PER_NODE: = 1D array containing scalar values
for each node.
@ -1604,7 +1604,7 @@ USERD_get_scalar_values
if Z_PER_ELEM: = 1d array containing scalar values for
each element of a particular part and type.
(Array will have been allocated
number_of_elements[which_part][which_type]
long. See USERD_get_part_build_info)
@ -1751,7 +1751,7 @@ USERD_get_variable_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -1843,7 +1843,7 @@ USERD_get_vector_values
---------
(IN) which_vector = The variable number
(IN) which_part
(IN) which_part
if Z_PER_NODE: Not used
@ -1855,7 +1855,7 @@ USERD_get_vector_values
if Z_PER_ELEM: = The element type
(OUT) vector_array
(OUT) vector_array
if Z_PER_NODE: = 1D array containing vector values
for each node.
@ -1879,7 +1879,7 @@ USERD_get_vector_values
if Z_PER_ELEM: = 1D array containing vector values for
each element of a particular part and type.
(Array will have been allocated
3 by number_of_elements[which_part][which_type]
long. See USERD_get_part_build_info)
@ -1936,8 +1936,8 @@ USERD_set_filenames
field of the data dialog.
(IN) filename_2 = the filename entered into the result
field of the data dialog.
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
had the path prepended to them. This
@ -2009,5 +2009,3 @@ USERD_stop_part_building
---- end of doucment ----

View File

@ -82,7 +82,7 @@ This file also contains guidance on necessary changes to modify an existing
****************************************************************************
Note: A default dummy_gold reader and an Ensight Gold example of this new 2.0
user defined reader API has been included with your EnSight release.
Also, the SILO reader included in the release utilizes the 2.0 API.
Also, the SILO reader included in the release utilizes the 2.0 API.
And while not identical, the API 1.0 readers might be useful to
examine as examples. Many of the routines are the same or similar.
@ -115,10 +115,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -166,7 +166,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -260,7 +260,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -354,7 +354,7 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
@ -399,7 +399,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_gold_variable_info
6. Part building (per part created)
USERD_set_time_set_and_step
@ -417,12 +417,12 @@ called is given.
dialog is closed)
7. Loading Variables
constants:
---------
USERD_set_time_set_and_step
USERD_get_constant_val
scalars/vectors/tensors:
------------------------
USERD_get_descrip_lines
@ -457,7 +457,7 @@ called is given.
USERD_get_border_availability (If border representation
USERD_get_border_elements_by_type is selected)
9. Node or Element queries over time
USERD_get_var_value_at_specific
@ -470,7 +470,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -594,9 +594,9 @@ USERD_get_block_coords_by_component
---------
(IN) block_number = The block part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -640,9 +640,9 @@ USERD_get_block_iblanking
---------
(IN) block_number = The block part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -694,9 +694,9 @@ USERD_get_border_availability
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -727,7 +727,7 @@ USERD_get_border_elements_by_type
Description:
-----------
Provides border element connectivity and parent information.
Provides border element connectivity and parent information.
Specification:
-------------
@ -746,9 +746,9 @@ USERD_get_border_elements_by_type
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -796,7 +796,7 @@ USERD_get_border_elements_by_type
(Array will have been allocated
num_of_elements of the type long)
Notes:
-----
* Not called unless USERD_get_border_availability returned Z_OK
@ -898,7 +898,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -998,7 +998,7 @@ USERD_get_element_label_status
on a per part, per type basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
--------------------------------------------------------------------
@ -1014,7 +1014,7 @@ USERD_get_geom_timeset_number -
Returns:
-------
Geom_timeset_number = The timeset number that will be used for geometry.
Geom_timeset_number = The timeset number that will be used for geometry.
For example, if USERD_get_number_of timesets
returns 2, the valid timeset numbers would be
1 or 2.
@ -1056,30 +1056,30 @@ USERD_get_gold_part_build_info
---------
(OUT) part_id = Array containing the external part
ids for each of the model parts.
IMPORTANT:
Parts numbers must be >= 1, because
of the way they are used in the GUI
*******************************************
The ids provided here are the numbers by
which the parts will be referred to in the
GUI (if possible). They are basically
labels as far as you are concerned.
Note: The part numbers you pass to routines
which receive a part_number or block_number
or which_part as an argument are the 1-based
table index of the parts!
example: If Numparts_available = 3
Table index part_id
----------- -------
1 13
2 57
3 125
^ ^
| |
| These are placed in:
@ -1091,7 +1091,7 @@ USERD_get_gold_part_build_info
These implied table indices are the part_number,
block_number, or which_part numbers that you would
pass to routines like:
USERD_get_part_coords(int part_number,...
USERD_get_part_node_ids(int part_number,...
USERD_get_part_elements_by_type(int part_number,...
@ -1108,7 +1108,7 @@ USERD_get_gold_part_build_info
int which_node_or_elem,
int which_part,...
********************************************
(Array will have been allocated
Numparts_available long)
@ -1130,7 +1130,7 @@ USERD_get_gold_part_build_info
long)
(OUT) number_of_nodes = Number of unstructured nodes in the part
(Array will have been allocated
Numparts_available long)
@ -1263,23 +1263,23 @@ USERD_get_gold_variable_info
Z_PER_ELEM
(OUT) var_complex = TRUE if complex, FALSE otherwise
(Array will have been allocated
Num_variables long)
(OUT) var_ifilename = Variable imaginary filenames (if complex)
(Array will have been allocated
Num_variables by Z_BUFL long)
(OUT) var_freq = complex frequency (if complex)
(Array will have been allocated
Num_variables long)
(OUT) var_contran = TRUE if constant changes per time step
FALSE if constant truly same at all time steps
(Array will have been allocated
Num_variables long)
@ -1353,7 +1353,7 @@ USERD_get_maxsize_info
---------
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
in the part (over all time).
(Array will have been allocated
Numparts_available long)
@ -1462,7 +1462,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1475,8 +1475,8 @@ USERD_get_name_of_reader
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) *two_fields = FALSE if only one data field required
in the data dialog of EnSight.
TRUE if two data fields required.
in the data dialog of EnSight.
TRUE if two data fields required.
Notes:
-----
@ -1650,37 +1650,37 @@ USERD_get_number_of_timesets
* If you have a static model, both geometry and variables, you should
return a value of zero.
* If you have a transient model, then you should return one or more.
For example:
Geometry Variables No. of timesets
--------- ------------------------------ ---------------
static static 0
static transient, all using same timeset 1
transient transient, all using same timeset as geom 1
static transient, using 3 different timesets 3
transient transient, using 3 different timesets and
none of them the same as the
geometry timeset 4
etc.
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
the timeset number to use
for geometry in:
USERD_get_geom_timeset_number
Variables can use the same timeset as the geometry, or can use
other timesets. More than one variable can use the same timeset.
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
variable 1 provided at these same five steps
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
This routine should return a value of 2, because only
two different timesets are needed. Timeset 1 would be for the
geometry and variable 1 (they both use it). Timeset 2 would
@ -1742,9 +1742,9 @@ USERD_get_part_coords
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -1810,9 +1810,9 @@ USERD_get_part_element_ids_by_type
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -1885,9 +1885,9 @@ USERD_get_part_elements_by_type
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -1928,7 +1928,7 @@ USERD_get_part_elements_by_type
conn_array[100][4] when called with Z_QUA04
conn_array[30][8] when called with Z_HEX08
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -1956,9 +1956,9 @@ USERD_get_part_node_ids
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
@ -2058,7 +2058,7 @@ USERD_get_sol_times
Description:
-----------
Get the solution times associated with each time step for
Get the solution times associated with each time step for
desired timeset.
Specification:
@ -2074,7 +2074,7 @@ USERD_get_sol_times
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -2110,7 +2110,7 @@ USERD_get_timeset_description -
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -2165,14 +2165,14 @@ USERD_get_var_by_component
(IN) which_part Since EnSight Version 7.4
-------------------------
= The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
Prior to EnSight Version 7.4
----------------------------
= The part id This is the part_id label loaded
@ -2207,22 +2207,22 @@ USERD_get_var_by_component
(IN) imag_data = TRUE if imag component
FALSE if real component
(IN) component = The component: (0 if Z_SCALAR)
(0 - 2 if Z_VECTOR)
(0 - 5 if Z_TENSOR)
(0 - 8 if Z_TENSOR9)
* 6 Symmetric Indicies, 0:5 *
* 6 Symmetric Indices, 0:5 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
* T = | 22 23 | = | 1 5 | *
* | | | | *
* | 33 | | 2 | *
* 9 General Indicies, 0:8 *
* 9 General Indices, 0:8 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
@ -2230,7 +2230,7 @@ USERD_get_var_by_component
* | | | | *
* | 31 32 33 | | 7 8 2 | *
(OUT) var_array
(OUT) var_array
-----------------------------------------------------------------------
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
@ -2252,7 +2252,7 @@ USERD_get_var_by_component
if Z_PER_ELEM: = 1D array containing variable component
value for each element of a particular
part and type.
(Array will have been allocated
(number_of_elements[which_part][which_type] + 1)
long. See USERD_get_gold_part_build_info)
@ -2314,7 +2314,7 @@ USERD_get_var_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -2345,14 +2345,14 @@ USERD_get_var_value_at_specific
(IN) which_part Since EnSight Version 7.4
-------------------------
= The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
Prior to EnSight Version 7.4
----------------------------
= The part id This is the part_id label loaded
@ -2420,8 +2420,8 @@ USERD_set_filenames
(IN) filename_2 = the filename entered into the result
field of the data dialog.
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
@ -2470,7 +2470,7 @@ USERD_set_server_number
something that you can take advantage of. If your data is already
partitioned in some manner, such that you can access the proper
portions using this information.
For all non-SOS uses, this will simply be 1 of 1
@ -2496,7 +2496,7 @@ USERD_set_time_set_and_step
Arguments:
---------
(IN) timeset_number = the timeset number (1 based).
For example: If USERD_get_number_of_timesets
returns 2, the valid timeset_number's
would be 1 and 2.

View File

@ -57,7 +57,7 @@ Some of its advantages are::
Note: A default dummy_gold reader and an Ensight Gold example of this new 2.01
user defined reader API has been included with your EnSight release.
Also, the SILO and ExodusII_gold reader included in the release
utilizes the 2.01 API.
utilizes the 2.01 API.
****************************************************************************
@ -87,10 +87,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -138,7 +138,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -232,7 +232,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -277,7 +277,7 @@ USERD_get_block_ghost_flags block ghost cell flags
These routines, which formerly were only for unstructured data, will now
also be called for structured data if you specify that ids will be given
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
------------------------------------------------------------------------------
------------------------------------------------------------------------------
USERD_get_part_node_ids part's node ids
USERD_get_part_element_ids_by_type part's element ids
@ -334,7 +334,7 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
@ -381,7 +381,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_gold_variable_info
6. Part building (per part created)
both unstructured and structured:
@ -412,12 +412,12 @@ called is given.
dialog is closed)
7. Loading Variables
constants:
---------
USERD_set_time_set_and_step
USERD_get_constant_val
scalars/vectors/tensors:
------------------------
USERD_get_descrip_lines
@ -457,7 +457,7 @@ called is given.
USERD_get_border_availability (If border representation
USERD_get_border_elements_by_type is selected)
9. Node or Element queries over time
USERD_get_var_value_at_specific
@ -470,7 +470,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -711,24 +711,24 @@ USERD_get_block_ghost_flags
(OUT) ghost_flags = 1D array containing ghost flag value
for each block cell.
(Array will have been allocated
(i-1)*(j-1)*(k-1) for the block long)
possible values are: 0 = non-ghost cell (normal cell)
>0 = ghost cell
Notes:
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Only called for structured "block" parts that have some ghost cells
as indicated by the USERD_get_ghost_in_block_flag. The model must
of course also have been indicated to have some ghost cells in the
USERD_get_ghost_in_model_flag routine.
* It is sufficient to set the value to be 1 to flag as a ghost cell,
but the value can be any non-zero value, so you could use it to
indicate which block or which server (for Server-of-server use) the
@ -796,7 +796,7 @@ USERD_get_border_elements_by_type
Description:
-----------
Provides border element connectivity and parent information.
Provides border element connectivity and parent information.
Specification:
-------------
@ -865,7 +865,7 @@ USERD_get_border_elements_by_type
(Array will have been allocated
num_of_elements of the type long)
Notes:
-----
* Not called unless USERD_get_border_availability returned Z_OK
@ -967,7 +967,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -1074,7 +1074,7 @@ USERD_get_element_label_status
on a per part, per type basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
* Starting at API 2.01:
--------------------
@ -1101,7 +1101,7 @@ USERD_get_geom_timeset_number -
Returns:
-------
Geom_timeset_number = The timeset number that will be used for geometry.
Geom_timeset_number = The timeset number that will be used for geometry.
For example, if USERD_get_number_of timesets
returns 2, the valid timeset numbers would be
1 or 2.
@ -1217,7 +1217,7 @@ USERD_get_gold_part_build_info
long)
(OUT) number_of_nodes = Number of unstructured nodes in the part
(Array will have been allocated
Numparts_available long)
@ -1366,23 +1366,23 @@ USERD_get_gold_variable_info
Z_PER_ELEM
(OUT) var_complex = TRUE if complex, FALSE otherwise
(Array will have been allocated
Num_variables long)
(OUT) var_ifilename = Variable imaginary filenames (if complex)
(Array will have been allocated
Num_variables by Z_BUFL long)
(OUT) var_freq = complex frequency (if complex)
(Array will have been allocated
Num_variables long)
(OUT) var_contran = TRUE if constant changes per time step
FALSE if constant truly same at all time steps
(Array will have been allocated
Num_variables long)
@ -1456,7 +1456,7 @@ USERD_get_ghosts_in_block_flag
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Intended for structured parts only, value will be ignored for
unstructured parts
@ -1495,7 +1495,7 @@ USERD_get_maxsize_info
---------
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
in the part (over all time).
(Array will have been allocated
Numparts_available long)
@ -1591,7 +1591,7 @@ USERD_get_ghosts_in_model_flag
Arguments:
---------
Notes:
-----
* This routine is new in the 2.01 API
@ -1643,7 +1643,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1656,8 +1656,8 @@ USERD_get_name_of_reader
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) *two_fields = FALSE if only one data field required
in the data dialog of EnSight.
TRUE if two data fields required.
in the data dialog of EnSight.
TRUE if two data fields required.
Notes:
-----
@ -1846,37 +1846,37 @@ USERD_get_number_of_timesets
* If you have a static model, both geometry and variables, you should
return a value of zero.
* If you have a transient model, then you should return one or more.
For example:
Geometry Variables No. of timesets
--------- ------------------------------ ---------------
static static 0
static transient, all using same timeset 1
transient transient, all using same timeset as geom 1
static transient, using 3 different timesets 3
transient transient, using 3 different timesets and
none of them the same as the
geometry timeset 4
etc.
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
the timeset number to use
for geometry in:
USERD_get_geom_timeset_number
Variables can use the same timeset as the geometry, or can use
other timesets. More than one variable can use the same timeset.
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
variable 1 provided at these same five steps
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
This routine should return a value of 2, because only
two different timesets are needed. Timeset 1 would be for the
geometry and variable 1 (they both use it). Timeset 2 would
@ -2158,7 +2158,7 @@ USERD_get_part_elements_by_type
conn_array[100][4] when called with Z_QUA04
conn_array[30][8] when called with Z_HEX08
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -2291,7 +2291,7 @@ USERD_get_sol_times
Description:
-----------
Get the solution times associated with each time step for
Get the solution times associated with each time step for
desired timeset.
Specification:
@ -2307,7 +2307,7 @@ USERD_get_sol_times
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -2343,7 +2343,7 @@ USERD_get_timeset_description -
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -2456,22 +2456,22 @@ USERD_get_var_by_component
(IN) imag_data = TRUE if imag component
FALSE if real component
(IN) component = The component: (0 if Z_SCALAR)
(0 - 2 if Z_VECTOR)
(0 - 5 if Z_TENSOR)
(0 - 8 if Z_TENSOR9)
* 6 Symmetric Indicies, 0:5 *
* 6 Symmetric Indices, 0:5 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
* T = | 22 23 | = | 1 5 | *
* | | | | *
* | 33 | | 2 | *
* 9 General Indicies, 0:8 *
* 9 General Indices, 0:8 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
@ -2479,7 +2479,7 @@ USERD_get_var_by_component
* | | | | *
* | 31 32 33 | | 7 8 2 | *
(OUT) var_array
(OUT) var_array
-----------------------------------------------------------------------
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
@ -2501,7 +2501,7 @@ USERD_get_var_by_component
if Z_PER_ELEM: = 1D array containing variable component
value for each element of a particular
part and type.
(Array will have been allocated
(number_of_elements[which_part][which_type] + 1)
long. See USERD_get_gold_part_build_info)
@ -2563,7 +2563,7 @@ USERD_get_var_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -2670,8 +2670,8 @@ USERD_set_filenames
(IN) filename_2 = the filename entered into the result
field of the data dialog.
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
@ -2720,7 +2720,7 @@ USERD_set_server_number
something that you can take advantage of. If your data is already
partitioned in some manner, such that you can access the proper
portions using this information.
For all non-SOS uses, this will simply be 1 of 1
@ -2746,7 +2746,7 @@ USERD_set_time_set_and_step
Arguments:
---------
(IN) timeset_number = the timeset number (1 based).
For example: If USERD_get_number_of_timesets
returns 2, the valid timeset_number's
would be 1 and 2.

View File

@ -52,10 +52,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -103,7 +103,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -197,7 +197,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -242,7 +242,7 @@ USERD_get_block_ghost_flags block ghost cell flags
These routines, which formerly were only for unstructured data, will now
also be called for structured data if you specify that ids will be given
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
------------------------------------------------------------------------------
------------------------------------------------------------------------------
USERD_get_part_node_ids part's node ids
USERD_get_part_element_ids_by_type part's element ids
@ -323,7 +323,7 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
@ -370,7 +370,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_gold_variable_info
6. Part building (per part created)
both unstructured and structured:
@ -411,12 +411,12 @@ called is given.
dialog is closed)
7. Loading Variables
constants:
---------
USERD_set_time_set_and_step
USERD_get_constant_val
scalars/vectors/tensors:
------------------------
USERD_get_descrip_lines
@ -456,7 +456,7 @@ called is given.
USERD_get_border_availability (If border representation
USERD_get_border_elements_by_type is selected)
9. Node or Element queries over time
USERD_get_var_value_at_specific
@ -489,7 +489,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -736,24 +736,24 @@ USERD_get_block_ghost_flags
(OUT) ghost_flags = 1D array containing ghost flag value
for each block cell.
(Array will have been allocated
(i-1)*(j-1)*(k-1) for the block long)
possible values are: 0 = non-ghost cell (normal cell)
>0 = ghost cell
Notes:
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Only called for structured "block" parts that have some ghost cells
as indicated by the USERD_get_ghost_in_block_flag. The model must
of course also have been indicated to have some ghost cells in the
USERD_get_ghost_in_model_flag routine.
* It is sufficient to set the value to be 1 to flag as a ghost cell,
but the value can be any non-zero value, so you could use it to
indicate which block or which server (for Server-of-server use) the
@ -821,7 +821,7 @@ USERD_get_border_elements_by_type
Description:
-----------
Provides border element connectivity and parent information.
Provides border element connectivity and parent information.
Specification:
-------------
@ -890,7 +890,7 @@ USERD_get_border_elements_by_type
(Array will have been allocated
num_of_elements of the type long)
Notes:
-----
* Not called unless USERD_get_border_availability returned Z_OK
@ -992,7 +992,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -1099,7 +1099,7 @@ USERD_get_element_label_status
on a per part, per type basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
* Starting at API 2.01:
--------------------
@ -1126,7 +1126,7 @@ USERD_get_geom_timeset_number -
Returns:
-------
Geom_timeset_number = The timeset number that will be used for geometry.
Geom_timeset_number = The timeset number that will be used for geometry.
For example, if USERD_get_number_of timesets
returns 2, the valid timeset numbers would be
1 or 2.
@ -1242,7 +1242,7 @@ USERD_get_gold_part_build_info
long)
(OUT) number_of_nodes = Number of unstructured nodes in the part
(Array will have been allocated
Numparts_available long)
@ -1525,23 +1525,23 @@ USERD_get_gold_variable_info
Z_PER_ELEM
(OUT) var_complex = TRUE if complex, FALSE otherwise
(Array will have been allocated
Num_variables long)
(OUT) var_ifilename = Variable imaginary filenames (if complex)
(Array will have been allocated
Num_variables by Z_BUFL long)
(OUT) var_freq = complex frequency (if complex)
(Array will have been allocated
Num_variables long)
(OUT) var_contran = TRUE if constant changes per time step
FALSE if constant truly same at all time steps
(Array will have been allocated
Num_variables long)
@ -1615,7 +1615,7 @@ USERD_get_ghosts_in_block_flag
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Intended for structured parts only, value will be ignored for
unstructured parts
@ -1639,7 +1639,7 @@ USERD_get_ghosts_in_model_flag
Arguments:
---------
Notes:
-----
* This routine is new in the 2.01 API
@ -1754,7 +1754,7 @@ USERD_get_maxsize_info
---------
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
in the part (over all time).
(Array will have been allocated
Numparts_available long)
@ -1877,7 +1877,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1890,8 +1890,8 @@ USERD_get_name_of_reader
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) *two_fields = FALSE if only one data field required
in the data dialog of EnSight.
TRUE if two data fields required.
in the data dialog of EnSight.
TRUE if two data fields required.
Notes:
-----
@ -2709,37 +2709,37 @@ USERD_get_number_of_timesets
* If you have a static model, both geometry and variables, you should
return a value of zero.
* If you have a transient model, then you should return one or more.
For example:
Geometry Variables No. of timesets
--------- ------------------------------ ---------------
static static 0
static transient, all using same timeset 1
transient transient, all using same timeset as geom 1
static transient, using 3 different timesets 3
transient transient, using 3 different timesets and
none of them the same as the
geometry timeset 4
etc.
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
the timeset number to use
for geometry in:
USERD_get_geom_timeset_number
Variables can use the same timeset as the geometry, or can use
other timesets. More than one variable can use the same timeset.
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
variable 1 provided at these same five steps
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
This routine should return a value of 2, because only
two different timesets are needed. Timeset 1 would be for the
geometry and variable 1 (they both use it). Timeset 2 would
@ -3021,7 +3021,7 @@ USERD_get_part_elements_by_type
conn_array[100][4] when called with Z_QUA04
conn_array[30][8] when called with Z_HEX08
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -3155,7 +3155,7 @@ USERD_get_sol_times
Description:
-----------
Get the solution times associated with each time step for
Get the solution times associated with each time step for
desired timeset.
Specification:
@ -3171,7 +3171,7 @@ USERD_get_sol_times
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3207,7 +3207,7 @@ USERD_get_timeset_description -
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3320,22 +3320,22 @@ USERD_get_var_by_component
(IN) imag_data = TRUE if imag component
FALSE if real component
(IN) component = The component: (0 if Z_SCALAR)
(0 - 2 if Z_VECTOR)
(0 - 5 if Z_TENSOR)
(0 - 8 if Z_TENSOR9)
* 6 Symmetric Indicies, 0:5 *
* 6 Symmetric Indices, 0:5 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
* T = | 22 23 | = | 1 5 | *
* | | | | *
* | 33 | | 2 | *
* 9 General Indicies, 0:8 *
* 9 General Indices, 0:8 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
@ -3343,7 +3343,7 @@ USERD_get_var_by_component
* | | | | *
* | 31 32 33 | | 7 8 2 | *
(OUT) var_array
(OUT) var_array
-----------------------------------------------------------------------
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
@ -3365,7 +3365,7 @@ USERD_get_var_by_component
if Z_PER_ELEM: = 1D array containing variable component
value for each element of a particular
part and type.
(Array will have been allocated
(number_of_elements[which_part][which_type] + 1)
long. See USERD_get_gold_part_build_info)
@ -3427,7 +3427,7 @@ USERD_get_var_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -3636,8 +3636,8 @@ USERD_set_filenames
(IN) filename_2 = the filename entered into the result
field of the data dialog.
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(If the two_fields flag in USERD_get_name_of_reader
is FALSE, this will be null string)
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
@ -3686,7 +3686,7 @@ USERD_set_server_number
something that you can take advantage of. If your data is already
partitioned in some manner, such that you can access the proper
portions using this information.
For all non-SOS uses, this will simply be 1 of 1
@ -3712,7 +3712,7 @@ USERD_set_time_set_and_step
Arguments:
---------
(IN) timeset_number = the timeset number (1 based).
For example: If USERD_get_number_of_timesets
returns 2, the valid timeset_number's
would be 1 and 2.

View File

@ -40,10 +40,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
***>> API 2.04 additional capabilities (beyond API 2.03):
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
b.A second routine to return a matrix of flags indexed by part and
element type indicating which parts and element types have failed
elements at the current time step.
@ -60,7 +60,7 @@ c.Finally a third routine to return an array of flags for a given
****************************************************************************
Note: The dummy_gold reader, the Ensight Gold example reader, the
ABAQUS_ODB reader and the LS-DYNA reader have been moved to
ABAQUS_ODB reader and the LS-DYNA reader have been moved to
this 2.04 API level.
****************************************************************************
@ -91,10 +91,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -142,7 +142,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -236,7 +236,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -281,7 +281,7 @@ USERD_get_block_ghost_flags block ghost cell flags
These routines, which formerly were only for unstructured data, will now
also be called for structured data if you specify that ids will be given
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
------------------------------------------------------------------------------
------------------------------------------------------------------------------
USERD_get_part_node_ids part's node ids
USERD_get_part_element_ids_by_type part's element ids
@ -359,7 +359,7 @@ USERD_exit_routine cleanup upon exit routine
---------------------------
Optional Extra GUI Info
Adds Toggle(s), Pulldown(s) Field(s)
that can be used for additonal input
that can be used for additional input
---------------------------
USERD_get_extra_gui_numbers Gets the number of toggles, pulldowns and fields
USERD_get_extra_gui_defaults Gets the default values for the GUI members
@ -379,7 +379,7 @@ New at 2.04
/* ----------------------------------------------------------
*
* Failure criteria in LS-DYNA
* Failure criteria in LS-DYNA
* if fail flag == threshold_val1 (0.0) then element fails
* logic_criteria2 not used
* threshold_val2 not used
@ -412,7 +412,7 @@ int USERD_get_uns_failed_params(
Z_EQUAL_TO */
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
Z_EQUAL_TO */
int *logic_criteria2
int *logic_criteria2
-------------------------
@ -421,14 +421,14 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
USERD_get_name_of_reader
USERD_get_reader_descrip (optional)
USERD_get_extra_gui_numbers (optional)
USERD_get_extra_gui_defaults (optional)
USERD_get_extra_gui_defaults (optional)
2. Getting the reader version (also distinguishes between API's)
@ -437,7 +437,7 @@ called is given.
3. Setting filenames and getting timeset and time info
USERD_set_server_number
USERD_set_extra_gui_data (optional)
USERD_set_extra_gui_data (optional)
USERD_set_filenames
USERD_get_number_of_timesets
USERD_get_geom_timeset_number
@ -459,7 +459,7 @@ called is given.
USERD_get_dataset_query_file_info
USERD_get_descrip_lines (for geometry)
USERD_get_number_of_model_parts
USERD_get_uns_failed_model_flag
USERD_get_uns_failed_model_flag
USERD_get_gold_part_build_info
USERD_get_uns_failed_etype_flags
USERD_get_ghosts_in_model_flag
@ -473,7 +473,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_gold_variable_info
6. Part building (per part created)
both unstructured and structured:
@ -515,12 +515,12 @@ called is given.
dialog is closed)
7. Loading Variables
constants:
---------
USERD_set_time_set_and_step
USERD_get_constant_val
scalars/vectors/tensors:
------------------------
USERD_get_descrip_lines
@ -534,9 +534,9 @@ called is given.
USERD_set_time_set_and_step
USERD_get_descrip_lines
USERD_get_part_coords
USERD_get_uns_failed_model_flag
USERD_get_uns_failed_etype_flags
USERD_get_uns_failed_elist_flags
USERD_get_uns_failed_model_flag
USERD_get_uns_failed_etype_flags
USERD_get_uns_failed_elist_flags
USERD_get_block_coords_by_component
changing connectivity (per part):
@ -566,7 +566,7 @@ called is given.
USERD_get_border_availability (If border representation
USERD_get_border_elements_by_type is selected)
9. Node or Element queries over time
USERD_get_var_value_at_specific
@ -606,7 +606,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -853,24 +853,24 @@ USERD_get_block_ghost_flags
(OUT) ghost_flags = 1D array containing ghost flag value
for each block cell.
(Array will have been allocated
(i-1)*(j-1)*(k-1) for the block long)
possible values are: 0 = non-ghost cell (normal cell)
>0 = ghost cell
Notes:
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Only called for structured "block" parts that have some ghost cells
as indicated by the USERD_get_ghost_in_block_flag. The model must
of course also have been indicated to have some ghost cells in the
USERD_get_ghost_in_model_flag routine.
* It is sufficient to set the value to be 1 to flag as a ghost cell,
but the value can be any non-zero value, so you could use it to
indicate which block or which server (for Server-of-server use) the
@ -938,7 +938,7 @@ USERD_get_border_elements_by_type
Description:
-----------
Provides border element connectivity and parent information.
Provides border element connectivity and parent information.
Specification:
-------------
@ -1007,7 +1007,7 @@ USERD_get_border_elements_by_type
(Array will have been allocated
num_of_elements of the type long)
Notes:
-----
* Not called unless USERD_get_border_availability returned Z_OK
@ -1109,7 +1109,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -1216,7 +1216,7 @@ USERD_get_element_label_status
on a per part, per type basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
* Starting at API 2.01:
--------------------
@ -1243,7 +1243,7 @@ USERD_get_geom_timeset_number -
Returns:
-------
Geom_timeset_number = The timeset number that will be used for geometry.
Geom_timeset_number = The timeset number that will be used for geometry.
For example, if USERD_get_number_of timesets
returns 2, the valid timeset numbers would be
1 or 2.
@ -1359,7 +1359,7 @@ USERD_get_gold_part_build_info
long)
(OUT) number_of_nodes = Number of unstructured nodes in the part
(Array will have been allocated
Numparts_available long)
@ -1642,23 +1642,23 @@ USERD_get_gold_variable_info
Z_PER_ELEM
(OUT) var_complex = TRUE if complex, FALSE otherwise
(Array will have been allocated
Num_variables long)
(OUT) var_ifilename = Variable imaginary filenames (if complex)
(Array will have been allocated
Num_variables by Z_BUFL long)
(OUT) var_freq = complex frequency (if complex)
(Array will have been allocated
Num_variables long)
(OUT) var_contran = TRUE if constant changes per time step
FALSE if constant truly same at all time steps
(Array will have been allocated
Num_variables long)
@ -1732,7 +1732,7 @@ USERD_get_ghosts_in_block_flag
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Intended for structured parts only, value will be ignored for
unstructured parts
@ -1756,7 +1756,7 @@ USERD_get_ghosts_in_model_flag
Arguments:
---------
Notes:
-----
* This routine is new in the 2.01 API
@ -1871,7 +1871,7 @@ USERD_get_maxsize_info
---------
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
in the part (over all time).
(Array will have been allocated
Numparts_available long)
@ -1994,7 +1994,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -2006,17 +2006,17 @@ USERD_get_name_of_reader
(OUT) reader_name = the name of the your reader or data format.
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
and one field (Param) is optional
Param field can contain any text
for example a file name, modifiers,
etc. that can be used to modify the
reader's behavior.
Notes:
-----
@ -2834,37 +2834,37 @@ USERD_get_number_of_timesets
* If you have a static model, both geometry and variables, you should
return a value of zero.
* If you have a transient model, then you should return one or more.
For example:
Geometry Variables No. of timesets
--------- ------------------------------ ---------------
static static 0
static transient, all using same timeset 1
transient transient, all using same timeset as geom 1
static transient, using 3 different timesets 3
transient transient, using 3 different timesets and
none of them the same as the
geometry timeset 4
etc.
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
the timeset number to use
for geometry in:
USERD_get_geom_timeset_number
Variables can use the same timeset as the geometry, or can use
other timesets. More than one variable can use the same timeset.
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
variable 1 provided at these same five steps
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
This routine should return a value of 2, because only
two different timesets are needed. Timeset 1 would be for the
geometry and variable 1 (they both use it). Timeset 2 would
@ -3146,7 +3146,7 @@ USERD_get_part_elements_by_type
conn_array[100][4] when called with Z_QUA04
conn_array[30][8] when called with Z_HEX08
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -3280,7 +3280,7 @@ USERD_get_sol_times
Description:
-----------
Get the solution times associated with each time step for
Get the solution times associated with each time step for
desired timeset.
Specification:
@ -3296,7 +3296,7 @@ USERD_get_sol_times
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3332,7 +3332,7 @@ USERD_get_timeset_description -
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3445,22 +3445,22 @@ USERD_get_var_by_component
(IN) imag_data = TRUE if imag component
FALSE if real component
(IN) component = The component: (0 if Z_SCALAR)
(0 - 2 if Z_VECTOR)
(0 - 5 if Z_TENSOR)
(0 - 8 if Z_TENSOR9)
* 6 Symmetric Indicies, 0:5 *
* 6 Symmetric Indices, 0:5 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
* T = | 22 23 | = | 1 5 | *
* | | | | *
* | 33 | | 2 | *
* 9 General Indicies, 0:8 *
* 9 General Indices, 0:8 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
@ -3468,7 +3468,7 @@ USERD_get_var_by_component
* | | | | *
* | 31 32 33 | | 7 8 2 | *
(OUT) var_array
(OUT) var_array
-----------------------------------------------------------------------
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
@ -3490,7 +3490,7 @@ USERD_get_var_by_component
if Z_PER_ELEM: = 1D array containing variable component
value for each element of a particular
part and type.
(Array will have been allocated
(number_of_elements[which_part][which_type] + 1)
long. See USERD_get_gold_part_build_info)
@ -3552,7 +3552,7 @@ USERD_get_var_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -3761,17 +3761,17 @@ USERD_set_filenames
(IN) param_2 = The usage of this string depends on
'two_fields' in USERD_get_name_of_reader.
If two_fields is FALSE then it's empty.
If two_fields is TRUE, this is the
manditory results file entered
If two_fields is TRUE, this is the
manditory results file entered
into the result field of the data dialog.
If two_fields is -1, then this contains
optional text (filenames, modifiers, etc.)
that can be parsed and used to modify
reader
that can be parsed and used to modify
reader
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
@ -3820,7 +3820,7 @@ USERD_set_server_number
something that you can take advantage of. If your data is already
partitioned in some manner, such that you can access the proper
portions using this information.
For all non-SOS uses, this will simply be 1 of 1
@ -3846,7 +3846,7 @@ USERD_set_time_set_and_step
Arguments:
---------
(IN) timeset_number = the timeset number (1 based).
For example: If USERD_get_number_of_timesets
returns 2, the valid timeset_number's
would be 1 and 2.
@ -4015,14 +4015,14 @@ USERD_rigidbody_values
Arguments:
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
(OUT) values values[0] = IX (x location)
values[1] = IY (y location)
values[2] = IZ (z location)
@ -4067,7 +4067,7 @@ USERD_set_right_side
------------------------------------------------------------------
ENHANCED GUI ROUTINES
ENHANCED GUI ROUTINES
--------------------------------------------------------------------
USERD_get_extra_gui_numbers
@ -4091,7 +4091,7 @@ USERD_get_extra_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4111,63 +4111,63 @@ USERD_get_extra_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_extra_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_extra_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_extra_gui_defaults
@ -4201,17 +4201,17 @@ USERD_get_extra_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4231,7 +4231,7 @@ USERD_get_extra_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4272,7 +4272,7 @@ USERD_set_extra_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4302,7 +4302,7 @@ USERD_get_var_extract_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4321,63 +4321,63 @@ USERD_get_var_extract_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_var_extract_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_var_extract_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_var_extract_gui_defaults
@ -4411,17 +4411,17 @@ USERD_get_var_extract_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4441,7 +4441,7 @@ USERD_get_var_extract_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4482,7 +4482,7 @@ USERD_set_var_extract_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4494,19 +4494,19 @@ USERD_set_var_extract_gui_data
/* ----------------------------------------------------------
* New in EnSight 8 is the capability to remove (fail) elements
* based on variable threshold values. Basically the variable
* name, a couple of thresholds, a couple of values and a logic
* name, a couple of thresholds, a couple of values and a logic
* criteria are read in from this routine. Every element that
* satisfies the failure criteria is removed and not used in
* EnSight calculations.
*
* Example Failure criteria
*
* Example Failure criteria
* Let fail_var_name = "fail_flag"
* threshold_val1 = 0
* threshold_operator1 = Z_EQUAL_TO
* threshold_operator1 = Z_EQUAL_TO
* logic_criteria2 not used
* threshold_val2 not used
* threshold_operator2 not used
* For each value of "fail_flag" at each element,
* For each value of "fail_flag" at each element,
* if fail flag == threshold_val1 (0.0) then element fails
* Return (Z_ERR) if this is not used.
* Return (Z_OK) if failed element feature should be used
@ -4535,7 +4535,7 @@ int USERD_get_uns_failed_params(
Z_EQUAL_TO */
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
Z_EQUAL_TO */
int *logic_criteria2
int *logic_criteria2

View File

@ -48,10 +48,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
***>> API 2.04 additional capabilities (beyond API 2.03):
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
b.A second routine to return a matrix of flags indexed by part and
element type indicating which parts and element types have failed
elements at the current time step.
@ -67,7 +67,7 @@ c.Finally a third routine to return an array of flags for a given
****************************************************************************
Note: Only the the Ensight Gold example reader, has been moved to
Note: Only the the Ensight Gold example reader, has been moved to
this 2.06 API level. And it is purely for an example - it does not
actually provide a benefit.
****************************************************************************
@ -99,10 +99,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -150,7 +150,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -244,7 +244,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -289,7 +289,7 @@ USERD_get_block_ghost_flags block ghost cell flags
These routines, which formerly were only for unstructured data, will now
also be called for structured data if you specify that ids will be given
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
------------------------------------------------------------------------------
------------------------------------------------------------------------------
USERD_get_part_node_ids part's node ids
USERD_get_part_element_ids_by_type part's element ids
@ -368,7 +368,7 @@ USERD_bkup archive routine
USERD_exit_routine cleanup upon exit routine
USERD_get_uns_failed_params Gets thresholds/criteria for failure
USERD_get_uns_failed_params Gets thresholds/criteria for failure
USERD_rigidbody_existence Returns whether rigid body transformation
data exists for the model.
@ -391,14 +391,14 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
USERD_get_name_of_reader
USERD_get_reader_descrip (optional)
USERD_get_extra_gui_numbers (optional)
USERD_get_extra_gui_defaults (optional)
USERD_get_extra_gui_defaults (optional)
2. Getting the reader version (also distinguishes between API's)
@ -410,7 +410,7 @@ called is given.
USERD_get_extra_gui_defaults routine)
USERD_get_structured_reader_cinching
USERD_set_server_number
USERD_set_extra_gui_data (optional)
USERD_set_extra_gui_data (optional)
USERD_set_filenames
USERD_get_number_of_timesets
USERD_get_geom_timeset_number
@ -445,7 +445,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_gold_variable_info
6. Part building (per part created)
both unstructured and structured:
@ -487,12 +487,12 @@ called is given.
dialog is closed)
7. Loading Variables
constants:
---------
USERD_set_time_set_and_step
USERD_get_constant_val
scalars/vectors/tensors:
------------------------
USERD_get_descrip_lines
@ -536,7 +536,7 @@ called is given.
USERD_get_border_availability (If border representation
USERD_get_border_elements_by_type is selected)
9. Node or Element queries over time
USERD_get_var_value_at_specific
@ -576,7 +576,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -823,24 +823,24 @@ USERD_get_block_ghost_flags
(OUT) ghost_flags = 1D array containing ghost flag value
for each block cell.
(Array will have been allocated
(i-1)*(j-1)*(k-1) for the block long)
possible values are: 0 = non-ghost cell (normal cell)
>0 = ghost cell
Notes:
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Only called for structured "block" parts that have some ghost cells
as indicated by the USERD_get_ghost_in_block_flag. The model must
of course also have been indicated to have some ghost cells in the
USERD_get_ghost_in_model_flag routine.
* It is sufficient to set the value to be 1 to flag as a ghost cell,
but the value can be any non-zero value, so you could use it to
indicate which block or which server (for Server-of-server use) the
@ -908,7 +908,7 @@ USERD_get_border_elements_by_type
Description:
-----------
Provides border element connectivity and parent information.
Provides border element connectivity and parent information.
Specification:
-------------
@ -977,7 +977,7 @@ USERD_get_border_elements_by_type
(Array will have been allocated
num_of_elements of the type long)
Notes:
-----
* Not called unless USERD_get_border_availability returned Z_OK
@ -1079,7 +1079,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -1186,7 +1186,7 @@ USERD_get_element_label_status
on a per part, per type basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
* Starting at API 2.01:
--------------------
@ -1213,7 +1213,7 @@ USERD_get_geom_timeset_number -
Returns:
-------
Geom_timeset_number = The timeset number that will be used for geometry.
Geom_timeset_number = The timeset number that will be used for geometry.
For example, if USERD_get_number_of timesets
returns 2, the valid timeset numbers would be
1 or 2.
@ -1329,7 +1329,7 @@ USERD_get_gold_part_build_info
long)
(OUT) number_of_nodes = Number of unstructured nodes in the part
(Array will have been allocated
Numparts_available long)
@ -1612,23 +1612,23 @@ USERD_get_gold_variable_info
Z_PER_ELEM
(OUT) var_complex = TRUE if complex, FALSE otherwise
(Array will have been allocated
Num_variables long)
(OUT) var_ifilename = Variable imaginary filenames (if complex)
(Array will have been allocated
Num_variables by Z_BUFL long)
(OUT) var_freq = complex frequency (if complex)
(Array will have been allocated
Num_variables long)
(OUT) var_contran = TRUE if constant changes per time step
FALSE if constant truly same at all time steps
(Array will have been allocated
Num_variables long)
@ -1702,7 +1702,7 @@ USERD_get_ghosts_in_block_flag
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Intended for structured parts only, value will be ignored for
unstructured parts
@ -1726,7 +1726,7 @@ USERD_get_ghosts_in_model_flag
Arguments:
---------
Notes:
-----
* This routine is new in the 2.01 API
@ -1841,7 +1841,7 @@ USERD_get_maxsize_info
---------
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
in the part (over all time).
(Array will have been allocated
Numparts_available long)
@ -1964,7 +1964,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1976,17 +1976,17 @@ USERD_get_name_of_reader
(OUT) reader_name = the name of the your reader or data format.
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
and one field (Param) is optional
Param field can contain any text
for example a file name, modifiers,
etc. that can be used to modify the
reader's behavior.
Notes:
-----
@ -2804,37 +2804,37 @@ USERD_get_number_of_timesets
* If you have a static model, both geometry and variables, you should
return a value of zero.
* If you have a transient model, then you should return one or more.
For example:
Geometry Variables No. of timesets
--------- ------------------------------ ---------------
static static 0
static transient, all using same timeset 1
transient transient, all using same timeset as geom 1
static transient, using 3 different timesets 3
transient transient, using 3 different timesets and
none of them the same as the
geometry timeset 4
etc.
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
the timeset number to use
for geometry in:
USERD_get_geom_timeset_number
Variables can use the same timeset as the geometry, or can use
other timesets. More than one variable can use the same timeset.
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
variable 1 provided at these same five steps
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
This routine should return a value of 2, because only
two different timesets are needed. Timeset 1 would be for the
geometry and variable 1 (they both use it). Timeset 2 would
@ -3116,7 +3116,7 @@ USERD_get_part_elements_by_type
conn_array[100][4] when called with Z_QUA04
conn_array[30][8] when called with Z_HEX08
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -3250,7 +3250,7 @@ USERD_get_sol_times
Description:
-----------
Get the solution times associated with each time step for
Get the solution times associated with each time step for
desired timeset.
Specification:
@ -3266,7 +3266,7 @@ USERD_get_sol_times
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3302,7 +3302,7 @@ USERD_get_timeset_description -
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3415,22 +3415,22 @@ USERD_get_var_by_component
(IN) imag_data = TRUE if imag component
FALSE if real component
(IN) component = The component: (0 if Z_SCALAR)
(0 - 2 if Z_VECTOR)
(0 - 5 if Z_TENSOR)
(0 - 8 if Z_TENSOR9)
* 6 Symmetric Indicies, 0:5 *
* 6 Symmetric Indices, 0:5 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
* T = | 22 23 | = | 1 5 | *
* | | | | *
* | 33 | | 2 | *
* 9 General Indicies, 0:8 *
* 9 General Indices, 0:8 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
@ -3438,7 +3438,7 @@ USERD_get_var_by_component
* | | | | *
* | 31 32 33 | | 7 8 2 | *
(OUT) var_array
(OUT) var_array
-----------------------------------------------------------------------
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
@ -3460,7 +3460,7 @@ USERD_get_var_by_component
if Z_PER_ELEM: = 1D array containing variable component
value for each element of a particular
part and type.
(Array will have been allocated
(number_of_elements[which_part][which_type] + 1)
long. See USERD_get_gold_part_build_info)
@ -3522,7 +3522,7 @@ USERD_get_var_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -3731,17 +3731,17 @@ USERD_set_filenames
(IN) param_2 = The usage of this string depends on
'two_fields' in USERD_get_name_of_reader.
If two_fields is FALSE then it's empty.
If two_fields is TRUE, this is the
manditory results file entered
If two_fields is TRUE, this is the
manditory results file entered
into the result field of the data dialog.
If two_fields is -1, then this contains
optional text (filenames, modifiers, etc.)
that can be parsed and used to modify
reader
that can be parsed and used to modify
reader
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
@ -3790,7 +3790,7 @@ USERD_set_server_number
something that you can take advantage of. If your data is already
partitioned in some manner, such that you can access the proper
portions using this information.
For all non-SOS uses, this will simply be 1 of 1
@ -3816,7 +3816,7 @@ USERD_set_time_set_and_step
Arguments:
---------
(IN) timeset_number = the timeset number (1 based).
For example: If USERD_get_number_of_timesets
returns 2, the valid timeset_number's
would be 1 and 2.
@ -3985,14 +3985,14 @@ USERD_rigidbody_values
Arguments:
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
(OUT) values values[0] = IX (x location)
values[1] = IY (y location)
values[2] = IZ (z location)
@ -4037,7 +4037,7 @@ USERD_set_right_side
------------------------------------------------------------------
ENHANCED GUI ROUTINES
ENHANCED GUI ROUTINES
--------------------------------------------------------------------
USERD_get_extra_gui_numbers
@ -4061,7 +4061,7 @@ USERD_get_extra_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4081,63 +4081,63 @@ USERD_get_extra_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_extra_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_extra_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_extra_gui_defaults
@ -4171,17 +4171,17 @@ USERD_get_extra_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4201,7 +4201,7 @@ USERD_get_extra_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4242,7 +4242,7 @@ USERD_set_extra_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4272,7 +4272,7 @@ USERD_get_var_extract_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4291,63 +4291,63 @@ USERD_get_var_extract_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_var_extract_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_var_extract_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_var_extract_gui_defaults
@ -4381,17 +4381,17 @@ USERD_get_var_extract_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4411,7 +4411,7 @@ USERD_get_var_extract_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4452,7 +4452,7 @@ USERD_set_var_extract_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4464,19 +4464,19 @@ USERD_set_var_extract_gui_data
/* ----------------------------------------------------------
* New in EnSight 8 is the capability to remove (fail) elements
* based on variable threshold values. Basically the variable
* name, a couple of thresholds, a couple of values and a logic
* name, a couple of thresholds, a couple of values and a logic
* criteria are read in from this routine. Every element that
* satisfies the failure criteria is removed and not used in
* EnSight calculations.
*
* Example Failure criteria
*
* Example Failure criteria
* Let fail_var_name = "fail_flag"
* threshold_val1 = 0
* threshold_operator1 = Z_EQUAL_TO
* threshold_operator1 = Z_EQUAL_TO
* logic_criteria2 not used
* threshold_val2 not used
* threshold_operator2 not used
* For each value of "fail_flag" at each element,
* For each value of "fail_flag" at each element,
* if fail flag == threshold_val1 (0.0) then element fails
* Return (Z_ERR) if this is not used.
* Return (Z_OK) if failed element feature should be used
@ -4505,7 +4505,7 @@ int USERD_get_uns_failed_params(
Z_EQUAL_TO */
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
Z_EQUAL_TO */
int *logic_criteria2
int *logic_criteria2
/*--------------------------------------------------------------------

View File

@ -14,16 +14,16 @@ You should refer to beginning of README_USERD_2.0 and/or README_1.0_to_2.0
for a discussion of the differences between API 1.0 and API 2.*.
***>> API 2.07 additional capabilities (beyond API 2.06):
Optional routine to allow userd defined readers to indicate their auto
distribute preference when used with SOS. This is used to set the auto
distribute flag default in the client. If the function does not exist,
then it defaults to 'use auto distribute'. If the function does exist and
indicates 'no auto distribute', then it's up to the UDR to decompose a
Optional routine to allow userd defined readers to indicate their auto
distribute preference when used with SOS. This is used to set the auto
distribute flag default in the client. If the function does not exist,
then it defaults to 'use auto distribute'. If the function does exist and
indicates 'no auto distribute', then it's up to the UDR to decompose a
distributed data set.
USERD_prefer_auto_distribute
Optional routine to allow userd defined readers to indicate their
preference for the 'Set file...' button labels in the client's File->Open
dialog. If the function does not exist or it returns a null string for
Optional routine to allow userd defined readers to indicate their
preference for the 'Set file...' button labels in the client's File->Open
dialog. If the function does not exist or it returns a null string for
an argument, then the default values are used.
USERD_set_filename_button_labels
@ -62,10 +62,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
***>> API 2.04 additional capabilities (beyond API 2.03):
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
b.A second routine to return a matrix of flags indexed by part and
element type indicating which parts and element types have failed
elements at the current time step.
@ -81,7 +81,7 @@ c.Finally a third routine to return an array of flags for a given
****************************************************************************
Note: Only the the Ensight Gold example reader, has been moved to
Note: Only the the Ensight Gold example reader, has been moved to
this 2.06 API level. And it is purely for an example - it does not
actually provide a benefit.
****************************************************************************
@ -113,10 +113,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -164,7 +164,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -258,7 +258,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -303,7 +303,7 @@ USERD_get_block_ghost_flags block ghost cell flags
These routines, which formerly were only for unstructured data, will now
also be called for structured data if you specify that ids will be given
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
------------------------------------------------------------------------------
------------------------------------------------------------------------------
USERD_get_part_node_ids part's node ids
USERD_get_part_element_ids_by_type part's element ids
@ -382,7 +382,7 @@ USERD_bkup archive routine
USERD_exit_routine cleanup upon exit routine
USERD_get_uns_failed_params Gets thresholds/criteria for failure
USERD_get_uns_failed_params Gets thresholds/criteria for failure
USERD_rigidbody_existence Returns whether rigid body transformation
data exists for the model.
@ -405,14 +405,14 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
USERD_get_name_of_reader
USERD_get_reader_descrip (optional)
USERD_get_extra_gui_numbers (optional)
USERD_get_extra_gui_defaults (optional)
USERD_get_extra_gui_defaults (optional)
2. Getting the reader version (also distinguishes between API's)
@ -424,7 +424,7 @@ called is given.
USERD_get_extra_gui_defaults routine)
USERD_get_structured_reader_cinching
USERD_set_server_number
USERD_set_extra_gui_data (optional)
USERD_set_extra_gui_data (optional)
USERD_set_filenames
USERD_get_number_of_timesets
USERD_get_geom_timeset_number
@ -459,7 +459,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_gold_variable_info
6. Part building (per part created)
both unstructured and structured:
@ -501,12 +501,12 @@ called is given.
dialog is closed)
7. Loading Variables
constants:
---------
USERD_set_time_set_and_step
USERD_get_constant_val
scalars/vectors/tensors:
------------------------
USERD_get_descrip_lines
@ -550,7 +550,7 @@ called is given.
USERD_get_border_availability (If border representation
USERD_get_border_elements_by_type is selected)
9. Node or Element queries over time
USERD_get_var_value_at_specific
@ -590,7 +590,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -837,24 +837,24 @@ USERD_get_block_ghost_flags
(OUT) ghost_flags = 1D array containing ghost flag value
for each block cell.
(Array will have been allocated
(i-1)*(j-1)*(k-1) for the block long)
possible values are: 0 = non-ghost cell (normal cell)
>0 = ghost cell
Notes:
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Only called for structured "block" parts that have some ghost cells
as indicated by the USERD_get_ghost_in_block_flag. The model must
of course also have been indicated to have some ghost cells in the
USERD_get_ghost_in_model_flag routine.
* It is sufficient to set the value to be 1 to flag as a ghost cell,
but the value can be any non-zero value, so you could use it to
indicate which block or which server (for Server-of-server use) the
@ -922,7 +922,7 @@ USERD_get_border_elements_by_type
Description:
-----------
Provides border element connectivity and parent information.
Provides border element connectivity and parent information.
Specification:
-------------
@ -991,7 +991,7 @@ USERD_get_border_elements_by_type
(Array will have been allocated
num_of_elements of the type long)
Notes:
-----
* Not called unless USERD_get_border_availability returned Z_OK
@ -1093,7 +1093,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -1200,7 +1200,7 @@ USERD_get_element_label_status
on a per part, per type basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
* Starting at API 2.01:
--------------------
@ -1227,7 +1227,7 @@ USERD_get_geom_timeset_number -
Returns:
-------
Geom_timeset_number = The timeset number that will be used for geometry.
Geom_timeset_number = The timeset number that will be used for geometry.
For example, if USERD_get_number_of timesets
returns 2, the valid timeset numbers would be
1 or 2.
@ -1343,7 +1343,7 @@ USERD_get_gold_part_build_info
long)
(OUT) number_of_nodes = Number of unstructured nodes in the part
(Array will have been allocated
Numparts_available long)
@ -1626,23 +1626,23 @@ USERD_get_gold_variable_info
Z_PER_ELEM
(OUT) var_complex = TRUE if complex, FALSE otherwise
(Array will have been allocated
Num_variables long)
(OUT) var_ifilename = Variable imaginary filenames (if complex)
(Array will have been allocated
Num_variables by Z_BUFL long)
(OUT) var_freq = complex frequency (if complex)
(Array will have been allocated
Num_variables long)
(OUT) var_contran = TRUE if constant changes per time step
FALSE if constant truly same at all time steps
(Array will have been allocated
Num_variables long)
@ -1716,7 +1716,7 @@ USERD_get_ghosts_in_block_flag
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Intended for structured parts only, value will be ignored for
unstructured parts
@ -1740,7 +1740,7 @@ USERD_get_ghosts_in_model_flag
Arguments:
---------
Notes:
-----
* This routine is new in the 2.01 API
@ -1855,7 +1855,7 @@ USERD_get_maxsize_info
---------
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
in the part (over all time).
(Array will have been allocated
Numparts_available long)
@ -1978,7 +1978,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1990,17 +1990,17 @@ USERD_get_name_of_reader
(OUT) reader_name = the name of the your reader or data format.
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
and one field (Param) is optional
Param field can contain any text
for example a file name, modifiers,
etc. that can be used to modify the
reader's behavior.
Notes:
-----
@ -2818,37 +2818,37 @@ USERD_get_number_of_timesets
* If you have a static model, both geometry and variables, you should
return a value of zero.
* If you have a transient model, then you should return one or more.
For example:
Geometry Variables No. of timesets
--------- ------------------------------ ---------------
static static 0
static transient, all using same timeset 1
transient transient, all using same timeset as geom 1
static transient, using 3 different timesets 3
transient transient, using 3 different timesets and
none of them the same as the
geometry timeset 4
etc.
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
the timeset number to use
for geometry in:
USERD_get_geom_timeset_number
Variables can use the same timeset as the geometry, or can use
other timesets. More than one variable can use the same timeset.
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
variable 1 provided at these same five steps
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
This routine should return a value of 2, because only
two different timesets are needed. Timeset 1 would be for the
geometry and variable 1 (they both use it). Timeset 2 would
@ -3130,7 +3130,7 @@ USERD_get_part_elements_by_type
conn_array[100][4] when called with Z_QUA04
conn_array[30][8] when called with Z_HEX08
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -3264,7 +3264,7 @@ USERD_get_sol_times
Description:
-----------
Get the solution times associated with each time step for
Get the solution times associated with each time step for
desired timeset.
Specification:
@ -3280,7 +3280,7 @@ USERD_get_sol_times
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3316,7 +3316,7 @@ USERD_get_timeset_description -
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3429,22 +3429,22 @@ USERD_get_var_by_component
(IN) imag_data = TRUE if imag component
FALSE if real component
(IN) component = The component: (0 if Z_SCALAR)
(0 - 2 if Z_VECTOR)
(0 - 5 if Z_TENSOR)
(0 - 8 if Z_TENSOR9)
* 6 Symmetric Indicies, 0:5 *
* 6 Symmetric Indices, 0:5 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
* T = | 22 23 | = | 1 5 | *
* | | | | *
* | 33 | | 2 | *
* 9 General Indicies, 0:8 *
* 9 General Indices, 0:8 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
@ -3452,7 +3452,7 @@ USERD_get_var_by_component
* | | | | *
* | 31 32 33 | | 7 8 2 | *
(OUT) var_array
(OUT) var_array
-----------------------------------------------------------------------
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
@ -3474,7 +3474,7 @@ USERD_get_var_by_component
if Z_PER_ELEM: = 1D array containing variable component
value for each element of a particular
part and type.
(Array will have been allocated
(number_of_elements[which_part][which_type] + 1)
long. See USERD_get_gold_part_build_info)
@ -3536,7 +3536,7 @@ USERD_get_var_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -3745,17 +3745,17 @@ USERD_set_filenames
(IN) param_2 = The usage of this string depends on
'two_fields' in USERD_get_name_of_reader.
If two_fields is FALSE then it's empty.
If two_fields is TRUE, this is the
manditory results file entered
If two_fields is TRUE, this is the
manditory results file entered
into the result field of the data dialog.
If two_fields is -1, then this contains
optional text (filenames, modifiers, etc.)
that can be parsed and used to modify
reader
that can be parsed and used to modify
reader
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
@ -3804,7 +3804,7 @@ USERD_set_server_number
something that you can take advantage of. If your data is already
partitioned in some manner, such that you can access the proper
portions using this information.
For all non-SOS uses, this will simply be 1 of 1
@ -3830,7 +3830,7 @@ USERD_set_time_set_and_step
Arguments:
---------
(IN) timeset_number = the timeset number (1 based).
For example: If USERD_get_number_of_timesets
returns 2, the valid timeset_number's
would be 1 and 2.
@ -3999,14 +3999,14 @@ USERD_rigidbody_values
Arguments:
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
(OUT) values values[0] = IX (x location)
values[1] = IY (y location)
values[2] = IZ (z location)
@ -4051,7 +4051,7 @@ USERD_set_right_side
------------------------------------------------------------------
ENHANCED GUI ROUTINES
ENHANCED GUI ROUTINES
--------------------------------------------------------------------
USERD_get_extra_gui_numbers
@ -4075,7 +4075,7 @@ USERD_get_extra_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4095,63 +4095,63 @@ USERD_get_extra_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_extra_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_extra_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_extra_gui_defaults
@ -4185,17 +4185,17 @@ USERD_get_extra_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4215,7 +4215,7 @@ USERD_get_extra_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4256,7 +4256,7 @@ USERD_set_extra_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4286,7 +4286,7 @@ USERD_get_var_extract_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4305,63 +4305,63 @@ USERD_get_var_extract_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_var_extract_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_var_extract_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_var_extract_gui_defaults
@ -4395,17 +4395,17 @@ USERD_get_var_extract_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4425,7 +4425,7 @@ USERD_get_var_extract_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4466,7 +4466,7 @@ USERD_set_var_extract_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4478,19 +4478,19 @@ USERD_set_var_extract_gui_data
/* ----------------------------------------------------------
* New in EnSight 8 is the capability to remove (fail) elements
* based on variable threshold values. Basically the variable
* name, a couple of thresholds, a couple of values and a logic
* name, a couple of thresholds, a couple of values and a logic
* criteria are read in from this routine. Every element that
* satisfies the failure criteria is removed and not used in
* EnSight calculations.
*
* Example Failure criteria
*
* Example Failure criteria
* Let fail_var_name = "fail_flag"
* threshold_val1 = 0
* threshold_operator1 = Z_EQUAL_TO
* threshold_operator1 = Z_EQUAL_TO
* logic_criteria2 not used
* threshold_val2 not used
* threshold_operator2 not used
* For each value of "fail_flag" at each element,
* For each value of "fail_flag" at each element,
* if fail flag == threshold_val1 (0.0) then element fails
* Return (Z_ERR) if this is not used.
* Return (Z_OK) if failed element feature should be used
@ -4519,7 +4519,7 @@ int USERD_get_uns_failed_params(
Z_EQUAL_TO */
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
Z_EQUAL_TO */
int *logic_criteria2
int *logic_criteria2
/*--------------------------------------------------------------------

View File

@ -18,16 +18,16 @@ Namely, rotational (yaw,pitch,roll) values were added to the values
argument of USERD_rigidbody_values routine.
***>> API 2.07 additional capabilities (beyond API 2.06):
Optional routine to allow userd defined readers to indicate their auto
distribute preference when used with SOS. This is used to set the auto
distribute flag default in the client. If the function does not exist,
then it defaults to 'use auto distribute'. If the function does exist and
indicates 'no auto distribute', then it's up to the UDR to decompose a
Optional routine to allow userd defined readers to indicate their auto
distribute preference when used with SOS. This is used to set the auto
distribute flag default in the client. If the function does not exist,
then it defaults to 'use auto distribute'. If the function does exist and
indicates 'no auto distribute', then it's up to the UDR to decompose a
distributed data set.
USERD_prefer_auto_distribute
Optional routine to allow userd defined readers to indicate their
preference for the 'Set file...' button labels in the client's File->Open
dialog. If the function does not exist or it returns a null string for
Optional routine to allow userd defined readers to indicate their
preference for the 'Set file...' button labels in the client's File->Open
dialog. If the function does not exist or it returns a null string for
an argument, then the default values are used.
USERD_set_filename_button_labels
@ -66,10 +66,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
***>> API 2.04 additional capabilities (beyond API 2.03):
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
Routines to handle failed elements. Basically
a.One routine to return a flag indicating the existence of
failed elements in at least one part in at least one
timestep in the model.
b.A second routine to return a matrix of flags indexed by part and
element type indicating which parts and element types have failed
elements at the current time step.
@ -85,7 +85,7 @@ c.Finally a third routine to return an array of flags for a given
****************************************************************************
Note: Only the the Ensight Gold example reader, has been moved to
Note: Only the the Ensight Gold example reader, has been moved to
this 2.06 API level. And it is purely for an example - it does not
actually provide a benefit.
****************************************************************************
@ -117,10 +117,10 @@ The process for producing a user defined reader is:
You may find it useful to place your library source in this area as
well, but are not limited to this location.
* ===> The descriptions of each library routine and the order that the
* ===> The descriptions of each library routine and the order that the
routines are called, which is provided in this file, along with
the example libraries, should make it possible for you to produce
code for your own data reader.
code for your own data reader.
2. Produce the dynamic shared library.
@ -168,7 +168,7 @@ The process for producing a user defined reader is:
If you choose to use a different build environment for your reader,
you should take care to use compatible compilation flags to ensure
compatibilty with the EnSight executables, most notably on the SGI
compatibility with the EnSight executables, most notably on the SGI
and HP-UX 11.0 platforms, which should use the following flags:
sgi_6.2_o32: -mips2
@ -262,7 +262,7 @@ The process for producing a user defined reader is:
location, and users can set the ENSIGHT7_READER variable to access them:
setenv ENSIGHT7_READER /usr/local/lib/e7readers
A user working on a new reader may compile the reader and place it in
a directory specified by the library path:
@ -307,7 +307,7 @@ USERD_get_block_ghost_flags block ghost cell flags
These routines, which formerly were only for unstructured data, will now
also be called for structured data if you specify that ids will be given
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
------------------------------------------------------------------------------
------------------------------------------------------------------------------
USERD_get_part_node_ids part's node ids
USERD_get_part_element_ids_by_type part's element ids
@ -386,7 +386,7 @@ USERD_bkup archive routine
USERD_exit_routine cleanup upon exit routine
USERD_get_uns_failed_params Gets thresholds/criteria for failure
USERD_get_uns_failed_params Gets thresholds/criteria for failure
USERD_rigidbody_existence Returns whether rigid body transformation
data exists for the model.
@ -409,14 +409,14 @@ Order Routines are called
The various main operations are given basically in the order they will
be performed. Within each operation, the order the routines will be
called is given.
called is given.
1. Setting name in the gui, and specifying one or two input fields
USERD_get_name_of_reader
USERD_get_reader_descrip (optional)
USERD_get_extra_gui_numbers (optional)
USERD_get_extra_gui_defaults (optional)
USERD_get_extra_gui_defaults (optional)
2. Getting the reader version (also distinguishes between API's)
@ -428,7 +428,7 @@ called is given.
USERD_get_extra_gui_defaults routine)
USERD_get_structured_reader_cinching
USERD_set_server_number
USERD_set_extra_gui_data (optional)
USERD_set_extra_gui_data (optional)
USERD_set_filenames
USERD_get_number_of_timesets
USERD_get_geom_timeset_number
@ -463,7 +463,7 @@ called is given.
USERD_get_number_of_variables
USERD_get_gold_variable_info
6. Part building (per part created)
both unstructured and structured:
@ -505,12 +505,12 @@ called is given.
dialog is closed)
7. Loading Variables
constants:
---------
USERD_set_time_set_and_step
USERD_get_constant_val
scalars/vectors/tensors:
------------------------
USERD_get_descrip_lines
@ -554,7 +554,7 @@ called is given.
USERD_get_border_availability (If border representation
USERD_get_border_elements_by_type is selected)
9. Node or Element queries over time
USERD_get_var_value_at_specific
@ -594,7 +594,7 @@ Detailed Specifications
Include files:
--------------
The following header file is required in any file containing these library
routines.
routines.
#include "global_extern.h"
@ -841,24 +841,24 @@ USERD_get_block_ghost_flags
(OUT) ghost_flags = 1D array containing ghost flag value
for each block cell.
(Array will have been allocated
(i-1)*(j-1)*(k-1) for the block long)
possible values are: 0 = non-ghost cell (normal cell)
>0 = ghost cell
Notes:
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Only called for structured "block" parts that have some ghost cells
as indicated by the USERD_get_ghost_in_block_flag. The model must
of course also have been indicated to have some ghost cells in the
USERD_get_ghost_in_model_flag routine.
* It is sufficient to set the value to be 1 to flag as a ghost cell,
but the value can be any non-zero value, so you could use it to
indicate which block or which server (for Server-of-server use) the
@ -926,7 +926,7 @@ USERD_get_border_elements_by_type
Description:
-----------
Provides border element connectivity and parent information.
Provides border element connectivity and parent information.
Specification:
-------------
@ -995,7 +995,7 @@ USERD_get_border_elements_by_type
(Array will have been allocated
num_of_elements of the type long)
Notes:
-----
* Not called unless USERD_get_border_availability returned Z_OK
@ -1097,7 +1097,7 @@ USERD_get_dataset_query_file_info
(Typically obtained with a call to the
"stat" system routine) (Is a long)
qfiles[].timemod = The time the file was last modified
qfiles[].timemod = The time the file was last modified
(Z_MAXTIMLEN is the dimensioned length
of this string)
(Typically obtained with a call to the
@ -1204,7 +1204,7 @@ USERD_get_element_label_status
on a per part, per type basis, if TRUE status is returned here.
For structured parts, EnSight will assign ids if you return a
status of TRUE here. You cannot assign them youself!!
status of TRUE here. You cannot assign them yourself!!
* Starting at API 2.01:
--------------------
@ -1231,7 +1231,7 @@ USERD_get_geom_timeset_number -
Returns:
-------
Geom_timeset_number = The timeset number that will be used for geometry.
Geom_timeset_number = The timeset number that will be used for geometry.
For example, if USERD_get_number_of timesets
returns 2, the valid timeset numbers would be
1 or 2.
@ -1347,7 +1347,7 @@ USERD_get_gold_part_build_info
long)
(OUT) number_of_nodes = Number of unstructured nodes in the part
(Array will have been allocated
Numparts_available long)
@ -1630,23 +1630,23 @@ USERD_get_gold_variable_info
Z_PER_ELEM
(OUT) var_complex = TRUE if complex, FALSE otherwise
(Array will have been allocated
Num_variables long)
(OUT) var_ifilename = Variable imaginary filenames (if complex)
(Array will have been allocated
Num_variables by Z_BUFL long)
(OUT) var_freq = complex frequency (if complex)
(Array will have been allocated
Num_variables long)
(OUT) var_contran = TRUE if constant changes per time step
FALSE if constant truly same at all time steps
(Array will have been allocated
Num_variables long)
@ -1720,7 +1720,7 @@ USERD_get_ghosts_in_block_flag
-----
* This routine is new in the 2.01 API
* This will be based on Current_time_step
* Intended for structured parts only, value will be ignored for
unstructured parts
@ -1744,7 +1744,7 @@ USERD_get_ghosts_in_model_flag
Arguments:
---------
Notes:
-----
* This routine is new in the 2.01 API
@ -1859,7 +1859,7 @@ USERD_get_maxsize_info
---------
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
in the part (over all time).
(Array will have been allocated
Numparts_available long)
@ -1982,7 +1982,7 @@ USERD_get_name_of_reader
Specification:
-------------
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields)
int *two_fields)
Returns:
-------
@ -1994,17 +1994,17 @@ USERD_get_name_of_reader
(OUT) reader_name = the name of the your reader or data format.
(max length is Z_MAX_USERD_NAME, which is 20)
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
(OUT) two_fields = FALSE if only one data field is
required.
TRUE if two data fields required
-1 if one field (Geom) required
and one field (Param) is optional
Param field can contain any text
for example a file name, modifiers,
etc. that can be used to modify the
reader's behavior.
Notes:
-----
@ -2822,37 +2822,37 @@ USERD_get_number_of_timesets
* If you have a static model, both geometry and variables, you should
return a value of zero.
* If you have a transient model, then you should return one or more.
For example:
Geometry Variables No. of timesets
--------- ------------------------------ ---------------
static static 0
static transient, all using same timeset 1
transient transient, all using same timeset as geom 1
static transient, using 3 different timesets 3
transient transient, using 3 different timesets and
none of them the same as the
geometry timeset 4
etc.
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
the timeset number to use
for geometry in:
USERD_get_geom_timeset_number
Variables can use the same timeset as the geometry, or can use
other timesets. More than one variable can use the same timeset.
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
variable 1 provided at these same five steps
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
This routine should return a value of 2, because only
two different timesets are needed. Timeset 1 would be for the
geometry and variable 1 (they both use it). Timeset 2 would
@ -3134,7 +3134,7 @@ USERD_get_part_elements_by_type
conn_array[100][4] when called with Z_QUA04
conn_array[30][8] when called with Z_HEX08
Notes:
-----
* Not called unless Num_unstructured_parts is > 0
@ -3268,7 +3268,7 @@ USERD_get_sol_times
Description:
-----------
Get the solution times associated with each time step for
Get the solution times associated with each time step for
desired timeset.
Specification:
@ -3284,7 +3284,7 @@ USERD_get_sol_times
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3320,7 +3320,7 @@ USERD_get_timeset_description -
Arguments:
---------
(IN) timeset_number = the timeset number
For example: If USERD_get_number_of_timesets
returns 2, the valid
timeset_number's would be 1 and 2
@ -3433,22 +3433,22 @@ USERD_get_var_by_component
(IN) imag_data = TRUE if imag component
FALSE if real component
(IN) component = The component: (0 if Z_SCALAR)
(0 - 2 if Z_VECTOR)
(0 - 5 if Z_TENSOR)
(0 - 8 if Z_TENSOR9)
* 6 Symmetric Indicies, 0:5 *
* 6 Symmetric Indices, 0:5 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
* T = | 22 23 | = | 1 5 | *
* | | | | *
* | 33 | | 2 | *
* 9 General Indicies, 0:8 *
* 9 General Indices, 0:8 *
* ---------------------------- *
* | 11 12 13 | | 0 3 4 | *
* | | | | *
@ -3456,7 +3456,7 @@ USERD_get_var_by_component
* | | | | *
* | 31 32 33 | | 7 8 2 | *
(OUT) var_array
(OUT) var_array
-----------------------------------------------------------------------
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
@ -3478,7 +3478,7 @@ USERD_get_var_by_component
if Z_PER_ELEM: = 1D array containing variable component
value for each element of a particular
part and type.
(Array will have been allocated
(number_of_elements[which_part][which_type] + 1)
long. See USERD_get_gold_part_build_info)
@ -3540,7 +3540,7 @@ USERD_get_var_value_at_specific
If Z_PER_NODE:
= The node number. This is not the id, but is
the index of the global node
the index of the global node
list (1 based), or the block's
node list (1 based).
@ -3749,17 +3749,17 @@ USERD_set_filenames
(IN) param_2 = The usage of this string depends on
'two_fields' in USERD_get_name_of_reader.
If two_fields is FALSE then it's empty.
If two_fields is TRUE, this is the
manditory results file entered
If two_fields is TRUE, this is the
manditory results file entered
into the result field of the data dialog.
If two_fields is -1, then this contains
optional text (filenames, modifiers, etc.)
that can be parsed and used to modify
reader
that can be parsed and used to modify
reader
(IN) the_path = the path info from the data dialog.
Note: filename_1 and filename_2 have already
@ -3808,7 +3808,7 @@ USERD_set_server_number
something that you can take advantage of. If your data is already
partitioned in some manner, such that you can access the proper
portions using this information.
For all non-SOS uses, this will simply be 1 of 1
@ -3834,7 +3834,7 @@ USERD_set_time_set_and_step
Arguments:
---------
(IN) timeset_number = the timeset number (1 based).
For example: If USERD_get_number_of_timesets
returns 2, the valid timeset_number's
would be 1 and 2.
@ -4003,14 +4003,14 @@ USERD_rigidbody_values
Arguments:
---------
(IN) part_number = The part number
(1-based index of part table, namely:
1 ... Numparts_available.
It is NOT the part_id that
is loaded in USERD_get_gold_part_build_info)
(OUT) values values[0] = IX (x location)
values[1] = IY (y location)
values[2] = IZ (z location)
@ -4032,7 +4032,7 @@ USERD_rigidbody_values
operation. This is useful to get parts from one
standard layout to a different standard layout.
(example, flex body parts computed in an axis system
different than that of rigid body parts manipulation)
different than that of rigid body parts manipulation)
If not needed or desired, set these to 0.0
values[10] = rot_order (order the roations are applied
@ -4087,7 +4087,7 @@ USERD_set_right_side
------------------------------------------------------------------
ENHANCED GUI ROUTINES
ENHANCED GUI ROUTINES
--------------------------------------------------------------------
USERD_get_extra_gui_numbers
@ -4111,7 +4111,7 @@ USERD_get_extra_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4131,63 +4131,63 @@ USERD_get_extra_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_extra_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_extra_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_extra_gui_defaults
@ -4221,17 +4221,17 @@ USERD_get_extra_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4251,7 +4251,7 @@ USERD_get_extra_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4292,7 +4292,7 @@ USERD_set_extra_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4322,7 +4322,7 @@ USERD_get_var_extract_gui_numbers
Arguments:
---------
(OUT) num_Toggles = number of toggles that will be provided
num_pulldowns = number of pulldowns that will be provided
num_fields = number of fields that will be provided
@ -4341,63 +4341,63 @@ USERD_get_var_extract_gui_numbers
simply delete these routines, or change their
names to something such as
USERD_DISABLED_get_var_extract_gui_defaults
The presence of these routines
will ensure that EnSight will call them and
use their data to modify the extraction parameters set
with some or all of the following:
toggles, pulldown menu and fields.
The user can then interact with the enhanced
GUI and then send their choices to
USERD_set_extra_gui_data
Therefore if USERD_get_var_extract_gui_numbers
exists then the other two must exist.
If none exist, then the GUI will be unchanged.
Toggle data will return an integer
TRUE if checked
FALSE if unchecked
Pulldown menu will return an integer representing
the menu item selected
Field will return a string Z_LEN_GUI_FIELD_STR long.
If all the enhanced GUI features are enabled it
might look something like this
===================================================
[] Title 1 [X] Title 3
[X]Title 2 [X] Title 4
Pulldown Menu ->
Menu Choice 1
Menu Choice 2
Menu Choice 3
Data Field Title 1 ____________________________
Data Field Title 2 ____________________________
=====================================================
This routine defines the numbers of toggles, pulldowns & fields
The following are defined in the global_extern.h
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
Z_LEN_GUI_FIELD_STR max length of field string
Z_LEN_GUI_TITLE_STR max length of title string
The library is loaded, this routine is
called, then the library is unloaded.
Do not define globals in this routine
as when the library is unloaded, you'll
lose them.
--------------------------------------------------------------------
USERD_get_var_extract_gui_defaults
@ -4431,17 +4431,17 @@ USERD_get_var_extract_gui_defaults
[Z_LEN_GUI_TITLE_STR] long
toggle_default_status = Setting for each toggle (TRUE or FALSE)
array dimension is [num_toggles] long
array dimension is [num_toggles] long
pulldown_Title = title for each pulldown
array dimension is [num_pulldowns] by
[Z_LEN_GUI_TITLE_STR] long
pulldown_number_in_list = number of items in each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_default_selection = pulldown item selection for each pulldown
array dimension is [num_pulldowns] long
array dimension is [num_pulldowns] long
pulldown_item_strings = pulldown item strings
array is [num_pulldowns] by
@ -4461,7 +4461,7 @@ USERD_get_var_extract_gui_defaults
Notes:
-----
* The library is loaded, this routine is called, then the library is unloaded.
* Do not define globals in this routine as when the library is unloaded, you'll
lose them.
@ -4502,7 +4502,7 @@ USERD_set_var_extract_gui_data
* This routine is called when the library is permanently
loaded to the EnSight session, so define your globals
in this and later routines.
* It's up to you to change your reader behavior according to
user entries!
@ -4514,19 +4514,19 @@ USERD_set_var_extract_gui_data
/* ----------------------------------------------------------
* New in EnSight 8 is the capability to remove (fail) elements
* based on variable threshold values. Basically the variable
* name, a couple of thresholds, a couple of values and a logic
* name, a couple of thresholds, a couple of values and a logic
* criteria are read in from this routine. Every element that
* satisfies the failure criteria is removed and not used in
* EnSight calculations.
*
* Example Failure criteria
*
* Example Failure criteria
* Let fail_var_name = "fail_flag"
* threshold_val1 = 0
* threshold_operator1 = Z_EQUAL_TO
* threshold_operator1 = Z_EQUAL_TO
* logic_criteria2 not used
* threshold_val2 not used
* threshold_operator2 not used
* For each value of "fail_flag" at each element,
* For each value of "fail_flag" at each element,
* if fail flag == threshold_val1 (0.0) then element fails
* Return (Z_ERR) if this is not used.
* Return (Z_OK) if failed element feature should be used
@ -4555,7 +4555,7 @@ int USERD_get_uns_failed_params(
Z_EQUAL_TO */
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
Z_EQUAL_TO */
int *logic_criteria2
int *logic_criteria2
/*--------------------------------------------------------------------

View File

@ -799,7 +799,7 @@ USERD_get_part_element_ids_by_type_in_buffers(int part_number,
* (0 - 5 if Z_TENSOR)
* (0 - 8 if Z_TENSOR9)
*
* * 6 Symmetric Indicies, 0:5 *
* * 6 Symmetric Indices, 0:5 *
* * ---------------------------- *
* * | 11 12 13 | | 0 3 4 | *
* * | | | | *
@ -807,7 +807,7 @@ USERD_get_part_element_ids_by_type_in_buffers(int part_number,
* * | | | | *
* * | 33 | | 2 | *
*
* * 9 General Indicies, 0:8 *
* * 9 General Indices, 0:8 *
* * ---------------------------- *
* * | 11 12 13 | | 0 1 2 | *
* * | | | | *

View File

@ -93,7 +93,7 @@ int USERD_set_filenames
fieldNames = objects.names();
// because of the spray being a 'field' ...
// get the availabe number of variables and
// get the available number of variables and
// check for type (scalar/vector/tensor)
label nVar = 0;

View File

@ -365,7 +365,7 @@ enum z_matset_via_file_type
#define DATA_TARGET_MASK 0x0000000f
/* ---------------------------------------
* Failed elemenet enums
* Failed element enums
* --------------------------------------- */
enum z_element_failure_criteria