Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

results_ftn.c File Reference

FORTRAN interface to the result library. More...

#include <ctype.h>
#include <stdlib.h>
#include "results.h"
#include "util/fortran.h"

Defines

#define rf_nilfunc
 Shorthand for comparision in rfmi_create_ftnback_ftn(). More...


Typedefs

typedef RFVINTEGER4 (* rf_userparseinit_func_ftn )(RFInterface **info, CHARACTER*(*) buf, RFINTEGER4 j, CHARACTER*(*) file, CHARACTER*(*) format, CHARACTER*(*) zonemask, CHARACTER*(*) decfile)
 This callback routine parses the inputinit command line from front end and returns the set of files to be opened. More...

typedef RFVINTEGER4 (* rf_userexternalload_func_ftn )(RFInterface **info, CHARACTER*(*) file, RFINTEGER4 d_tstep, RFINTEGER4 d_prec, RFINTEGER4 nnodes)
 This callback routine should be used to open (or internally note) the nfiles requested. More...

typedef RFVINTEGER4 (* rf_userexternalclose_func_ftn )(RFInterface **info)
 This callback function closes the open files in the reader. More...

typedef RFVINTEGER4 (* rf_userfiledesc_func_ftn )(RFInterface **info, RFINTEGER4 nnodes, RFINTEGER4 tstep)
 Callback function that can be used to simply determine and specify the number of nodes, elements, and define results. More...

typedef RFVINTEGER4 (* rf_userexternalgrid_func_ftn )(RFInterface **info, RFINTEGER4 tstep)
 Callback function that is used to read grid. More...

typedef RFVINTEGER4 (* rf_userexternalelements_func_ftn )(RFInterface **info, RFINTEGER4 tstep)
 Callback function that is used to read elements. More...

typedef RFVINTEGER4 (* rf_userexternalgroups_func_ftn )(RFInterface **info, RFINTEGER4 tstep)
 Callback function that is used to group elements into families. More...

typedef RFVINTEGER4 (* rf_userexternalpostmesh_func_ftn )(RFInterface **info, RFINTEGER4 tstep)
 Callback function that can be used to define results or carry out any other post mesh definition functions. More...

typedef RFVINTEGER4 (* rf_loadscalarbackend_func_ftn )(RFInterface **info, RFINTEGER4 idnum, CHARACTER*(*) name, RFINTEGER4 nvals, RFINTEGER4 type, void *values, RFINTEGER4 skip, RFINTEGER4 prec, RFINTEGER4 tstep)
 Callback function used to return requested results to caller. More...

typedef RFVINTEGER4 (* rf_userexternalblank_func_ftn )(RFInterface **info, RFINTEGER4 ib, RFINTEGER4 tstep)
 Callback function to define blanking data structure for structured meshes. More...

typedef RFVINTEGER4 (* rf_freelocaldata_func_ftn )(RFInterface **info, void **data)
 Callback function to delete user created anonymous data. More...


Functions

ExportedByResultlib char* rf_ftn_to_c_string (char *str, int len)
ExportedByResultlib void rf_c_to_ftn_string (char *str, int len)
ExportedByResultlib void rf_getimpl_ftn (rfobj_impl **ret, RFInterface **info)
 Return backend implementation. More...

ExportedByResultlib void rf_getresults_obj_ftn (rfobj_impl **ret, RFInterface **info)
 Return result object implementation. More...

ExportedByResultlib void rf_getmesh_interface_ftn (RFMeshInterface **ret, RFInterface **info)
 Return mesh interface implementation. More...

ExportedByResultlib void rf_backend_for_ftn (RFInterface **ret, RFImpl **factory, rfobj_impl **rfobj, RFMeshInterface **mi, CHARACTER*(*) be, RFINTEGER4 frc )
 Return result interface object representing specified backend. More...

ExportedByResultlib void rf_open_ftn (RFInterface **ret, CHARACTER*(*) file, CHARACTER*(*) be )
 Open specified result file and return result interface object representing specified backend. More...

ExportedByResultlib void rfmi_open_ftn (RFInterface **ret, CHARACTER*(*) file, CHARACTER*(*) be, RFINTEGER4 force, RFMeshInterface **mi )
 Open specified result file and return result interface object representing specified backend. More...

ExportedByResultlib void rf_close_ftn (RFINTEGER4 ret, RFInterface **info)
 Close the file and run down the backend gracefully. More...

ExportedByResultlib void rf_write_to_pipe_ftn (RFINTEGER4 ret, RFInterface **info)
 Close the file and run down the backend gracefully. More...

ExportedByResultlib void rfmi_empty_impl_ftn (RFInterface **ret, RFMeshInterface **mi)
 Creates empty implementation. More...

ExportedByResultlib void rf_settopo_info_ftn (RFINTEGER4 ret, RFInterface **info, RFInterface **tinfo, RFINTEGER4 town)
 Set the topological information (mesh, families, faces, etc) for given result implementation to be from a different result implementation. More...

ExportedByResultlib void rf_version_ftn (CHARACTER*(*) version, RFInterface **info )
 Get version information. More...

ExportedByResultlib void rf_title_ftn (CHARACTER*(*) title, RFInterface **info )
 Get title of result. More...

ExportedByResultlib void rf_date_ftn (CHARACTER*(*) date, RFInterface **info )
 Get date of result. More...

