OpenCMISS-Iron Internal API Documentation
fieldml_input_routines Module Reference

Input routines for FieldML. More...

Functions/Subroutines

subroutine fieldml_assert_is_in (FIELDML_INFO, ERR, ERROR,)
 Asserts that the FieldML Info is associated and created for input. More...
 
subroutine fieldml_input_get_basis_connectivity_info (FIELDML_INFO, BASIS_HANDLE, PARAM_ARG_HANDLE, CONNECTIVITY_HANDLE, LAYOUT_HANDLE, ERR, ERROR,)
 Determines the connectivity evaluator and layout argument for the given basis. More...
 
subroutine fieldml_input_get_basis_collapse (NAME, COLLAPSE, ERR, ERROR,)
 Determine the basis collapse parameters from the given evaluator's name. More...
 
subroutine fieldml_input_get_basis_info (FIELDML_INFO, BASIS_HANDLE, CONNECTIVITY_HANDLE, LAYOUT_HANDLE, BASISTYPE, BASIS_INTERPOLATIONS, COLLAPSE, ERR, ERROR,)
 Determines the basis configuration from the given basis evaluator. More...
 
logical function fieldml_input_is_known_basis (FIELDML_INFO, BASIS_HANDLE, ERR, ERROR)
 Determines whether or not the given basis evaluator is known to OpenCMISS. More...
 
logical function fieldml_input_is_template_compatible (FIELDML_INFO, COMPONENT_HANDLE, ELEMENT_TYPE, ERR, ERROR)
 Determines whether or not the given evaluator is a recognisable mesh component evaluator. More...
 
subroutine fieldml_input_check_field_compatible (FIELDML_INFO, FIELD_HANDLE, ELEMENT_TYPE, ERR, ERROR,)
 Determines whether or not the given field evaluator can be parsed as an OpenCMISS field. More...
 
subroutine, public fieldmlinput_coordinatesystemcreatestart (FIELDML_INFO, EVALUATOR_NAME, COORDINATE_SYSTEM, USER_NUMBER, ERR, ERROR,)
 Creates an OpenCMISS coordinate system using relevant parameters from FieldML. Does not call CreateFinish. More...
 
subroutine, public fieldml_input_nodes_create_start (FIELDML_INFO, NODES_ARGUMENT_NAME, REGION, NODES, ERR, ERROR,)
 Creates an OpenCMISS nodes object using relevant parameters from FieldML. Does not call CreateFinish. More...
 
subroutine, public fieldml_input_mesh_create_start (FIELDML_INFO, MESH_ARGUMENT_NAME, MESH, MESH_NUMBER, REGION, ERR, ERROR,)
 Creates an OpenCMISS mesh using relevant parameters from FieldML. Does not call CreateFinish. More...
 
subroutine, public fieldml_input_basis_create_start (FIELDML_INFO, EVALUATOR_NAME, USER_NUMBER, BASIS, ERR, ERROR,)
 Creates an OpenCMISS basis object using relevant parameters from FieldML. Does not call CreateFinish. More...
 
subroutine, public fieldml_input_initialise_from_file (FIELDML_INFO, FILENAME, ERR, ERROR,)
 Initialize the given FieldML parsing state from the given FieldML file. More...
 
subroutine fieldml_input_read_order (FIELDML_INFO, ORDER_HANDLE, ORDER, COUNT, ERR, ERROR,)
 Reads an ensemble ordering using the given data source. More...
 
subroutine fieldml_input_reorder (INPUT_BUFFER, ORDER, COUNT, OUTPUT_BUFFER, ERR, ERROR,)
 Reorder the given values according to the given ordering. More...
 
subroutine, public fieldml_input_create_mesh_component (FIELDML_INFO, MESH, COMPONENT_NUMBER, EVALUATOR_NAME, ERR, ERROR,)
 Creates an OpenCMISS mesh component using relevant parameters from FieldML. Does not call CreateFinish. More...
 
subroutine, public fieldml_input_field_create_start (FIELDML_INFO, REGION, DECOMPOSITION, FIELD_NUMBER, FIELD, VARIABLE_TYPE, EVALUATOR_NAME, ERR, ERROR,)
 Creates an OpenCMISS field using relevant parameters from FieldML. Does not call CreateFinish. More...
 
subroutine, public fieldml_input_field_parameters_update (FIELDML_INFO, EVALUATOR_NAME, FIELD, VARIABLE_TYPE, SET_TYPE, ERR, ERROR,)
 Inputs from a FieldML file the parameters for a field variable parameter set. More...
 
