OpenCMISS-Iron Internal API Documentation
fieldml_output_routines Module Reference

Output routines for FieldML. More...

Data Types

type  basis_info_type
 
type  connectivity_info_type
 
interface  fieldml_output_add_field
 

Functions/Subroutines

subroutine fieldml_assert_is_out (FIELDML_INFO, ERR, ERROR,)
 Asserts that the FieldML Info is associated and created for output. More...
 
subroutine fieldml_output_get_collapse_suffix (COLLAPSE_INFO, SUFFIX, ERR, ERROR,)
 Get the text suffix corresponding to the given array of collapse constants. More...
 
integer(intg) function fieldml_output_import_fml (FML_HANDLE, REMOTE_NAME, ERR, ERROR)
 Import the named object from the built-in library into the current FieldML document. The local name will be the same as the remote name. More...
 
integer(intg) function fieldml_output_import (FIELDML_INFO, REMOTE_NAME, ERR, ERROR)
 Import the named object from the built-in library into the current FieldML document. The local name will be the same as the remote name. More...
 
integer(intg) function, public fieldml_output_add_import (FIELDML_INFO, REMOTE_NAME, ERR, ERROR)
 Import the named object from the built-in library into the current FieldML document. The local name will be the same as the remote name. More...
 
integer(intg) function fieldml_output_import_handle (FML_HANDLE, HANDLE, ERR, ERROR)
 Import the given FieldML object if it is not already imported or local. More...
 
integer(intg) function fieldml_output_get_type_argument_handle (FIELDML_INFO, TYPE_HANDLE, DO_IMPORT, ERR, ERROR)
 Get the argument corresponding to the given type (named *.argument), importing it if needed. More...
 
subroutine fieldml_output_get_coordinates_type (FIELDML_HANDLE, COORDS_TYPE, DIMENSIONS, DO_IMPORT, TYPE_HANDLE, ERR, ERROR,)
 Get the FieldML built-in library type corresponding to the given OpenCMISS coordinate system type. More...
 
subroutine fieldml_output_get_generic_type (FIELDML_HANDLE, DIMENSIONS, TYPE_HANDLE, DO_IMPORT, ERR, ERROR,)
 Returns a generic n-dimensional real type from the built-in library. More...
 
subroutine fieldml_output_get_xi_type (FIELDML_HANDLE, DIMENSIONS, DO_IMPORT, TYPE_HANDLE, ERR, ERROR,)
 Returns a type in the built-in library corresponding to a chart of the given dimensionality. More...
 
subroutine fieldml_output_get_value_type (FML_HANDLE, FIELD, VARIABLE_TYPE, DO_IMPORT, TYPE_HANDLE, ERR, ERROR,)
 Returns a FieldML type appropriate for the given OpenCMISS field. More...
 
subroutine fieldml_output_get_tp_basis_evaluator (FML_HANDLE, XI_INTERPOLATIONS, COLLAPSE_INFO, EVALUATOR_HANDLE, PARAMETERS_HANDLE, ERR, ERROR,)
 Get an evaluator from the built-in library that corresponds to the given OpenCMISS tensor-product basis. More...
 
subroutine fieldmloutputgetsimplexbasisevaluator (fmlHandle, xiInterpolations, evaluatorHandle, parametersHandle, err, error,)
 Get an evaluator from the built-in library that corresponds to the given OpenCMISS simplex basis. Currently does not support collapsed bases. More...
 
subroutine fieldml_output_get_tp_connectivity_type (FIELDML_HANDLE, XI_INTERPOLATIONS, COLLAPSE_INFO, DO_IMPORT, TYPE_HANDLE, ERR, ERROR,)
 Return the FieldML connectivity ensemble corresponding to the given tensor-product basis info. More...
 
subroutine fieldmloutputgetsimplexconnectivitytype (fieldmlHandle, xiInterpolations, doImport, typeHandle, err, error,)
 Return the FieldML connectivity ensemble corresponding to the given simplex basis info. More...
 
subroutine fieldml_output_get_connectivity_ensemble (FIELDML_HANDLE, BASIS, TYPE_HANDLE, ERR, ERROR,)
 Get the connectivity ensemble for the given basis. Currently, only tensor-product bases are supported. More...
 
integer(intg) function fieldml_output_find_layout (CONNECTIVITY_INFO, LAYOUT_HANDLE, ERR, ERROR)
 Returns the index of the layout handle used by the given connectivity info array, or -1 if none can be found. More...
 