ExportedByResultlib void rf_error_ftn (CHARACTER*(*) error, RFInterface **info )
 Get last error. More...

ExportedByResultlib void rf_set_error_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) error )
 Set error string. More...

ExportedByResultlib void rf_get_curtimestep_ftn (RFINTEGER4 ret, RFInterface **info)
 Get current timestep. More...

ExportedByResultlib void rf_timestep_valid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 tstep)
 Is specified timestep valid? Ie, have the result library read in the mesh and results for specified timestep. More...

ExportedByResultlib void rf_get_writefile_ftn (CHARACTER*(*) writefile, RFInterface **info )
 Get name of file to be written by a write file request. More...

ExportedByResultlib void rf_set_writefile_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) writefile )
 Set name of next file to write. More...

ExportedByResultlib void rf_get_maxcache_ftn (RFINTEGER4 ret, RFInterface **info)
 Get current result cache depth. More...

ExportedByResultlib void rf_set_maxcache_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 mc)
 Set result cache depth. More...

ExportedByResultlib void rf_read_mesh_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 prec, RFINTEGER4 tstep)
 Cause the backend to read the mesh if not yet done. More...

ExportedByResultlib void rf_free_mesh_ftn (RFINTEGER4 ret, RFInterface **info)
 Free the mesh representation for the application. More...

ExportedByResultlib void rf_nodes_ftn (RFINTEGER4 ret, RFInterface **info, void *crds, void *bbmin, void *bbmax, RFINTEGER4 prec, RFINTEGER4 tstep)
 Load in the nodes into crds buffer. More...

ExportedByResultlib void rf_bounding_box_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 prec, void *crds, void *bbmin, void *bbmax)
 Determine bounding box from coordinates of mode. More...

ExportedByResultlib void rf_iblank_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 iblank, RFINTEGER4 tstep)
 Get blanking information for structured mesh. More...

ExportedByResultlib void rf_cells_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype, RFINTEGER4 elements, RFINTEGER4 tstep)
 Get element connectivity for element type specified. More...

ExportedByResultlib void rf_cells_order_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype, RFINTEGER4 elements, RFINTEGER4 tstep, RFINTEGER4 dvoff, RFINTEGER4 desired_ord)
 Get element connectivity for element type specified. More...

ExportedByResultlib void rf_domain_cells_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype, RFINTEGER4 elements, RFINTEGER4 tstep)
 Similar to rf_cells_ftn() except that elements also contains family id Calls rf_domain_cells_order() with vertex offset specified as 1 and connectivity order as mesh order. More...

ExportedByResultlib void rf_domain_cells_order_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype, RFINTEGER4 elements, RFINTEGER4 tstep, RFINTEGER4 dvoff, RFINTEGER4 desired_ord)
 Similar to rf_cells_order_fts except that elements also contains family id See rf_domain_cells_order() for specification and complete details of arguments. More...

ExportedByResultlib void rf_n_domains_ftn (RFINTEGER4 ret, RFInterface **info)
 Get number of structured domains. More...

ExportedByResultlib void rf_ijk_domain_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 dom, RFINTEGER4 ijk)
 Get ijk range of specified domain. More...

ExportedByResultlib void rf_v3_nunodes_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the number of unstructured nodes in the mesh from the application's point of view. More...

ExportedByResultlib void rf_v3_nsnodes_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the number of structured nodes in the mesh from the application's point of view. More...

ExportedByResultlib void rf_v3_nsnodesdom_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 dom)
 Return the number of structured nodes in a structured domain from the application's point of view. More...

ExportedByResultlib void rf_num_real_nodes_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the number nodes in the mesh EXCLUDING the effect of 2D to 3D inflation if the mesh is a 2D structured mesh from the application's point of view. More...

ExportedByResultlib void rf_be_nunodes_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the number of unstructured nodes in the mesh from the backend's point of view. More...

ExportedByResultlib void rf_be_nsnodes_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the number of structured nodes in the mesh from the backend's point of view. More...

ExportedByResultlib void rf_be_nsnodesdom_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 dom)
 Return the number of structured nodes in a structured domain from the backend's point of view. More...

ExportedByResultlib void rf_v3_nelements_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype)
 Return the number of unstructured elements of specified type from application's point of view. More...

ExportedByResultlib void rf_v3_elementstart_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype)
 Return first element number of specified type from application's point of view. More...

ExportedByResultlib void rf_v3_ntot_unstrvolele_ftn (int *ret, RFInterface **info)
 Return the total number of unstructured volume elements in the mesh from the application's view. More...

ExportedByResultlib void rf_v3_ntot_unstrfaceele_ftn (int *ret, RFInterface **info)
 Return the total number of unstructured face elements in the mesh from the application's view. More...

ExportedByResultlib void rf_v3_ntot_unstrele_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the total number of unstructured elements in the mesh from the application's view. More...

ExportedByResultlib void rf_v3_ntot_strvolele_ftn (int *ret, RFInterface **info)
 Return the total number of structured volume elements in the mesh from the application's view. More...

ExportedByResultlib void rf_v3_ntot_strfaceele_ftn (int *ret, RFInterface **info)
 Return the total number of structured face elements in the mesh from the application's view. More...