subroutine fieldmlinput_fieldnodalparametersupdate (FIELDML_INFO, EVALUATOR_NAME, FIELD, VARIABLE_TYPE, SET_TYPE, ERR, ERROR,)
 Update the given field's nodal parameters using the given parameter evaluator. More...
 

Detailed Description

Input routines for FieldML.

Function/Subroutine Documentation

subroutine fieldml_input_routines::fieldml_assert_is_in ( 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 input.

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

Definition at line 89 of file fieldml_input_routines.f90.

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

Referenced by fieldml_input_basis_create_start(), fieldml_input_create_mesh_component(), fieldml_input_field_create_start(), fieldml_input_mesh_create_start(), fieldml_input_nodes_create_start(), and fieldmlinput_coordinatesystemcreatestart().

subroutine, public fieldml_input_routines::fieldml_input_basis_create_start ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  EVALUATOR_NAME,
integer(intg), intent(in)  USER_NUMBER,
type(basis_type), intent(inout), pointer  BASIS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Creates an OpenCMISS basis object using relevant parameters from FieldML. Does not call CreateFinish.

Parameters
fieldml_infoThe FieldML parsing state.
[in]evaluator_nameThe name of the basis evaluator.
[in]user_numberThe user number to assign to the basis.
[in,out]basisThe OpenCMISS basis object to create.
[out]errThe error code.
[out]errorThe error string.

Definition at line 734 of file fieldml_input_routines.f90.

References basis_routines::basis_create_start(), base_routines::enters(), base_routines::exits(), fieldml_assert_is_in(), and fieldml_input_get_basis_info().

subroutine fieldml_input_routines::fieldml_input_check_field_compatible ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
integer(intg), intent(in)  FIELD_HANDLE,
integer(intg), intent(in)  ELEMENT_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Determines whether or not the given field evaluator can be parsed as an OpenCMISS field.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]field_handleThe field evaluator handle.
[in]element_typeThe element ensemble type.
[out]errThe error code.
[out]errorThe error string.

Definition at line 501 of file fieldml_input_routines.f90.

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

Referenced by fieldml_input_field_create_start().

subroutine, public fieldml_input_routines::fieldml_input_create_mesh_component ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(mesh_type), intent(in), pointer  MESH,
integer(intg), intent(in)  COMPONENT_NUMBER,
type(varying_string), intent(in)  EVALUATOR_NAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Creates an OpenCMISS mesh component using relevant parameters from FieldML. Does not call CreateFinish.

Parameters
fieldml_infoThe FieldML parsing state.
[in]meshThe OpenCMISS mesh in which to create the component.
[in]component_numberThe component number to create.
[in]evaluator_nameThe name of the mesh component evaluator.
[out]errThe error code.
[out]errorThe error string.

Definition at line 928 of file fieldml_input_routines.f90.

References basis_routines::basis_user_number_find(), base_routines::enters(), base_routines::exits(), fieldml_assert_is_in(), fieldml_input_read_order(), fieldml_input_reorder(), and lists::list_number_of_items_get().

subroutine, public fieldml_input_routines::fieldml_input_field_create_start ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(region_type), intent(in), pointer  REGION,
type(decomposition_type), intent(in), pointer  DECOMPOSITION,
integer(intg), intent(in)  FIELD_NUMBER,
type(field_type), intent(inout), pointer  FIELD,
integer(intg), intent(in)  VARIABLE_TYPE,
type(varying_string), intent(in)  EVALUATOR_NAME,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Creates an OpenCMISS field using relevant parameters from FieldML. Does not call CreateFinish.

Parameters
fieldml_infoThe FieldML parsing state.
[in]regionThe region in which to create the field.
[in]decompositionThe decomposition to use when creating the field.
[in]field_numberThe user number to assign to the created field.
[in,out]fieldThe OpenCMISS field object to create.
[in]variable_typeThe OpenCMISS variable type.
[in]evaluator_nameThe name of the field evaluator.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1121 of file fieldml_input_routines.f90.

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

subroutine, public fieldml_input_routines::fieldml_input_field_parameters_update ( type(fieldml_io_type), intent(inout)  FIELDML_INFO,
type(varying_string), intent(in)  EVALUATOR_NAME,
type(field_type), intent(inout), 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 
)

Inputs from a FieldML file the parameters for a field variable parameter set.

Parameters
[in,out]fieldml_infoThe FieldML parsing state.
[in]evaluator_nameThe name of the nodal dofs evaluator.
[in,out]fieldThe field whose parameters are to be updated.
[in]variable_typeThe OpenCMISS variable type.
[in]set_typeThe parameter set type.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1185 of file fieldml_input_routines.f90.

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