integer(intg) function fieldml_output_find_basis (BASIS_INFO, BASIS, ERR, ERROR)
 Returns the index of the basis handle used by the given basis info array, or -1 if none can be found. More...
 
subroutine fieldml_output_get_simple_layout_name (FML_HANDLE, LAYOUT_HANDLE, NAME, ERR, ERROR,)
 Returns the simplified name of the given layout. This is used for naming associated connectivity evaluators. More...
 
subroutine fieldml_output_get_simple_basis_name (FML_HANDLE, BASIS_HANDLE, NAME, ERR, ERROR,)
 Returns the simplified name of the given basis. This is used for naming associated reference evaluators. More...
 
subroutine fieldml_output_create_basis_reference (FIELDML_INFO, BASE_NAME, BASIS_INFO, ERR, ERROR,)
 Create a basis evaluator from the given basis info. More...
 
subroutine fieldml_output_create_layout_parameters (FIELDML_INFO, LAYOUT_HANDLE, COMPONENT_NAME, CONNECTIVITY_INFO, ERR, ERROR,)
 Create a parameter evaluator for the given local node layout. More...
 
subroutine fieldml_output_add_mesh_component (FIELDML_INFO, BASE_NAME, CONNECTIVITY_FORMAT, COMPONENT_NUMBER, MESH_ELEMENTS, ERR, ERROR,)
 Add an evaluator corresponding to the given component of the given OpenCMISS mesh. More...
 
subroutine fieldml_output_add_field_node_dofs (FIELDML_INFO, BASE_NAME, DOF_FORMAT, TYPE_HANDLE, FIELD, FIELD_COMPONENT_NUMBERS, VARIABLE_TYPE, SET_TYPE, NODE_DOFS_HANDLE, ERR, ERROR,)
 Create a parameter evaluator and associated data source containing the nodal dofs for the given field components. More...
 
subroutine fieldml_output_add_field_element_dofs (FIELDML_INFO, BASE_NAME, DOF_FORMAT, TYPE_HANDLE, FIELD, FIELD_COMPONENT_NUMBERS, VARIABLE_TYPE, SET_TYPE, ELEMENT_DOFS_HANDLE, ERR, ERROR,)
 Create a parameter evaluator and associated data source containing the element dofs for the given field components. More...
 
subroutine fieldml_output_add_field_constant_dofs (FIELDML_INFO, BASE_NAME, DOF_FORMAT, TYPE_HANDLE, FIELD, FIELD_COMPONENT_NUMBERS, VARIABLE_TYPE, SET_TYPE, CONSTANT_DOFS_HANDLE, ERR, ERROR,)
 Create a parameter evaluator and associated data source containing the globally constant dofs for the given field components. More...
 
subroutine, public fieldml_output_initialise_info (MESH, LOCATION, BASE_NAME, CONNECTIVITY_FORMAT, FIELDML_INFO, ERR, ERROR,)
 Initialize the given FieldML parsing state for use with the given mesh. More...
 
subroutine, public fieldml_output_add_field_components (FIELDML_INFO, TYPE_HANDLE, BASE_NAME, DOF_FORMAT, FIELD, FIELD_COMPONENT_NUMBERS, VARIABLE_TYPE, SET_TYPE, ERR, ERROR,)
 Add the components of the given field to the given FieldML evaluator, creating component templates as needed. More...
 
subroutine fieldml_output_add_field_no_type (FIELDML_INFO, BASE_NAME, DOF_FORMAT, FIELD, VARIABLE_TYPE, SET_TYPE, ERR, ERROR,)
 Add the given field to the given FieldML document. The field's type will be determined by FieldmlUtilGetValueType. More...
 
subroutine fieldml_output_add_field_with_type (FIELDML_INFO, BASE_NAME, DOF_FORMAT, FIELD, VARIABLE_TYPE, SET_TYPE, TYPE_HANDLE, ERR, ERROR,)
 Add the given field to the given FieldML document using the given FieldML type. More...
 
subroutine, public fieldml_output_write (FIELDML_INFO, FILENAME, ERR, ERROR,)
 Write the given FieldML document to the given file. More...
 

Detailed Description

Output routines for FieldML.

Function/Subroutine Documentation