ExportedByResultlib void rf_v3_ntot_strele_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the total number of structured elements in the mesh from the application's view. More...

ExportedByResultlib void rf_v3_nscellsdom_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 dom)
 Return the number of cells in specified structured domain from the application's view. More...

ExportedByResultlib void rf_be_nelements_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype)
 Return the number of unstructured of specified type from backend's point of view. More...

ExportedByResultlib void rf_be_elementstart_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype)
 Return first element number of specified type from backend's point of view. More...

ExportedByResultlib void rf_be_ntot_unstrvolele_ftn (int *ret, RFInterface **info)
 Return the total number of unstructured volume elements in the mesh from the backend's view. More...

ExportedByResultlib void rf_be_ntot_unstrfaceele_ftn (int *ret, RFInterface **info)
 Return the total number of unstructured face elements in the mesh from the backend's view. More...

ExportedByResultlib void rf_be_ntot_unstrele_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the total number of unstructured elements in the mesh from the backend's view. More...

ExportedByResultlib void rf_be_ntot_strvolele_ftn (int *ret, RFInterface **info)
 Return the total number of structured volume elements in the mesh from the backend's view. More...

ExportedByResultlib void rf_be_ntot_strfaceele_ftn (int *ret, RFInterface **info)
 Return the total number of structured face elements in the mesh from the backend's view. More...

ExportedByResultlib void rf_be_ntot_strele_ftn (RFINTEGER4 ret, RFInterface **info)
 Return the total number of structured elements in the mesh from the backend's view. More...

ExportedByResultlib void rf_be_nscellsdom_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 dom)
 Return the number of cells in specified structured domain from the backend's view. More...

ExportedByResultlib void rf_max_family_ftn (int *ret, RFInterface **info)
 Return the maximum family id. More...

ExportedByResultlib void rf_n_bocos_ftn (int *ret, RFInterface **info)
 Return the number of families. More...

ExportedByResultlib void rf_get_bocoid_ftn (int *ret, RFInterface **info, int *num)
 Return the backend id given boco index. More...

ExportedByResultlib void rf_boco_info_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, CHARACTER*(*) name, RFINTEGER4 bid, RFINTEGER4 famid, RFINTEGER4 nnodes, RFINTEGER4 nothele, RFINTEGER4 nquads, RFINTEGER4 ntris, RFINTEGER4 ncells, RFINTEGER4 nsubfaces, RFINTEGER4 nstrfaces, RFINTEGER4 surfaceType, RFINTEGER4 n_cached_faces )
 Return all information for family. More...

ExportedByResultlib void rf_boco_infobypid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 famid, RFINTEGER4 num, CHARACTER*(*) name, RFINTEGER4 bid, RFINTEGER4 nnodes, RFINTEGER4 nothele, RFINTEGER4 nquads, RFINTEGER4 ntris, RFINTEGER4 ncells, RFINTEGER4 nsubfaces, RFINTEGER4 nstrfaces, RFINTEGER4 surfaceType, RFINTEGER4 n_cached_faces )
 Return all information for family for given family id. More...

ExportedByResultlib void rf_boco_infobyname_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 num, RFINTEGER4 bid, RFINTEGER4 famid, RFINTEGER4 nnodes, RFINTEGER4 nothele, RFINTEGER4 nquads, RFINTEGER4 ntris, RFINTEGER4 ncells, RFINTEGER4 nsubfaces, RFINTEGER4 nstrfaces, RFINTEGER4 surfaceType, RFINTEGER4 n_cached_faces )
 Return all information for family. More...

ExportedByResultlib void rf_boco_dimbynum_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, RFINTEGER4 dim_mask)
 Return family dimension and mask of dimension of elements in the family. More...

ExportedByResultlib void rf_boco_dimbypid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 famid, RFINTEGER4 dim_mask)
 Return family dimension and mask of dimension of elements in the family. More...

ExportedByResultlib void rf_boco_dimbyname_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 dim_mask )
 Return family dimension and mask of dimension of elements in the family. More...

ExportedByResultlib void rf_boco_setdone_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num)
 Set that the definition of the family of given index is now complete. More...

ExportedByResultlib void rf_boco_isdone_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num)
 Is the family at given family index now complete? Index from (0 to nbocos-1). More...

ExportedByResultlib void rf_group_full_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, RFINTEGER4 type, RFINTEGER4 numbers, RFINTEGER4 ext, RFINTEGER4 v3v)
 Return in array numbers the requested entities of specified family index. More...

ExportedByResultlib void rf_group_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, RFINTEGER4 type, RFINTEGER4 numbers, RFINTEGER4 ext)
 This function is provided for convienience. More...

ExportedByResultlib void rf_boco_byindex_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, RFINTEGER4 type, RFINTEGER4 numbers, RFINTEGER4 v3v)
 Return in array numbers the requested entities of specified family index. More...

ExportedByResultlib void rf_boco_bypid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 famid, RFINTEGER4 type, RFINTEGER4 numbers, RFINTEGER4 v3v)
 Return in array numbers the requested entities of specified family index. More...

ExportedByResultlib void rf_get_struct_subfaces_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) topo, CHARACTER*(*) boco )
 Defines all subfaces in the specified family topo and matches family names to specified family boco files. More...

