OpenCMISS-Iron Internal API Documentation
field_IO_routines.f90 File Reference

ThiS module handles parallel Io. Using mpi2 and parall print function, formatted text and binary IO are supported in openCMISS. More...

Go to the source code of this file.

Data Types

type  field_io_routines::mesh_elements_type_ptr_type
 field variable component type pointer for IO More...
 
type  field_io_routines::field_variable_component_ptr_type
 field variable component type pointer for IO More...
 
type  field_io_routines::field_io_component_info_set
 contains information for parallel IO, and it is nodal base More...
 
type  field_io_routines::field_io_component_info_set_ptr_type
 
type  field_io_routines::field_io_info_set
 contains information for parallel IO, and it is nodal base More...
 
interface  field_io_routines::FieldExport_OpenSession
 
interface  field_io_routines::FieldExport_Group
 
interface  field_io_routines::FieldExport_MeshDimensions
 
interface  field_io_routines::FieldExport_ScalingFactorCount
 
interface  field_io_routines::FieldExport_ScaleFactors
 
interface  field_io_routines::FieldExport_NodeCount
 
interface  field_io_routines::FieldExport_FieldCount
 
interface  field_io_routines::FieldExport_CoordinateVariable
 
interface  field_io_routines::FieldExport_Variable
 
interface  field_io_routines::FieldExport_CoordinateComponent
 
interface  field_io_routines::FieldExport_Component
 
interface  field_io_routines::FieldExport_ElementGridSize
 
interface  field_io_routines::FieldExport_NodeScaleIndexes
 
interface  field_io_routines::FieldExport_ElementIndex
 
interface  field_io_routines::FieldExport_ElementNodeIndices
 
interface  field_io_routines::FieldExport_ElementNodeScales
 
interface  field_io_routines::FieldExport_ElementGridValues
 
interface  field_io_routines::FieldExport_NodeValues
 
interface  field_io_routines::FieldExport_CloseSession
 
interface  field_io_routines::FieldExport_CoordinateDerivativeIndices
 
interface  field_io_routines::FieldExport_DerivativeIndices
 
interface  field_io_routines::FieldExport_EndComponent
 
interface  field_io_routines::FieldExport_VersionInfo
 
interface  field_io_routines::reallocate
 
interface  field_io_routines::grow_array
 
interface  field_io_routines::checked_deallocate
 

Modules

module  field_io_routines
 Implements lists of Field IO operation.
 

Functions/Subroutines

