OpenCMISS-Iron Internal API Documentation
data_projection_routines.f90 File Reference

This module handles all data projection routines. More...

Go to the source code of this file.

Data Types

interface  data_projection_routines::data_projection_label_get
 Gets the label for a data projection. More...
 
interface  data_projection_routines::data_projection_label_set
 Sets/changes the label for a data projection. More...
 

Modules

module  data_projection_routines
 This module handles all data projection routines.
 

Functions/Subroutines

subroutine, public data_projection_routines::data_projection_absolute_tolerance_get (DATA_PROJECTION, ABSOLUTE_TOLERANCE, ERR, ERROR,)
 Gets the absolute tolerance for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_absolute_tolerance_set (DATA_PROJECTION, ABSOLUTE_TOLERANCE, ERR, ERROR,)
 Sets the absolute tolerance for a data projection. More...
 
subroutine data_projection_routines::data_projection_closest_elements_find (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, NUMBER_OF_CANDIDATES, CLOSEST_ELEMENTS, CLOSEST_DISTANCES, ERR, ERROR,)
 Find the closest elements to a data point based on starting xi guess. More...
 
subroutine data_projection_routines::data_projection_closest_faces_find (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, CANDIDATE_ELEMENT_FACES, NUMBER_OF_CANDIDATES, CLOSEST_ELEMENTS, CLOSEST_ELEMENT_FACES, CLOSEST_DISTANCES, ERR, ERROR,)
 Find the closest faces to a data point base on starting xi guess. More...
 
subroutine data_projection_routines::data_projection_closest_lines_find (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, CANDIDATE_ELEMENT_LINES, NUMBER_OF_CANDIDATES, CLOSEST_ELEMENTS, CLOSEST_ELEMENT_LINES, CLOSEST_DISTANCES, ERR, ERROR,)
 Find the closest lines to a data point base on starting xi guess. More...
 
subroutine, public data_projection_routines::data_projection_create_finish (DATA_PROJECTION, ERR, ERROR,)
 Finishes the process of creating data projection. More...
 
subroutine, public data_projection_routines::data_projection_create_start_data_points (DATA_PROJECTION_USER_NUMBER, DATA_POINTS, MESH, DATA_PROJECTION, ERR, ERROR,)
 Starts the process of creating data projection. More...
 
subroutine data_projection_routines::dataprojection_datapointcheckexist (DataProjection, dataPointUserNumber, dataPointExist, dataPointGlobalNumber, err, error,)
 Checks that a user data point number is defined for a specific data projection. More...
 
subroutine data_projection_routines::dataprojection_dataprojectionresultinitialise (DATA_PROJECTION, ERR, ERROR,)
 Initialises the data projection part in a given data points. %%%%% THIS NEED TO BE CHANGED!!! TIM. More...
 
subroutine, public data_projection_routines::data_projection_destroy (DATA_PROJECTION, ERR, ERROR,)
 Destroys a data projection. More...
 
subroutine data_projection_routines::data_projection_finalise (DATA_PROJECTION, ERR, ERROR,)
 Finalise a data projection. More...
 
subroutine data_projection_routines::dataprojection_datapointglobalnumberget (DATA_PROJECTION, USER_NUMBER, GLOBAL_NUMBER, ERR, ERROR,)
 Gets the user number for a data point identified by a given global number. More...
 
subroutine, public data_projection_routines::dataprojection_datapointsprojectionevaluate (DATA_PROJECTION, PROJECTION_FIELD, ERR, ERROR,)
 Evaluates data projection. More...
 
subroutine, public data_projection_routines::dataprojection_datapointspositionevaluate (dataProjection, field, fieldVariableType, err, error,)
 Evaluate the data points position in a field based on data projection. More...
 
subroutine, public data_projection_routines::dataprojection_maximuminterationupdateget (DATA_PROJECTION, MAXIMUM_ITERATION_UPDATE, ERR, ERROR,)
 Gets the maximum iteration update for a data projection. More...
 
subroutine, public data_projection_routines::dataprojection_maximuminterationupdateset (DATA_PROJECTION, MAXIMUM_ITERATION_UPDATE, ERR, ERROR,)
 Sets the maximum iteration update for a data projection. More...
 
subroutine, public data_projection_routines::dataprojection_maximumnumberofiterationsget (DATA_PROJECTION, MAXIMUM_NUMBER_OF_ITERATIONS, ERR, ERROR,)
 Gets the maximum number of iterations for a data projection. More...
 