ExportedByResultlib void rf_create_groups_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 bid, RFINTEGER4 famid, RFINTEGER4 only_faces)
 Counts entities/create groups in specified family or all families. More...

ExportedByResultlib void rf_num_results_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 type)
 Return number of results for specified result entity type. More...

ExportedByResultlib void rf_n_results_ftn (RFINTEGER4 ret, RFInterface **info)
 Return total number of results. More...

ExportedByResultlib void rf_is_cellresult_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 cbi)
 Are there any result variables on cells? If can_be_intrinsic is set, includes all intrinsic variables in the assesment. More...

ExportedByResultlib void rf_result_info_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, CHARACTER*(*) name, RFINTEGER4 idnum, CHARACTER*(*) srcn, RFINTEGER4 type, RFINTEGER4 source, int *isv, int *mnmx_giv, REAL minval, REAL maxval )
 Get information about this result at specified index [1, nresults]. More...

ExportedByResultlib void rf_result_info_byname_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 num, RFINTEGER4 idnum, CHARACTER*(*) srcn, RFINTEGER4 type, RFINTEGER4 source, int *isv, int *mnmx_giv, REAL minval, REAL maxval )
 Get information about this result at specified index (0 to nresults-1). More...

ExportedByResultlib void rf_results_by_name_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 type, void *values, RFINTEGER4 prec, RFINTEGER4 tstep, RFINTEGER4 avgMethod, RFINTEGER4 isv )
 Return the results for the specified name. More...

ExportedByResultlib void rf_results_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, RFINTEGER4 type, void *values, RFINTEGER4 prec, RFINTEGER4 tstep, RFINTEGER4 avgMethod)
 Return the results for the specified result index. More...

ExportedByResultlib void rf_results_full_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, RFINTEGER4 type, void *values, RFINTEGER4 prec, RFINTEGER4 tstep, RFINTEGER4 avgMethod, RFINTEGER4 map_res)
 Return the results for the specified result index. More...

ExportedByResultlib void rf_parse_weightmethod_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) meth )
 Convert a cell to node conversion method name to method number. More...

ExportedByResultlib void rf_results_dimension_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name )
 Return the dimension of the named result. More...

ExportedByResultlib void rf_n_parameters_ftn (RFINTEGER4 ret, RFInterface **info)
 Return number of parameters defined in result interface. More...

ExportedByResultlib void rf_parameter_info_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 num, CHARACTER*(*) name, CHARACTER*(*) value )
 Return the name value pair for given parameter index. More...

ExportedByResultlib void rf_lookup_param_ftn (CHARACTER*(*) ret, RFInterface **info, CHARACTER*(*) name )
 Return the value for specified parameter name. More...

ExportedByResultlib void rf_define_parameter_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, CHARACTER*(*) value )
 Define a new parameter (name, value) pair. More...

ExportedByResultlib void rf_n_times_ftn (RFINTEGER4 ret, RFInterface **info)
 Return number of parameters defined in result interface. More...

ExportedByResultlib void rf_time_info_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 idx, RFINTEGER4 step, float *tv)
 Get information for time step idx. More...

ExportedByResultlib void rf_allocate_times_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 n_times)
 Before user can add timesteps, user must specify the number of timesteps available in this result file. More...

ExportedByResultlib void rf_add_timestep_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 idx, RFINTEGER4 step, float *tv)
 Add definition of time step idx. More...

int rfmi_nilfunc_ftn (RFInterface **info)
 Declaration of nilfunc. More...

ExportedByResultlib void rfmi_create_ftnback_ftn (RFInterface **ret, rfobj_impl **rfobj, RFMeshInterface **mi, CHARACTER*(*) form, CHARACTER*(*) backend, int *filesperstep, char *filesasstep, rf_generic_ftnfunc parseinit, rf_generic_ftnfunc eload, rf_generic_ftnfunc eclose, rf_generic_ftnfunc grid, rf_generic_ftnfunc elems, rf_generic_ftnfunc groups, rf_generic_ftnfunc post, rf_generic_ftnfunc loadscalar, rf_generic_ftnfunc blank, rf_generic_ftnfunc freelocal, rf_generic_ftnfunc filedesc )
 Create FORTRAN callback reader. More...

ExportedByResultlib void rf_allocate_vertexmem_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nverts)
 Allocate node memory for nverts. More...

ExportedByResultlib void rf_allocate_strvertexmem_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 dom)
 Allocate structured node coordinate memory once a structured domain. More...

ExportedByResultlib void rf_setnode_style_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 ns)
 Set the node style for this mesh. More...

ExportedByResultlib void rf_setnode_offset_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 offset)
 Set the node offset for this mesh. More...

ExportedByResultlib void rf_setcell_style_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 cs)
 Set the cell style for this mesh. More...

ExportedByResultlib void rf_setvalid_elementtypes_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nvalid, RFINTEGER4 vtypes)
 See rf_backend_interface::setValid_element_types() for details. More...

ExportedByResultlib void rf_set_infofromgrid_ftn (RFINTEGER4 ret, RFInterface **info)
 Set information counters from the current mesh definition. More...

ExportedByResultlib void rf_set_nunodes_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nunodes)
 Set number of unstructured nodes in mesh. More...

ExportedByResultlib void rf_set_nsnodes_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nsnodes)
 Set number of structured nodes in mesh. More...