subroutine fieldml_output_routines::fieldml_assert_is_out ( type(fieldml_io_type), pointer  FIELDML_INFO,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Asserts that the FieldML Info is associated and created for output.

Parameters
fieldml_infoThe FieldML parsing state.
[out]errThe error code
[out]errorThe error string.

Definition at line 101 of file fieldml_output_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by fieldml_output_add_field_components(), fieldml_output_add_field_no_type(), fieldml_output_add_field_with_type(), fieldml_output_add_import(), and fieldml_output_write().

subroutine, public fieldml_output_routines::fieldml_output_add_field_components ( type(fieldml_io_type), pointer  FIELDML_INFO,
integer(intg), intent(in)  TYPE_HANDLE,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  DOF_FORMAT,
type(field_type), intent(in), pointer  FIELD,
integer(intg), dimension(:), intent(in)  FIELD_COMPONENT_NUMBERS,
integer(intg), intent(in)  VARIABLE_TYPE,
integer(intg), intent(in)  SET_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Add the components of the given field to the given FieldML evaluator, creating component templates as needed.

Parameters
fieldml_infoThe FieldML parsing state.
[in]type_handleThe FieldML type handle for the field.
[in]base_nameThe root name of the basis evaluator.
[in]dof_formatThe name of the format to use when writing dof data.
[in]fieldThe field for which dof components are to be created.
[in]field_component_numbersThe field component numbers for which evaluators are to be created.
[in]variable_typeThe OpenCMISS variable type to generate dofs for.
[in]set_typeThe parameter set type.
[out]errThe error code.
[out]errorThe error string.

Definition at line 2120 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_assert_is_out(), fieldml_output_add_field_constant_dofs(), fieldml_output_add_field_element_dofs(), fieldml_output_add_field_node_dofs(), and fieldml_output_get_type_argument_handle().

Referenced by fieldml_output_add_field_with_type().

subroutine fieldml_output_routines::fieldml_output_add_field_constant_dofs ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  DOF_FORMAT,
integer(intg), intent(in)  TYPE_HANDLE,
type(field_type), intent(in), pointer  FIELD,
integer(intg), dimension(:), intent(in)  FIELD_COMPONENT_NUMBERS,
integer(intg), intent(in)  VARIABLE_TYPE,
integer(intg), intent(in)  SET_TYPE,
integer(intg), intent(inout)  CONSTANT_DOFS_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Create a parameter evaluator and associated data source containing the globally constant dofs for the given field components.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]base_nameThe root name of the basis evaluator.
[in]dof_formatThe name of the format to use when writing dof data.
[in]type_handleThe FieldML type handle for the field.
[in]fieldThe field for which dof evaluators are to be created.
[in]field_component_numbersThe field component numbers for which dof evaluators are to be created.
[in]variable_typeThe OpenCMISS variable type to generate dofs for.
[in]set_typeThe parameter set type.
[in,out]constant_dofs_handleThe handle of the constant dofs parameter evaluator.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1808 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_output_get_generic_type(), fieldml_output_get_type_argument_handle(), and fieldml_output_import_handle().

Referenced by fieldml_output_add_field_components().

subroutine fieldml_output_routines::fieldml_output_add_field_element_dofs ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  DOF_FORMAT,
integer(intg), intent(in)  TYPE_HANDLE,
type(field_type), intent(in), pointer  FIELD,
integer(intg), dimension(:), intent(in)  FIELD_COMPONENT_NUMBERS,
integer(intg), intent(in)  VARIABLE_TYPE,
integer(intg), intent(in)  SET_TYPE,
integer(intg), intent(inout)  ELEMENT_DOFS_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Create a parameter evaluator and associated data source containing the element dofs for the given field components.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]base_nameThe root name of the basis evaluator.
[in]dof_formatThe name of the format to use when writing dof data.
[in]type_handleThe FieldML type handle for the field.
[in]fieldThe field for which dof evaluators are to be created.
[in]field_component_numbersThe field component numbers for which dof evaluators are to be created.
[in]variable_typeThe OpenCMISS variable type to generate dofs for.
[in]set_typeThe parameter set type.
[in,out]element_dofs_handleThe handle of the element dofs parameter evaluator.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1671 of file fieldml_output_routines.f90.

References base_routines::exits(), fieldml_output_get_generic_type(), fieldml_output_get_type_argument_handle(), and fieldml_output_import_handle().

Referenced by fieldml_output_add_field_components().

subroutine fieldml_output_routines::fieldml_output_add_field_no_type ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  DOF_FORMAT,
type(field_type), intent(in), pointer  FIELD,
integer(intg), intent(in)  VARIABLE_TYPE,
integer(intg), intent(in)  SET_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Add the given field to the given FieldML document. The field's type will be determined by FieldmlUtilGetValueType.