subroutine, public data_projection_routines::dataprojection_maximumnumberofiterationsset (DATA_PROJECTION, MAXIMUM_NUMBER_OF_ITERATIONS, ERR, ERROR,)
 Sets the maximum number of iterations for a data projection. More...
 
subroutine data_projection_routines::data_projection_newton_elements_evaluate_1 (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, PROJECTION_EXIT_TAG, PROJECTION_ELEMENT_NUMBER, PROJECTION_DISTANCE, PROJECTION_XI, PROJECTION_VECTOR, ERR, ERROR,)
 Find the projection of a data point onto 1D elements. More...
 
subroutine data_projection_routines::data_projection_newton_elements_evaluate_2 (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, PROJECTION_EXIT_TAG, PROJECTION_ELEMENT_NUMBER, PROJECTION_DISTANCE, PROJECTION_XI, PROJECTION_VECTOR, ERR, ERROR,)
 Find the projection of a data point onto 2D elements. More...
 
subroutine data_projection_routines::data_projection_newton_elements_evaluate_3 (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, PROJECTION_EXIT_TAG, PROJECTION_ELEMENT_NUMBER, PROJECTION_DISTANCE, PROJECTION_XI, PROJECTION_VECTOR, ERR, ERROR,)
 Find the projection of a data point onto 3D elements. More...
 
subroutine data_projection_routines::data_projection_newton_faces_evaluate (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, CANDIDATE_ELEMENT_FACES, PROJECTION_EXIT_TAG, PROJECTION_ELEMENT_NUMBER, PROJECTION_ELEMENT_FACE_NUMBER, PROJECTION_DISTANCE, PROJECTION_XI, PROJECTION_VECTOR, ERR, ERROR,)
 Find the projection of a data point onto element faces (slight difference to DATA_PROJECTION_NEWTON_ELEMENTS_EVALUATE_2) More...
 
subroutine data_projection_routines::data_projection_newton_lines_evaluate (DATA_PROJECTION, INTERPOLATED_POINT, POINT_VALUES, CANDIDATE_ELEMENTS, CANDIDATE_ELEMENT_LINES, PROJECTION_EXIT_TAG, PROJECTION_ELEMENT_NUMBER, PROJECTION_ELEMENT_LINE_NUMBER, PROJECTION_DISTANCE, PROJECTION_XI, PROJECTION_VECTOR, ERR, ERROR,)
 Find the projection of a data point onto element lines (slight difference to DATA_PROJECTION_NEWTON_ELEMENTS_EVALUATE_1) More...
 
subroutine, public data_projection_routines::dataprojection_numberofclosestelementsget (DATA_PROJECTION, NUMBER_OF_CLOSEST_ELEMENTS, ERR, ERROR,)
 Gets the number of closest elements for a data projection. More...
 
subroutine, public data_projection_routines::dataprojection_numberofclosestelementsset (DATA_PROJECTION, NUMBER_OF_CLOSEST_ELEMENTS, ERR, ERROR,)
 Sets the number of closest elements for a data projection. More...
 
subroutine, public data_projection_routines::dataprojection_projectioncandidatesset (dataProjection, elementUserNumber, localFaceLineNumbers, err, error,)
 Sets the candidates element numbers and local line/face numbers for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_projection_type_get (DATA_PROJECTION, PROJECTION_TYPE, ERR, ERROR,)
 Gets the projection type for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_projection_type_set (DATA_PROJECTION, PROJECTION_TYPE, ERR, ERROR,)
 Sets the projection type for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_relative_tolerance_get (DATA_PROJECTION, RELATIVE_TOLERANCE, ERR, ERROR,)
 Gets the relative tolerance for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_relative_tolerance_set (DATA_PROJECTION, RELATIVE_TOLERANCE, ERR, ERROR,)
 Sets the relative tolerance for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_starting_xi_get (DATA_PROJECTION, STARTING_XI, ERR, ERROR,)
 Gets the starting xi for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_starting_xi_set (DATA_PROJECTION, STARTING_XI, ERR, ERROR,)
 Sets the starting xi for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_element_set (DATA_PROJECTION, DATA_POINT_USER_NUMBER, ELEMENT_USER_NUMBER, ERR, ERROR,)
 Sets the element for a data projection. More...
 