ExportedByResultlib void rf_set_nelements_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype, RFINTEGER4 nele)
 Set number of unstructured elements of eltype in mesh. More...

ExportedByResultlib void rf_add_domain_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 ijkmax)
 Create a new structured domain with range ijkmax[3]. More...

ExportedByResultlib void rf_add_svertex_xyz_f_ftn (RFINTEGER4 ret, RFInterface **info, float *x, float *y, float *z, RFINTEGER4 dom)
 Define all structured coordinates for structured domain index dom. More...

ExportedByResultlib void rf_add_svertex_xyz_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL x, REAL y, REAL z, RFINTEGER4 dom)
 This function is provided for convenience. More...

ExportedByResultlib void rf_add_svertex_dma_f_ftn (RFINTEGER4 ret, RFInterface **info, float *loc, RFINTEGER4 dom)
 Define all structured coordinates for structured domain index dom. More...

ExportedByResultlib void rf_add_svertex_dma_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL loc, RFINTEGER4 dom)
 This function is provided for convenience. More...

ExportedByResultlib void rf_add_svertex_at_f_ftn (RFINTEGER4 ret, RFInterface **info, float loc[3], RFINTEGER4 dom, RFINTEGER4 ijk, RFINTEGER4 check_alloc)
 Define a single structured node coordinate for structured domain dom. More...

ExportedByResultlib void rf_add_svertex_at_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL loc, RFINTEGER4 dom, RFINTEGER4 ijk, RFINTEGER4 check_alloc)
 This function is provided for convenience. More...

ExportedByResultlib void rf_element_type_id_ftn (RFINTEGER4 ret, CHARACTER*(*) name )
 Return element type id cooresponding to specified nastran element name (i.e. More...

ExportedByResultlib void rf_nodes_per_element_ftn (RFINTEGER4 ret, RFINTEGER4 eltype)
 Return number of nodes in specified element type. More...

ExportedByResultlib void rf_element_dimension_ftn (RFINTEGER4 ret, RFINTEGER4 eltype)
 Return dimension of specified element type. More...

ExportedByResultlib void rf_element_name_ftn (CHARACTER*(*) ret, RFINTEGER4 eltype )
 Return nastran name of specified element type. More...

ExportedByResultlib void rf_add_unsvertex_xyz_f_ftn (RFINTEGER4 ret, RFInterface **info, float *x, float *y, float *z, RFINTEGER4 nnodes)
 Define all unstructured coordinates in the mesh. More...

ExportedByResultlib void rf_add_unsvertex_xyz_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL x, REAL y, REAL z, RFINTEGER4 nnodes)
 This function is provided for convenience. More...

ExportedByResultlib void rf_add_unsvertex_dma_f_ftn (RFINTEGER4 ret, RFInterface **info, float *loc, RFINTEGER4 nnodes)
 Define all unstructured coordinates in the mesh. More...

ExportedByResultlib void rf_add_unsvertex_dma_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL loc, RFINTEGER4 nnodes)
 This function is provided for convenience. More...

ExportedByResultlib void rf_add_unsvertex_at_f_ftn (RFINTEGER4 ret, RFInterface **info, float loc[3], RFINTEGER4 bv)
 Define a single unstructured node coordinate in the mesh. More...

ExportedByResultlib void rf_add_unsvertex_at_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL loc, RFINTEGER4 bv)
 This function is provided for convenience. More...

ExportedByResultlib void rf_add_unsvertex_xyz_ofo_f_ftn (RFINTEGER4 ret, RFInterface **info, float *x, float *y, float *z, RFINTEGER4 nnodes, RFINTEGER4 map)
 Define all unstructured coordinates in the mesh if nodes are randomly numbered. More...

ExportedByResultlib void rf_add_unsvertex_xyz_ofo_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL x, REAL y, REAL z, RFINTEGER4 nnodes, RFINTEGER4 map)
 This function is provided for convenience. More...

ExportedByResultlib void rf_add_unsvertex_dma_ofo_f_ftn (RFINTEGER4 ret, RFInterface **info, float *loc, RFINTEGER4 nnodes, RFINTEGER4 map)
 Define all unstructured coordinates in the mesh if nodes are randomly numbered. More...

ExportedByResultlib void rf_add_unsvertex_dma_ofo_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL loc, RFINTEGER4 nnodes, RFINTEGER4 map)
 This function is provided for convenience. More...

ExportedByResultlib void rf_add_unsvertex_at_ofo_f_ftn (RFINTEGER4 ret, RFInterface **info, float loc[3], RFINTEGER4 bv, RFINTEGER4 dv)
 Define an unstructured node coordinate for random node number dv with internal node number bv (numbered from 0 to total number nodes in mesh-1). More...

ExportedByResultlib void rf_add_unsvertex_at_ofo_d_ftn (RFINTEGER4 ret, RFInterface **info, REAL loc, RFINTEGER4 bv, RFINTEGER4 dv)
 This function is provided for convenience. More...

ExportedByResultlib void rf_map_ofo_vertices_ftn (RFINTEGER4 ret, RFInterface **info)
 Cause the definition of the node coordinates in the case of random numbering of nodes. More...

ExportedByResultlib void rf_add_elements_id_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype, RFINTEGER4 neles, RFINTEGER4 connect, RFINTEGER4 iOrd, RFINTEGER4 famid, RFINTEGER4 nodes_app_num)
 Create a new unstructured element of specified type. More...