See also
Fieldml_Util_Routines::FieldmlUtilGetValueType
Parameters
fieldml_infoThe FieldML parsing state.
[in]base_nameThe root name of the basis evaluator.
[in]dof_formatThe name of the format to use when writing dof data.
[in]fieldThe field for which evaluators are to be created.
[in]variable_typeThe OpenCMISS variable type to generate dofs for.
[in]set_typeThe parameter set type.
[out]errThe error code.
[out]errorThe error string.

Definition at line 2242 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_assert_is_out(), fieldml_output_add_field_with_type(), and fieldml_output_get_value_type().

subroutine fieldml_output_routines::fieldml_output_add_field_node_dofs ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  DOF_FORMAT,
integer(intg), intent(in)  TYPE_HANDLE,
type(field_type), intent(in), pointer  FIELD,
integer(intg), dimension(:), intent(in)  FIELD_COMPONENT_NUMBERS,
integer(intg), intent(in)  VARIABLE_TYPE,
integer(intg), intent(in)  SET_TYPE,
integer(intg), intent(inout)  NODE_DOFS_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Create a parameter evaluator and associated data source containing the nodal dofs for the given field components.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]base_nameThe root name of the basis evaluator.
[in]dof_formatThe name of the format to use when writing dof data.
[in]type_handleThe FieldML type handle for the field.
[in]fieldThe field for which dof evaluators are to be created.
[in]field_component_numbersThe field component numbers for which dof evaluators are to be created.
[in]variable_typeThe OpenCMISS variable type to generate dofs for.
[in]set_typeThe parameter set type.
[in,out]node_dofs_handleThe handle of the nodal dofs parameter evaluator.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1507 of file fieldml_output_routines.f90.

References comp_environment::computational_node_number_get(), base_routines::enters(), base_routines::exits(), fieldml_output_get_generic_type(), fieldml_output_get_type_argument_handle(), fieldml_output_import_handle(), and constants::no_global_deriv.

Referenced by fieldml_output_add_field_components().

subroutine fieldml_output_routines::fieldml_output_add_field_with_type ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  DOF_FORMAT,
type(field_type), intent(in), pointer  FIELD,
integer(intg), intent(in)  VARIABLE_TYPE,
integer(intg), intent(in)  SET_TYPE,
integer(intg), intent(in)  TYPE_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Add the given field to the given FieldML document using the given FieldML type.

Parameters
fieldml_infoThe FieldML parsing state.
[in]base_nameThe root name of the basis evaluator.
[in]dof_formatThe name of the format to use when writing dof data.
[in]fieldThe field for which evaluators are to be created.
[in]variable_typeThe OpenCMISS variable type to generate dofs for.
[in]set_typeThe parameter set type.
[in]type_handleThe FieldML type handle for the field.
[out]errThe error code.
[out]errorThe error string.

Definition at line 2278 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_assert_is_out(), and fieldml_output_add_field_components().

Referenced by fieldml_output_add_field_no_type().

integer(intg) function, public fieldml_output_routines::fieldml_output_add_import ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  REMOTE_NAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Import the named object from the built-in library into the current FieldML document. The local name will be the same as the remote name.

Parameters
fieldml_infoThe FieldML parsing state.
[in]remote_nameThe name of the object to import.
[out]errThe error code.
[out]errorThe error string

Definition at line 220 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_assert_is_out(), and fieldml_output_import_fml().

subroutine fieldml_output_routines::fieldml_output_add_mesh_component ( type(fieldml_io_type), intent(inout)  FIELDML_INFO,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  CONNECTIVITY_FORMAT,
integer(intg), intent(in)  COMPONENT_NUMBER,
type(meshelementstype), intent(in), pointer  MESH_ELEMENTS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Add an evaluator corresponding to the given component of the given OpenCMISS mesh.

Parameters
[in,out]fieldml_infoThe FieldML parsing state.
[in]base_nameThe root name of the basis evaluator.
[in]connectivity_formatThe name of the format to use when writing connectivity data.
[in]component_numberThe mesh component number for which an evaluator should be constructed.
[in]mesh_elementsThe mesh element from which to obtain topology info.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1300 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_output_create_basis_reference(), fieldml_output_create_layout_parameters(), fieldml_output_find_basis(), fieldml_output_find_layout(), and fieldml_output_get_connectivity_ensemble().

Referenced by fieldml_output_initialise_info().

subroutine fieldml_output_routines::fieldml_output_create_basis_reference ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
type(varying_string), intent(in)  BASE_NAME,
type(basis_info_type), intent(inout)  BASIS_INFO,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Create a basis evaluator from the given basis info.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]base_nameThe root name of the basis evaluator.
[in,out]basis_infoThe basis info describing the basis to create.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1080 of file fieldml_output_routines.f90.