subroutine fieldml_input_routines::fieldml_input_get_basis_collapse ( type(varying_string), intent(in)  NAME,
integer(intg), dimension(:), intent(inout), allocatable  COLLAPSE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Determine the basis collapse parameters from the given evaluator's name.

Parameters
[in]nameThe basis evaluator name.
[in,out]collapseThe array of OpenCMISS basis collapse constants.
[out]errThe error code.
[out]errorThe error string.

Definition at line 183 of file fieldml_input_routines.f90.

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

Referenced by fieldml_input_get_basis_info().

subroutine fieldml_input_routines::fieldml_input_get_basis_connectivity_info ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
integer(intg), intent(in)  BASIS_HANDLE,
integer(intg), intent(in)  PARAM_ARG_HANDLE,
integer(intg), intent(out)  CONNECTIVITY_HANDLE,
integer(intg), intent(out)  LAYOUT_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Determines the connectivity evaluator and layout argument for the given basis.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]basis_handleThe basis handle.
[in]param_arg_handleThe basis parameters argument handle.
[out]connectivity_handleThe basis connectivity evaluator handle.
[out]layout_handleThe local node layout.
[out]errThe error code
[out]errorThe error string.

Definition at line 116 of file fieldml_input_routines.f90.

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

Referenced by fieldml_input_get_basis_info().

subroutine fieldml_input_routines::fieldml_input_get_basis_info ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
integer(intg), intent(in)  BASIS_HANDLE,
integer(intg), intent(out)  CONNECTIVITY_HANDLE,
integer(intg), intent(out)  LAYOUT_HANDLE,
integer(intg), intent(out)  BASISTYPE,
integer(intg), dimension(:), intent(out), allocatable  BASIS_INTERPOLATIONS,
integer(intg), dimension(:), intent(out), allocatable  COLLAPSE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Determines the basis configuration from the given basis evaluator.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]basis_handleThe basis evaluator handle.
[out]connectivity_handleThe basis connectivity evaluator handle.
[out]layout_handleThe local node layout.
[out]basistypeThe OpenCMISS basis type.
[out]basis_interpolationsThe per-xi basis interpolations (for TP bases).
[out]collapseThe collapse constants for the basis.
[out]errThe error code.
[out]errorThe error string.

Definition at line 237 of file fieldml_input_routines.f90.

References basis_routines::basis_lagrange_hermite_tp_type, basis_routines::basis_linear_lagrange_interpolation, basis_routines::basis_linear_simplex_interpolation, basis_routines::basis_quadratic_lagrange_interpolation, basis_routines::basis_quadratic_simplex_interpolation, basis_routines::basis_simplex_type, base_routines::enters(), base_routines::exits(), fieldml_input_get_basis_collapse(), fieldml_input_get_basis_connectivity_info(), fieldml_input_is_known_basis(), and constants::maxstrlen.

Referenced by fieldml_input_basis_create_start().

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

Initialize the given FieldML parsing state from the given FieldML file.

Parameters
fieldml_infoThe FieldML parsing state.
[in]filenameThe name of the FieldML file to parse.
[out]errThe error code.
[out]errorThe error string.

Definition at line 801 of file fieldml_input_routines.f90.

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

logical function fieldml_input_routines::fieldml_input_is_known_basis ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
integer(intg), intent(in)  BASIS_HANDLE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Determines whether or not the given basis evaluator is known to OpenCMISS.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]basis_handleThe basis handle.
[out]errThe error code.
[out]errorThe error string

Definition at line 369 of file fieldml_input_routines.f90.

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

Referenced by fieldml_input_get_basis_info(), and fieldml_input_is_template_compatible().

logical function fieldml_input_routines::fieldml_input_is_template_compatible ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
integer(intg), intent(in)  COMPONENT_HANDLE,
integer(intg), intent(in)  ELEMENT_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Determines whether or not the given evaluator is a recognisable mesh component evaluator.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]component_handleThe mesh component evaluator.
[in]element_typeThe element ensemble type.
[out]errThe error code.
[out]errorThe error string

Definition at line 419 of file fieldml_input_routines.f90.

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

subroutine, public fieldml_input_routines::fieldml_input_mesh_create_start ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  MESH_ARGUMENT_NAME,
type(mesh_type), intent(inout), pointer  MESH,
integer(intg), intent(in)  MESH_NUMBER,
type(region_type), intent(in), pointer  REGION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Creates an OpenCMISS mesh using relevant parameters from FieldML. Does not call CreateFinish.