ExportedByResultlib void rf_add_elements_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 eltype, RFINTEGER4 neles, RFINTEGER4 connect, RFINTEGER4 iOrd, RFINTEGER4 family_given, RFINTEGER4 nodes_app_num)
 Create a new unstructured elements of specified type. More...

ExportedByResultlib void rf_add_group_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 id )
 Creates a new family. More...

ExportedByResultlib void rf_create_group_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 famid )
 Creates a new family. More...

ExportedByResultlib void rf_create_group_by_pid_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 famid )
 Create a new family. More...

ExportedByResultlib void rf_rename_group_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 famid )
 Change name of family of specified family id. More...

ExportedByResultlib void rf_add_element_to_group_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 elnum, CHARACTER*(*) name )
 Put element into specified family name. More...

ExportedByResultlib void rf_add_element_to_group_bybid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 elnum, RFINTEGER4 bid)
 Put element into family of specified backend id. More...

ExportedByResultlib void rf_add_element_to_group_bypid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 elnum, RFINTEGER4 famid)
 Put element into specified family id. More...

ExportedByResultlib void rf_add_faces_to_group_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nfaces, RFINTEGER4 faces, RFINTEGER4 iOrd, CHARACTER*(*) name )
 Add a set of faces to family of specified name. More...

ExportedByResultlib void rf_add_faces_to_group_bybid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nfaces, RFINTEGER4 faces, RFINTEGER4 iOrd, RFINTEGER4 bid)
 Add a set of faces to family of specified backend identication number. More...

ExportedByResultlib void rf_add_faces_to_group_bypid_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nfaces, RFINTEGER4 faces, RFINTEGER4 iOrd, RFINTEGER4 famid)
 Add a set of faces to family of specified family identication number. More...

ExportedByResultlib void rf_groups_are_done_ftn (RFINTEGER4 ret, RFInterface **info)
 Assign all elements an id. More...

ExportedByResultlib void rf_groups_done_ftn (RFINTEGER4 ret, RFInterface **info)
 Synonym for rf_groups_are_done_ftn().

ExportedByResultlib void rf_add_result_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 type, RFINTEGER4 idnum, RFINTEGER4 prec, RFINTEGER4 source, RFINTEGER4 isv, CHARACTER*(*) srcn, RFINTEGER4 nd, RFINTEGER4 rind_lay )
 Add a new result for backend. More...

ExportedByResultlib void rf_add_unique_result_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) name, RFINTEGER4 type, RFINTEGER4 idnum, RFINTEGER4 prec, RFINTEGER4 source, RFINTEGER4 isv, CHARACTER*(*) srcn, RFINTEGER4 nd, RFINTEGER4 rind_lay )
 Add a new result for backend. More...

ExportedByResultlib void rf_rename_result_ftn (RFINTEGER4 ret, RFInterface **info, CHARACTER*(*) oldName, CHARACTER*(*) newName )
 Rename the specified result to a new name. More...

ExportedByResultlib void rf_rename_result_find_byidnum_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 id, CHARACTER*(*) newName )
 Rename the specified result to a new name. More...

ExportedByResultlib void rf_load_datum_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 to_prec, void *to_p, RFINTEGER4 to_idx, RFINTEGER4 from_prec, void *from_p, RFINTEGER4 from_idx)
 Utility method to load a destination array of specified precision at a specified index to a value from a source array of potentially different specified precision and index. More...

ExportedByResultlib void rf_volume_orient_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 fix)
 Check and fix volume orientation problems in the mesh. More...

ExportedByResultlib void rf_after_edit_update_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 nb, RFINTEGER4 upn, RFINTEGER4 upc)
 Update various counters in the mesh represntation after a number of edits have been completed. More...

ExportedByResultlib void rf_mesh_done_ftn (RFINTEGER4 ret, RFInterface **info)
 Put result object into the 'editing' state. More...

ExportedByResultlib void rf_cells_done_ftn (RFINTEGER4 ret, RFInterface **info)
 Mark that cells have been read. More...

ExportedByResultlib void rf_mark_mesh_fromrep_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 tstep)
 Signal that the mesh representation holds the mesh and therefore the mesh is 'complete'. More...

ExportedByResultlib void rf_mark_mesh_read_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 tstep)
 Signal that loading of all mesh is complete. More...

ExportedByResultlib void rf_mark_cells_read_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 tstep)
 Signal that loading of all elements is complete. More...

ExportedByResultlib void rf_uniq_init_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 tstep, RFINTEGER4 edit_what)
 Carry out edits specified by the mask of possible edits. More...

ExportedByResultlib void rf_remove_unusedvtx_ftn (RFINTEGER4 ret, RFInterface **info)
 Remove all unused vertices. More...

ExportedByResultlib void rf_uniq_addfaces_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 famid, RFINTEGER4 nfaces, RFINTEGER4 faces, RFINTEGER4 okay, RFINTEGER4 iOrd)
 Add faces to family famid. More...

ExportedByResultlib void rf_remove_duplicate_ftn (RFINTEGER4 ret, RFInterface **info)
 Remove duplicate elements. More...