References basis_routines::basis_collapsed_xi_get(), basis_routines::basis_interpolation_xi_get(), basis_routines::basis_lagrange_hermite_tp_type, basis_routines::basis_number_of_xi_get(), basis_routines::basis_simplex_type, basis_routines::basis_type_get(), base_routines::enters(), base_routines::exits(), fieldml_output_get_simple_basis_name(), fieldml_output_get_tp_basis_evaluator(), fieldml_output_get_type_argument_handle(), fieldml_output_get_xi_type(), and fieldmloutputgetsimplexbasisevaluator().

Referenced by fieldml_output_add_mesh_component().

subroutine fieldml_output_routines::fieldml_output_create_layout_parameters ( type(fieldml_io_type), intent(inout)  FIELDML_INFO,
integer(intg), intent(in)  LAYOUT_HANDLE,
type(varying_string), intent(in)  COMPONENT_NAME,
type(connectivity_info_type), intent(inout)  CONNECTIVITY_INFO,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Create a parameter evaluator for the given local node layout.

Parameters
[in,out]fieldml_infoThe FieldML parsing state.
[in]layout_handleThe local node layout.
[in]component_nameThe component name.
[in,out]connectivity_infoThe connectivity info for the local node layout.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1245 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_output_get_simple_layout_name(), and fieldml_output_get_type_argument_handle().

Referenced by fieldml_output_add_mesh_component().

integer(intg) function fieldml_output_routines::fieldml_output_find_basis ( type(basis_info_type), dimension(:), intent(in)  BASIS_INFO,
type(basis_type), intent(in), pointer  BASIS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the index of the basis handle used by the given basis info array, or -1 if none can be found.

Parameters
[in]basis_infoThe basis info array to search.
[in]basisThe basis handle to search for.
[out]errThe error code.
[out]errorThe error string

Definition at line 973 of file fieldml_output_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by fieldml_output_add_mesh_component().

integer(intg) function fieldml_output_routines::fieldml_output_find_layout ( type(connectivity_info_type), dimension(:), intent(in)  CONNECTIVITY_INFO,
integer(intg), intent(in)  LAYOUT_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the index of the layout handle used by the given connectivity info array, or -1 if none can be found.

Parameters
[in]connectivity_infoThe connectivity info array to search.
[in]layout_handleThe local node layout handle to search for.
[out]errThe error code.
[out]errorThe error string

Definition at line 940 of file fieldml_output_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by fieldml_output_add_mesh_component().

subroutine fieldml_output_routines::fieldml_output_get_collapse_suffix ( integer(intg), dimension(:), intent(in)  COLLAPSE_INFO,
type(varying_string), intent(inout)  SUFFIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Get the text suffix corresponding to the given array of collapse constants.

Parameters
[in]collapse_infoThe collapse into from which to generate the suffix.
[in,out]suffixThe suffix string encoding the collapse info.
[out]errThe error code.
[out]errorThe error string

Definition at line 127 of file fieldml_output_routines.f90.

References basis_routines::basis_collapsed_at_xi0, basis_routines::basis_collapsed_at_xi1, basis_routines::basis_xi_collapsed, base_routines::enters(), and base_routines::exits().

Referenced by fieldml_output_get_tp_basis_evaluator(), and fieldml_output_get_tp_connectivity_type().

subroutine fieldml_output_routines::fieldml_output_get_connectivity_ensemble ( integer(intg), intent(in)  FIELDML_HANDLE,
type(basis_type), pointer  BASIS,
integer(intg), intent(out)  TYPE_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Get the connectivity ensemble for the given basis. Currently, only tensor-product bases are supported.

Parameters
[in]fieldml_handleThe FieldML session handle.
basisThe basis for which to return the connectivity.
[out]type_handleThe FieldML connectivity ensemble.
[out]errThe error code.
[out]errorThe error string

Definition at line 883 of file fieldml_output_routines.f90.

References basis_routines::basis_collapsed_xi_get(), basis_routines::basis_interpolation_xi_get(), basis_routines::basis_lagrange_hermite_tp_type, basis_routines::basis_number_of_xi_get(), basis_routines::basis_simplex_type, basis_routines::basis_type_get(), base_routines::enters(), base_routines::exits(), fieldml_output_get_tp_connectivity_type(), and fieldmloutputgetsimplexconnectivitytype().

Referenced by fieldml_output_add_mesh_component().

subroutine fieldml_output_routines::fieldml_output_get_coordinates_type ( integer(intg), intent(in)  FIELDML_HANDLE,
integer(intg), intent(in)  COORDS_TYPE,
integer(intg), intent(in)  DIMENSIONS,
logical, intent(in)  DO_IMPORT,
integer(intg), intent(out)  TYPE_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Get the FieldML built-in library type corresponding to the given OpenCMISS coordinate system type.

Parameters
[in]fieldml_handleThe FieldML session handle.
[in]coords_typeThe OpenCMISS coordinates type.
[in]dimensionsThe coordinate system's number of dimensions.
[in]do_importIf true, import the FieldML type.
[out]type_handleThe FieldML type corresponding to the given OpenCMISS coordinate system type.
[out]errThe error code.
[out]errorThe error string

Definition at line 344 of file fieldml_output_routines.f90.

References coordinate_routines::coordinate_rectangular_cartesian_type, base_routines::enters(), base_routines::exits(), and fieldml_output_import_fml().

Referenced by fieldml_output_get_value_type().

subroutine fieldml_output_routines::fieldml_output_get_generic_type ( integer(intg), intent(in)  FIELDML_HANDLE,
integer(intg), intent(in)  DIMENSIONS,
integer(intg), intent(out)  TYPE_HANDLE,
logical, intent(in)  DO_IMPORT,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns a generic n-dimensional real type from the built-in library.

Parameters
[in]fieldml_handleThe FieldML session handle.
[in]dimensionsThe number of dimensions of the type.
[out]type_handleThe FieldML type.
[in]do_importIf true, import the type.
[out]errThe error code.
[out]errorThe error string

Definition at line 396 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), and fieldml_output_import_fml().

Referenced by fieldml_output_add_field_constant_dofs(), fieldml_output_add_field_element_dofs(), fieldml_output_add_field_node_dofs(), fieldml_output_get_value_type(), and fieldml_output_initialise_info().

subroutine fieldml_output_routines::fieldml_output_get_simple_basis_name ( integer(intg), intent(in)  FML_HANDLE,
integer(intg), intent(in)  BASIS_HANDLE,
type(varying_string), intent(inout)  NAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the simplified name of the given basis. This is used for naming associated reference evaluators.

Parameters
[in]fml_handleThe FieldML session handle
[in]basis_handleThe basis handle.
[in,out]nameThe simplified name.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1041 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), and constants::maxstrlen.

Referenced by fieldml_output_create_basis_reference().

subroutine fieldml_output_routines::fieldml_output_get_simple_layout_name ( integer(intg), intent(in)  FML_HANDLE,
integer(intg), intent(in)  LAYOUT_HANDLE,
type(varying_string), intent(inout)  NAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns the simplified name of the given layout. This is used for naming associated connectivity evaluators.

Parameters
[in]fml_handleThe FieldML session handle
[in]layout_handleThe local node layout.
[in,out]nameThe simplified name.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1006 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), and constants::maxstrlen.

Referenced by fieldml_output_create_layout_parameters().

subroutine fieldml_output_routines::fieldml_output_get_tp_basis_evaluator ( integer(intg), intent(in)  FML_HANDLE,
integer(intg), dimension(:), intent(in)  XI_INTERPOLATIONS,
integer(intg), dimension(:), intent(in)  COLLAPSE_INFO,
integer(intg), intent(out)  EVALUATOR_HANDLE,
integer(intg), intent(out)  PARAMETERS_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Get an evaluator from the built-in library that corresponds to the given OpenCMISS tensor-product basis.

Parameters
[in]fml_handleThe FieldML session handle
[in]xi_interpolationsThe per-xi interpolations used by the basis.
[in]collapse_infoThe basis collapse info.
[out]evaluator_handleThe evaluator handle for the basis.
[out]parameters_handleThe basis parameters argument evaluator.
[out]errThe error code.
[out]errorThe error string.

Definition at line 538 of file fieldml_output_routines.f90.

References basis_routines::basis_linear_lagrange_interpolation, basis_routines::basis_quadratic_lagrange_interpolation, base_routines::enters(), base_routines::exits(), fieldml_output_get_collapse_suffix(), and fieldml_output_import_fml().

Referenced by fieldml_output_create_basis_reference().

subroutine fieldml_output_routines::fieldml_output_get_tp_connectivity_type ( integer(intg), intent(in)  FIELDML_HANDLE,
integer(intg), dimension(:), intent(in)  XI_INTERPOLATIONS,
integer(intg), dimension(:), intent(in)  COLLAPSE_INFO,
logical, intent(in)  DO_IMPORT,
integer(intg), intent(out)  TYPE_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Return the FieldML connectivity ensemble corresponding to the given tensor-product basis info.

Parameters
[in]fieldml_handleThe FieldML session handle.
[in]xi_interpolationsThe per-xi interpolation of the given TP basis.
[in]collapse_infoThe collapse-constant for the given basis.
[in]do_importIf true, import the connectivity ensemble.
[out]type_handleThe FieldML ensemble handle.
[out]errThe error code.
[out]errorThe error string

Definition at line 724 of file fieldml_output_routines.f90.

References basis_routines::basis_linear_lagrange_interpolation, basis_routines::basis_quadratic_lagrange_interpolation, base_routines::enters(), base_routines::exits(), fieldml_output_get_collapse_suffix(), and fieldml_output_import_fml().

Referenced by fieldml_output_get_connectivity_ensemble().

integer(intg) function fieldml_output_routines::fieldml_output_get_type_argument_handle ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
integer(intg), intent(in)  TYPE_HANDLE,
logical, intent(in)  DO_IMPORT,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Get the argument corresponding to the given type (named *.argument), importing it if needed.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]do_importIf true, import the argument.
[in]type_handleThe type out of whose name the argument name is built.
[out]errThe error code.
[out]errorThe error string

Definition at line 290 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), fieldml_output_import(), and constants::maxstrlen.

Referenced by fieldml_output_add_field_components(), fieldml_output_add_field_constant_dofs(), fieldml_output_add_field_element_dofs(), fieldml_output_add_field_node_dofs(), fieldml_output_create_basis_reference(), and fieldml_output_create_layout_parameters().

subroutine fieldml_output_routines::fieldml_output_get_value_type ( integer(intg), intent(in)  FML_HANDLE,
type(field_type), intent(in), pointer  FIELD,
integer(intg), intent(in)  VARIABLE_TYPE,
logical, intent(in)  DO_IMPORT,
integer(intg), intent(out)  TYPE_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns a FieldML type appropriate for the given OpenCMISS field.

Parameters
[in]fml_handleThe FieldML session handle.
[in]fieldThe field whose type is to be obtained.
[in]variable_typeThe OpenCMISS variable type to generate dofs for.
[in]do_importIf true, import the type.
[out]type_handleThe FieldML type handle.
[out]errThe error code.
[out]errorThe error string

Definition at line 486 of file fieldml_output_routines.f90.

References coordinate_routines::coordinate_system_type_get(), base_routines::enters(), base_routines::exits(), fieldml_output_get_coordinates_type(), fieldml_output_get_generic_type(), and region_routines::region_coordinate_system_get().

Referenced by fieldml_output_add_field_no_type().

subroutine fieldml_output_routines::fieldml_output_get_xi_type ( integer(intg), intent(in)  FIELDML_HANDLE,
integer(intg), intent(in)  DIMENSIONS,
logical, intent(in)  DO_IMPORT,
integer(intg), intent(out)  TYPE_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Returns a type in the built-in library corresponding to a chart of the given dimensionality.

Parameters
[in]fieldml_handleThe FieldML session handle.
[in]dimensionsThe number of dimensions of the chart.
[in]do_importIf true, import the type.
[out]type_handleThe FieldML type.
[out]errThe error code.
[out]errorThe error string

Definition at line 441 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), and fieldml_output_import_fml().

Referenced by fieldml_output_create_basis_reference().

integer(intg) function fieldml_output_routines::fieldml_output_import ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
type(varying_string), intent(in)  REMOTE_NAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Import the named object from the built-in library into the current FieldML document. The local name will be the same as the remote name.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]remote_nameThe name of the object to import.
[out]errThe error code.
[out]errorThe error string

Definition at line 195 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), and fieldml_output_import_fml().

Referenced by fieldml_output_get_type_argument_handle(), and fieldml_output_initialise_info().

integer(intg) function fieldml_output_routines::fieldml_output_import_fml ( integer(intg), intent(in)  FML_HANDLE,
type(varying_string), intent(in)  REMOTE_NAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Import the named object from the built-in library into the current FieldML document. The local name will be the same as the remote name.

Parameters
[in]fml_handleThe FieldML session handle.
[in]remote_nameThe name of the object to import.
[out]errThe error code.
[out]errorThe error string

Definition at line 162 of file fieldml_output_routines.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by fieldml_output_add_import(), fieldml_output_get_coordinates_type(), fieldml_output_get_generic_type(), fieldml_output_get_tp_basis_evaluator(), fieldml_output_get_tp_connectivity_type(), fieldml_output_get_xi_type(), fieldml_output_import(), fieldmloutputgetsimplexbasisevaluator(), and fieldmloutputgetsimplexconnectivitytype().

integer(intg) function fieldml_output_routines::fieldml_output_import_handle ( integer(intg), intent(in)  FML_HANDLE,
integer(intg), intent(in)  HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Import the given FieldML object if it is not already imported or local.

Parameters
[in]fml_handleThe FieldML session handle.
[in]handleThe FieldML object to import.
[out]errThe error code.
[out]errorThe error string

Definition at line 246 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), and constants::maxstrlen.

Referenced by fieldml_output_add_field_constant_dofs(), fieldml_output_add_field_element_dofs(), and fieldml_output_add_field_node_dofs().

subroutine, public fieldml_output_routines::fieldml_output_initialise_info ( type(mesh_type), intent(in), pointer  MESH,
type(varying_string), intent(in)  LOCATION,
type(varying_string), intent(in)  BASE_NAME,
type(varying_string), intent(in)  CONNECTIVITY_FORMAT,
type(fieldml_io_type), pointer  FIELDML_INFO,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Initialize the given FieldML parsing state for use with the given mesh.

Parameters
[in]meshThe mesh with which the FieldML document is associated.
[in]locationThe location of the FieldML file. Data resources will be created here.
[in]base_nameThe root name of the basis evaluator.
[in]connectivity_formatThe name of the format to use when writing connectivity data.
fieldml_infoThe FieldML parsing state.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1972 of file fieldml_output_routines.f90.

References basis_routines::basis_simplex_type, base_routines::enters(), base_routines::exits(), fieldml_util_routines::fieldml_io_initialise(), fieldml_output_add_mesh_component(), fieldml_output_get_generic_type(), fieldml_output_import(), and region_routines::region_nodes_get().

subroutine, public fieldml_output_routines::fieldml_output_write ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  FILENAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Write the given FieldML document to the given file.

Parameters
fieldml_infoThe FieldML parsing state.
[in]filenameThe file to write the FieldML document to.
[out]errThe error code.
[out]errorThe error string.

Definition at line 2330 of file fieldml_output_routines.f90.

References base_routines::enters(), base_routines::exits(), and fieldml_assert_is_out().

subroutine fieldml_output_routines::fieldmloutputgetsimplexbasisevaluator ( integer(intg), intent(in)  fmlHandle,
integer(intg), dimension(:), intent(in)  xiInterpolations,
integer(intg), intent(out)  evaluatorHandle,
integer(intg), intent(out)  parametersHandle,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Get an evaluator from the built-in library that corresponds to the given OpenCMISS simplex basis. Currently does not support collapsed bases.

Parameters
[in]fmlhandleThe FieldML session handle
[in]xiinterpolationsThe per-xi interpolations used by the basis.
[out]evaluatorhandleThe evaluator handle for the basis.
[out]parametershandleThe basis parameters argument evaluator.
[out]errThe error code.
[out]errorThe error string.

Definition at line 633 of file fieldml_output_routines.f90.

References basis_routines::basis_linear_simplex_interpolation, basis_routines::basis_quadratic_simplex_interpolation, base_routines::enters(), base_routines::exits(), and fieldml_output_import_fml().

Referenced by fieldml_output_create_basis_reference().

subroutine fieldml_output_routines::fieldmloutputgetsimplexconnectivitytype ( integer(intg), intent(in)  fieldmlHandle,
integer(intg), dimension(:), intent(in)  xiInterpolations,
logical, intent(in)  doImport,
integer(intg), intent(out)  typeHandle,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Return the FieldML connectivity ensemble corresponding to the given simplex basis info.

Parameters
[in]fieldmlhandleThe FieldML session handle.
[in]xiinterpolationsThe per-xi interpolation of the given TP basis.
[in]doimportIf true, import the connectivity ensemble.
[out]typehandleThe FieldML ensemble handle.
[out]errThe error code.
[out]errorThe error string

Definition at line 805 of file fieldml_output_routines.f90.

References basis_routines::basis_linear_simplex_interpolation, basis_routines::basis_quadratic_simplex_interpolation, base_routines::enters(), base_routines::exits(), and fieldml_output_import_fml().

Referenced by fieldml_output_get_connectivity_ensemble().