subroutine field_io_routines::reallocate_int (array, newSize, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::reallocate_real (array, newSize, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::reallocate_string (array, newSize, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::reallocate_components (array, newSize, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::reallocate_basis (array, newSize, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::reallocate_field (array, newSize, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::reallocate_elements (array, newSize, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::reallocate_2d (array, newSize1, newSize2, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::grow_array_int (array, delta, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::grow_array_real (array, delta, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::grow_array_components (array, delta, errorMessage, ERR, ERROR,)
 
subroutine field_io_routines::checked_deallocate_int (array)
 
subroutine field_io_routines::checked_deallocate_real (array)
 
subroutine field_io_routines::checked_deallocate_2d_int (array)
 
subroutine field_io_routines::checked_deallocate_components (array)
 
subroutine field_io_routines::checked_deallocate_str (array)
 
subroutine field_io_routines::checked_deallocate_elements (array)
 
subroutine field_io_routines::checked_deallocate_basis (array)
 
subroutine field_io_routines::checked_deallocate_field (array)
 
subroutine field_io_routines::field_io_field_info (STRING, LABEL_TYPE, FIELD_TYPE, ERR, ERROR,)
 Get the field information. More...
 
integer(intg) function field_io_routines::field_io_derivative_info (LINE, ERR, ERROR)
 Get the derivative information. More...
 
integer(intg) function field_io_routines::field_io_element_derivative_index (ELEMENT, DERIVATIVE_NUMBER, NODE_NUMBER, ERR, ERROR)
 Use the element version information to calcualte the derivative index of a given nodal derivative for an element. More...
 
subroutine field_io_routines::field_io_create_fields (NAME, REGION, DECOMPOSITION, FIELD_VALUES_SET_TYPE, NUMBER_OF_FIELDS,
 Create decompsition. More...
 
subroutine field_io_routines::field_io_create_decompistion (DECOMPOSITION, DECOMPOSITION_USER_NUMBER, DECOMPOSITION_METHOD, MESH, NUMBER_OF_DOMAINS, ERR, ERROR,)
 Create decompition. More...
 
subroutine, public field_io_routines::field_io_fields_import (NAME, METHOD, REGION, MESH, MESH_USER_NUMBER, DECOMPOSITION, DECOMPOSITION_USER_NUMBER, DECOMPOSITION_METHOD, FIELD_VALUES_SET_TYPE, FIELD_SCALING_TYPE, ERR, ERROR,)
 Import fields from files into different computational nodes. More...
 
subroutine field_io_routines::field_io_fill_basis_info (INTERPOLATION_XI, LIST_STR, NUMBER_OF_COMPONENTS, ERR, ERROR,)
 Finding basis information. More...
 
subroutine field_io_routines::field_io_import_global_mesh (NAME, REGION, MESH, MESH_USER_NUMBER, MASTER_COMPUTATIONAL_NUMBER, my_computational_node_number, MESH_COMPONENTS_OF_FIELD_COMPONENTS, COMPONENTS_IN_FIELDS, NUMBER_OF_FIELDS, NUMBER_OF_EXNODE_FILES, ERR, ERROR,)
 Read the global mesh into one computational node first and then broadcasting to others nodes. More...
 
subroutine field_io_routines::fieldio_translatelabelintointerpolationtype (INTERPOLATION, LABEL_TYPE, ERR, ERROR,)
 Finding basis information. More...
 
subroutine field_io_routines::fieldio_calculatesimplexscaleandnodecounts (BASIS, num_scl, num_node, ERR, ERROR,)
 Finding basis information. More...
 
subroutine field_io_routines::field_io_calculate_tp_scale_and_node_counts (BASIS, num_scl, num_node, ERR, ERROR,)
 Finding basis information. More...
 
integer(intg) function field_io_routines::findmylocaldomainnumber (mapping, myComputationalNodeNumber)
 
subroutine field_io_routines::fieldio_exportelementalgroupheaderfortran (global_number, MAX_NODE_COMP_INDEX, NUM_OF_SCALING_FACTOR_SETS, LIST_COMP_SCALE, my_computational_node_number, elementalInfoSet, sessionHandle, ERR, ERROR,)
 Write the header of a group elements using FORTRAN. More...
 
subroutine field_io_routines::field_io_export_element_scale_factors (sessionHandle, components, componentScales, globalNumber, myComputationalNodeNumber, ERR, ERROR,)
 
subroutine field_io_routines::field_io_export_elements_into_local_file (ELEMENTAL_INFO_SET, NAME, my_computational_node_number, ERR, ERROR,)
 Write all the elemental information from LOCAL_PROCESS_NODAL_INFO_SET to exelem files. More...
 
subroutine field_io_routines::field_io_elemental_info_set_sort (ELEMENTAL_INFO_SET, my_computational_node_number, ERR, ERROR,)
 Sort the Elemental_info_set according to the type of field variable components. More...
 
subroutine field_io_routines::fieldio_elementalinfosetattachlocalprocess (ELEMENTAL_INFO_SET, FIELDS, ERR, ERROR,)
 Collect the elemental information from each MPI process. More...
 
logical function field_io_routines::field_io_compare_info_set_components (SET1, SET2)
 
subroutine field_io_routines::field_io_compare_info_set_derivatives (SET1, SET2, my_computational_node_number, global_number1, global_number2, doesMatch, ERR, ERROR,)
 
subroutine field_io_routines::field_io_nodal_info_set_sort (NODAL_INFO_SET, my_computational_node_number, ERR, ERROR,)
 Sort nodal information according to the type of field variable component. More...
 
type(varying_string) function field_io_routines::field_io_label_derivative_info_get (GROUP_DERIVATIVES, NUMBER_DERIVATIVES, LABEL_TYPE, ERR, ERROR)
 Get the derivative information. More...
 
type(varying_string) function field_io_routines::field_io_get_field_info_label (FIELD, ERR, ERROR)
 Get the field information. More...
 
type(varying_string) function field_io_routines::field_io_get_variable_info_label (COMPONENT, ERR, ERROR)
 Get the field information. More...
 
type(varying_string) function field_io_routines::field_io_get_component_info_label (COMPONENT, ERR, ERROR)
 Get the field information. More...
 
subroutine field_io_routines::field_io_export_nodal_group_header_fortran (fieldInfoSet, global_number, MAX_NUM_OF_NODAL_DERIVATIVES, my_computational_node_number, sessionHandle, paddingInfo, ERR, ERROR,)
 Write the header of a group nodes using FORTRAIN. More...
 
subroutine field_io_routines::field_io_export_nodes_into_local_file (NODAL_INFO_SET, NAME, my_computational_node_number, ERR, ERROR,)
 Write all the nodal information from NODAL_INFO_SET to local exnode files. More...
 
subroutine field_io_routines::field_io_fortran_file_read_string (FILE_ID, STRING_DATA, FILE_END, ERR, ERROR,)
 Read a string using FORTRAN IO. More...
 
subroutine field_io_routines::field_io_fortran_file_read_dp (FILE_ID, REAL_DATA, LEN_OF_DATA, FILE_END, ERR, ERROR,)
 Read a real data using FORTRAN IO. More...
 
subroutine field_io_routines::field_io_fortran_file_write_dp (FILE_ID, REAL_DATA, LEN_OF_DATA, ERR, ERROR,)
 Write a real data using FORTRAN IO. More...
 
subroutine field_io_routines::field_io_fortran_file_read_intg (FILE_ID, INTG_DATA, LEN_OF_DATA, ERR, ERROR,)
 Read a integer data. More...
 
subroutine field_io_routines::field_io_fortran_file_write_intg (FILE_ID, INTG_DATA, LEN_OF_DATA, ERR, ERROR,)
 Write a integer data. More...
 
subroutine field_io_routines::field_io_fortran_file_open (FILE_ID, FILE_NAME, FILE_STATUS, ERR, ERROR,)
 Open a file using Fortran. More...
 
subroutine field_io_routines::field_io_fortran_file_close (FILE_ID, ERR, ERROR,)
 Close a file using Fortran. More...
 
subroutine field_io_routines::string_to_muti_integers_vs (STRING, NUMBER_OF_INTEGERS, INTG_DATA, ERR, ERROR,)
 
subroutine field_io_routines::string_to_muti_reals_vs (STRING, NUMBER_OF_REALS, REAL_DATA, POSITION, ERR, ERROR,)
 
subroutine field_io_routines::fieldio_nodelinfosetattachlocalprocess (NODAL_INFO_SET, FIELDS, my_computational_node_number, ERR, ERROR,)
 Collect nodal information from each MPI process. More...
 
subroutine field_io_routines::field_io_info_set_initialise (LOCAL_PROCESS_INFO_SET, ERR, ERROR,)
 Initialize nodal information set. More...
 
subroutine, public field_io_routines::field_io_nodes_export (FIELDS, FILE_NAME, METHOD, ERR, ERROR,)
 Export nodal information. More...
 
subroutine, public field_io_routines::field_io_elements_export (FIELDS, FILE_NAME, METHOD, ERR, ERROR,)
 Export elemental information into multiple files. More...
 

Variables

integer(intg), parameter field_io_routines::shape_size =3
 size of shape More...
 
integer(intg), parameter field_io_routines::field_io_field_label =1
 Type for lable. More...
 
integer(intg), parameter field_io_routines::field_io_variable_label =2
 
integer(intg), parameter field_io_routines::field_io_component_label =3
 
integer(intg), parameter field_io_routines::field_io_derivative_label =4
 
integer(intg), parameter field_io_routines::field_io_scale_factors_number_type =5
 Type of scale factor. More...
 
integer(intg), parameter field_io_routines::field_io_scale_factors_property_type =6
 

Detailed Description

ThiS module handles parallel Io. Using mpi2 and parall print function, formatted text and binary IO are supported in openCMISS.

Author
Heye Zhang

LICENSE

Version: MPL 1.1/GPL 2.0/LGPL 2.1

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is OpenCMISS

The Initial Developer of the Original Code is University of Auckland, Auckland, New Zealand, the University of Oxford, Oxford, United Kingdom and King's College, London, United Kingdom. Portions created by the University of Auckland, the University of Oxford and King's College, London are Copyright (C) 2007-2010 by the University of Auckland, the University of Oxford and King's College, London. All Rights Reserved.

Contributor(s):

Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL.

Definition in file field_IO_routines.f90.