ExportedByResultlib void rf_delete_family_ftn (RFINTEGER4 ret, RFInterface **info, RFINTEGER4 famid, RFINTEGER4 notvol)
 Delete all elements in the specified family. More...

ExportedByResultlib void rf_noORFNpid_ftn (RFINTEGER4 ret, RFInterface **info)
 Put elements currently in ORFN into a specific family name. More...

ExportedByResultlib void rf_reconcile_pids_ftn (RFINTEGER4 ret, RFInterface **info, RFMeshInterface **mi, RFINTEGER4 noORFN)
 Reconcile the family names and ids in mesh mi with those in current mesh. More...

ExportedByResultlib void rf_set_debug_ftn (RFINTEGER4 ret, RFInterface **info)
 Set debug mode. More...

ExportedByResultlib void rf_clear_debug_ftn (RFINTEGER4 ret, RFInterface **info)
 Clear debug mode. More...

ExportedByResultlib void rf_is_debug_ftn (RFINTEGER4 ret, RFInterface **info)
 Is result library in debug mode? More...


Detailed Description

FORTRAN interface to the result library.

Not as fully featured as either the C or C++ interface. In particular, the FORTRAN interface does not implement any C interface that returns a C structure or a pointer to a C structure. Users interested in using these interfaces should simply write, or interface from FORTRAN to those functions in C or C++.

RFInterface **, RFMeshInterface **, rfobj_impl **, RFImpl ** all must be integer variables large enough to hold a pointer on the machine. For 32 bit machines, this is INTEGER*4. On 64 bit machines, this is INTEGER*8.

VINTEGER is a FORTRAN return of natural integer length on machine.

INTEGER is FORTRAN argument of natural integer length on machine.

RFINTEGER4 is FORTRAN argument of a INTEGER*4 variable.

REAL is FORTRAN argument of a REAL*8 variable or array.

float * is FORTRAN argument of a REAL*4 variable or array.

void * is a FORTRAN REAL*8 or REAL*4 array.

void ** is a pointer to anonymous FORTRAN data. This would, for instance be a FORTRAN data structure if compilers on the machine support structure data types. Anonymous data is used in enumeration callback routines. Users can by bypass this mechanism to pass anonymous data to a FORTRAN enumeration callbacks by using FORTRAN common blocks instead.

CHARACTER*(*) FORTRAN character string. The FORTRAN compiler provides string length arguments automatically. These arguments are not detailed in the in the interface documentation.

Users of the FORTRAN interface should be aware of the following. Structured domains, families, results, parameters and times are all indexed quantities. Families, and results have a seperate non-negative user assigned identification number. FORTRAN interface calls where the user must specify or recieve an INDEX (as opposed to an invariant identification number), have the indexing starting at 1. This is to allow users to directly index into arrays in FORTRAN.

The interfaces are self consistant and generally there is no issue. However, if users mix usage of the C/C++ interface and the FORTRAN interface, take account of this fact. The documentation notes in the FORTRAN interface the numbering of indices (as in numbered [1, n]) as different from the C/C++ interface (numbered [0, n-1]).

Finally, the node offset is a user assigned number. Generally, the node offset for FORTRAN written files will be 1, but the user must call to set the proper value for the result format or mesh they are building.

See also:
readexuns_ftn.f , example_struct_ftn.f , example_uns_ftn.f

Revision: 1.6
on
Date: 2004/07/28 17:26:56
Source: /home/josie/cvs/resultlib/results_ftn.c,v

Copyright (c) 1996-2000 ICEM CFD Engineering Copyright (c) 2001-2002 ICEM CFD Engineering a subsidary of ANSYS Inc.

Author(s):
Forest Rouse


Define Documentation

#define rf_nilfunc
 

Initializer:

\
(rf_generic_ftnfunc) (FMCALL(rfmi_nilfunc_ftn, RFMI_NILFUNC_FTN))
Shorthand for comparision in rfmi_create_ftnback_ftn().


Typedef Documentation

typedef RFVINTEGER4 (* rf_userparseinit_func_ftn)(RFInterface **info, CHARACTER*(*) buf, RFINTEGER4 j, CHARACTER*(*) file, CHARACTER*(*) format, CHARACTER*(*) zonemask, CHARACTER*(*) decfile)
 

This callback routine parses the inputinit command line from front end and returns the set of files to be opened.

Only difference with rf_userparseinit_func is that only 1 result file specification can be described as opposed to multiple result file specifications. Multiple result file specifications can be used in transient problems for instance.

See also:
rf_userparseinit_func
Parameters:
info   result interface. Passed by caller.
buf   inputinit line from visual3. Passed by caller.
j   how many fields parsed on standard inputinit command line. Passed by caller.
file   generally file name on inputinit line. Passed by caller.
format   generally format on inputinit line. Passed by caller.
zonemask   generally zonemask on inputinit line. Passed by caller.
decfile   actual decoded file descriptor from input line. Only one file descriptor can be described using FORTRAN. Returned to caller.
Returns:
1 if inputinit line is valid, 0 if not.

typedef RFVINTEGER4 (* rf_userexternalload_func_ftn)(RFInterface **info, CHARACTER*(*) file, RFINTEGER4 d_tstep, RFINTEGER4 d_prec, RFINTEGER4 nnodes)
 

This callback routine should be used to open (or internally note) the nfiles requested.

Difference with rf_userexternalload_func is that only one result file specification can be described.