subroutine, public data_projection_routines::data_projection_result_distance_get (DATA_PROJECTION, DATA_POINT_USER_NUMBER, PROJECTION_DISTANCE, ERR, ERROR,)
 Gets the projection distance for a data point identified by a given global number. More...
 
subroutine data_projection_routines::data_projection_label_get_vs (DATA_PROJECTION, LABEL, ERR, ERROR,)
 Gets the label for a data projection for varying string labels. More...
 
subroutine data_projection_routines::data_projection_label_get_c (DATA_PROJECTION, LABEL, ERR, ERROR,)
 Gets the label for a data projection for character labels. More...
 
subroutine data_projection_routines::data_projection_label_set_c (DATA_PROJECTION, LABEL, ERR, ERROR,)
 Sets the label for a data projection for varying string labels. More...
 
subroutine data_projection_routines::data_projection_label_set_vs (DATA_PROJECTION, LABEL, ERR, ERROR,)
 Sets the label for a data projection for varying string labels. More...
 
subroutine, public data_projection_routines::data_projection_result_element_number_get (DATA_PROJECTION, DATA_POINT_USER_NUMBER, PROJECTION_ELEMENT_NUMBER, ERR, ERROR,)
 Gets the projection element number for a data point identified by a given global number. More...
 
subroutine, public data_projection_routines::dataprojection_resultelementfacenumberget (DATA_PROJECTION, DATA_POINT_USER_NUMBER, PROJECTION_ELEMENT_FACE_NUMBER, ERR, ERROR,)
 Gets the projection element face number for a data point identified by a given global number. More...
 
subroutine, public data_projection_routines::dataprojection_resultelementlinenumberget (DATA_PROJECTION, DATA_POINT_USER_NUMBER, PROJECTION_ELEMENT_LINE_NUMBER, ERR, ERROR,)
 Gets the projection element line number for a data point identified by a given global number. More...
 
subroutine, public data_projection_routines::data_projection_result_exit_tag_get (DATA_PROJECTION, DATA_POINT_USER_NUMBER, PROJECTION_EXIT_TAG, ERR, ERROR,)
 Gets the projection exit tag for a data point identified by a given global number. More...
 
subroutine, public data_projection_routines::data_projection_result_xi_get (DATA_PROJECTION, DATA_POINT_USER_NUMBER, PROJECTION_XI, ERR, ERROR,)
 Gets the projection xi for a data point identified by a given global number. More...
 
subroutine, public data_projection_routines::data_projection_result_xi_set (DATA_PROJECTION, DATA_POINT_USER_NUMBER, PROJECTION_XI, ERR, ERROR,)
 Sets the projection xi for a data point identified by a given global number. More...
 
subroutine, public data_projection_routines::dataprojection_resultprojectionvectorget (DATA_PROJECTION, DATA_POINT_USER_NUMBER, projectionVector, ERR, ERROR,)
 Gets the projection vector for a data point identified by a given global number. More...
 

Variables

integer(intg), parameter, public data_projection_routines::data_projection_boundary_lines_projection_type =1
 The boundary line projection type for data projection, only projects to boundary lines of the mesh. More...
 
integer(intg), parameter, public data_projection_routines::data_projection_boundary_faces_projection_type =2
 The boundary face projection type for data projection, only projects to boundary faces of the mesh. More...
 
integer(intg), parameter, public data_projection_routines::data_projection_all_elements_projection_type =3
 The element projection type for data projection, projects to all elements in mesh. More...
 
integer(intg), parameter data_projection_routines::data_projection_exit_tag_converged =1
 Data projection exited due to it being converged. More...
 
integer(intg), parameter data_projection_routines::data_projection_exit_tag_bounds =2
 Data projection exited due to it hitting the bound and continue to travel out of the element. More...
 
integer(intg), parameter data_projection_routines::data_projection_exit_tag_max_iteration =3
 Data projection exited due to it attaining maximum number of iteration specified by user. More...
 
integer(intg), parameter data_projection_routines::data_projection_exit_tag_no_element =4
 Data projection exited due to no local element found, this happens when none of the candidate elements are within this computational node, and before MPI communication with other nodes. More...
 

Detailed Description

This module handles all data projection routines.

Author
Tim Wu

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): Chris Bradley, Kumar Mithraratne, Xiani (Nancy) Yan, Prasad Babarenda Gamage

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 data_projection_routines.f90.