Parameters
fieldml_infoThe FieldML parsing state.
[in]mesh_argument_nameThe argument evaluator used as the mesh location in relevant evaluators.
[in,out]meshThe OpenCMISS mesh object to create.
[in]mesh_numberThe user number to assign to the mesh.
[in]regionThe region in which to create the mesh.
[out]errThe error code.
[out]errorThe error string.

Definition at line 673 of file fieldml_input_routines.f90.

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

subroutine, public fieldml_input_routines::fieldml_input_nodes_create_start ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  NODES_ARGUMENT_NAME,
type(region_type), intent(in), pointer  REGION,
type(nodes_type), intent(inout), pointer  NODES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Creates an OpenCMISS nodes object using relevant parameters from FieldML. Does not call CreateFinish.

Parameters
fieldml_infoThe FieldML parsing state.
[in]nodes_argument_nameThe argument evaluator used as the node index in relevant evaluators.
[in]regionThe region in which to create the nodes.
[in,out]nodesThe OpenCMISS nodes object to create.
[out]errThe error code.
[out]errorThe error string.

Definition at line 623 of file fieldml_input_routines.f90.

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

subroutine fieldml_input_routines::fieldml_input_read_order ( type(fieldml_io_type), intent(in)  FIELDML_INFO,
integer(intg), intent(in)  ORDER_HANDLE,
integer(intg), dimension(:), intent(inout), allocatable, target  ORDER,
integer(intg), intent(in)  COUNT,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Reads an ensemble ordering using the given data source.

Parameters
[in]fieldml_infoThe FieldML parsing state.
[in]order_handleThe data source containing the ordering.
[in,out]orderThe array in which the order is stored.
[in]countThe number of entries in the ordering.
[out]errThe error code.
[out]errorThe error string.

Definition at line 840 of file fieldml_input_routines.f90.

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

Referenced by fieldml_input_create_mesh_component().

subroutine fieldml_input_routines::fieldml_input_reorder ( integer(intg), dimension(:), intent(in)  INPUT_BUFFER,
integer(intg), dimension(:), intent(in), allocatable  ORDER,
integer(intg), intent(in)  COUNT,
integer(intg), dimension(:), intent(inout)  OUTPUT_BUFFER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Reorder the given values according to the given ordering.

Parameters
[in]input_bufferThe values to reorder.
[in]orderThe ordering to apply.
[in]countThe number of values to reorder.
[in,out]output_bufferThe reordered values.
[out]errThe error code.
[out]errorThe error string.

Definition at line 894 of file fieldml_input_routines.f90.

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

Referenced by fieldml_input_create_mesh_component().

subroutine, public fieldml_input_routines::fieldmlinput_coordinatesystemcreatestart ( type(fieldml_io_type), pointer  FIELDML_INFO,
type(varying_string), intent(in)  EVALUATOR_NAME,
type(coordinate_system_type), intent(in), pointer  COORDINATE_SYSTEM,
integer(intg), intent(in)  USER_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Creates an OpenCMISS coordinate system using relevant parameters from FieldML. Does not call CreateFinish.

Parameters
fieldml_infoThe FieldML parsing state.
[in]evaluator_nameThe name of the coordinate system evaluator.
[in]coordinate_systemThe OpenCMISS coordinate system to initialize.
[in]user_numberThe user number to assign to the coordinate system.
[out]errThe error code.
[out]errorThe error string.

Definition at line 563 of file fieldml_input_routines.f90.

References coordinate_routines::coordinate_rectangular_cartesian_type, coordinate_routines::coordinate_system_create_start(), coordinate_routines::coordinate_system_dimension_set(), coordinate_routines::coordinate_system_type_set(), base_routines::enters(), base_routines::exits(), fieldml_assert_is_in(), and constants::maxstrlen.

subroutine fieldml_input_routines::fieldmlinput_fieldnodalparametersupdate ( type(fieldml_io_type), intent(inout)  FIELDML_INFO,
type(varying_string), intent(in)  EVALUATOR_NAME,
type(field_type), intent(inout), 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

Update the given field's nodal parameters using the given parameter evaluator.

Parameters
[in,out]fieldml_infoThe FieldML parsing state.
[in]evaluator_nameThe name of the nodal dofs evaluator.
[in,out]fieldThe field whose parameters are to be updated.
[in]variable_typeThe OpenCMISS variable type.
[in]set_typeThe parameter set type.
[out]errThe error code.
[out]errorThe error string.

Definition at line 1245 of file fieldml_input_routines.f90.

References comp_environment::computational_node_number_get(), base_routines::enters(), base_routines::exits(), constants::no_global_deriv, and region_routines::region_nodes_get().

Referenced by fieldml_input_field_parameters_update().