See also:
rf_userexternalload_func
Parameters:
info   result interface.
nfiles   number of files the reader handle.
files   pointer to list of file names the reader must handle.
d_tstep   default time step to be read. Returned to caller.
d_prec   default precision that should be used for nodes and results. Returned to caller.
nnodes   number of node coordinates in model. Returned to caller. used as hint for performance of mesh implementation.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_userexternalclose_func_ftn)(RFInterface **info)
 

This callback function closes the open files in the reader.

See also:
rf_userexternalclose_func
Parameters:
info   result interface. Passed by caller.

typedef RFVINTEGER4 (* rf_userfiledesc_func_ftn)(RFInterface **info, RFINTEGER4 nnodes, RFINTEGER4 tstep)
 

Callback function that can be used to simply determine and specify the number of nodes, elements, and define results.

See also:
rf_userfiledesc_func
Parameters:
info   result interface. Passed by caller.
nnodes   hinted number of nodes. Not guaranteed to be correct. Returned to caller.
tstep   time step to read. Numbered [1, n]. Passed by caller.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_userexternalgrid_func_ftn)(RFInterface **info, RFINTEGER4 tstep)
 

Callback function that is used to read grid.

See also:
rf_userexternalgrid_func
Parameters:
info   result interface. Passed by caller.
tstep   time step to read. Numbered [1, n]. Passed by caller.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_userexternalelements_func_ftn)(RFInterface **info, RFINTEGER4 tstep)
 

Callback function that is used to read elements.

Should be specified for rfmi_create_cback() if file can be unstructured mesh.

Parameters:
info   result interface. Passed by caller.
tstep   time step to read. Numbered [1, n]. Passed by caller.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_userexternalgroups_func_ftn)(RFInterface **info, RFINTEGER4 tstep)
 

Callback function that is used to group elements into families.

See also:
rf_userexternalgroups_func
Parameters:
info   result interface. Passed by caller.
tstep   time step to read. Numbered [1, n]. Passed by caller.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_userexternalpostmesh_func_ftn)(RFInterface **info, RFINTEGER4 tstep)
 

Callback function that can be used to define results or carry out any other post mesh definition functions.

See also:
rf_userexternalpostmesh_func
Parameters:
info   result interface. Passed by caller.
tstep   time step to read. Numbered [1, n]. Passed by caller.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_loadscalarbackend_func_ftn)(RFInterface **info, RFINTEGER4 idnum, CHARACTER*(*) name, RFINTEGER4 nvals, RFINTEGER4 type, void *values, RFINTEGER4 skip, RFINTEGER4 prec, RFINTEGER4 tstep)
 

Callback function used to return requested results to caller.

See also:
rf_loadscalarbackend_func
Parameters:
info   result interface. Passed by caller.
idnum   reader result identification number. Numbered [1, n]. Passed by caller.
name   result name. Passed by caller.
type   entity type the caller requests result on. Passed by caller.
values   array of precision prec the routine must fill. Returned to caller.
skip   number of entries in values to skip per result. Passed by caller.
prec   the precision of the values array. Passed by caller.
tstep   time step to read. Numbered [1, n]. Passed by caller.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_userexternalblank_func_ftn)(RFInterface **info, RFINTEGER4 ib, RFINTEGER4 tstep)
 

Callback function to define blanking data structure for structured meshes.

See also:
rf_userexternalblank_func
Parameters:
info   result interface. Passed by caller.
ib   blanking data. Passed by and returned to caller.
tstep   time step to read. Numbered [1, n]. Passed by caller.
Returns:
1 = success, 0 = failure.

typedef RFVINTEGER4 (* rf_freelocaldata_func_ftn)(RFInterface **info, void **data)
 

Callback function to delete user created anonymous data.

See also:
rf_freelocaldata_func
Parameters:
info   result interface. Passed by caller.
data   user created data structure to be freed.


Function Documentation

ExportedByResultlib char * rf_ftn_to_c_string ( char * str,
int len )
 

For internal use only.

ExportedByResultlib void rf_c_to_ftn_string ( char * str,
int len )
 

For internal use only.

ExportedByResultlib void rf_getimpl_ftn ( rfobj_impl ** ret,
RFInterface ** info )
 

Return backend implementation.

Parameters:
ret   result object implementation. Returned to caller.
info   result interface object. Input from user.
See also:
rf_getImpl()

ExportedByResultlib void rf_getresults_obj_ftn ( rfobj_impl ** ret,
RFInterface ** info )
 

Return result object implementation.

Parameters:
ret   result object implementation. Returned to caller.
info   result interface object. Input from user.
See also:
rf_getResults_obj()

ExportedByResultlib void rf_getmesh_interface_ftn ( RFMeshInterface ** ret,
RFInterface ** info )
 

Return mesh interface implementation.

Parameters:
ret   mesh interface implementation. Returned to caller.
info   result interface object. Input from user.
See also:
rf_getmesh_interface()

ExportedByResultlib void rf_backend_for_ftn ( RFInterface ** ret,
RFImpl ** factory,
rfobj_impl ** rfobj,
RFMeshInterface ** mi,
CHARACTER *(*) be,
RFINTEGER4 frc )
 

Return result interface object representing specified backend.

Usually users will only need to use rf_open_ftn().

Parameters: