OpenCMISS-Iron Internal API Documentation
data_projection_routines Module Reference

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

Data Types

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

Functions/Subroutines

subroutine, public data_projection_absolute_tolerance_get (DATA_PROJECTION, ABSOLUTE_TOLERANCE, ERR, ERROR,)
 Gets the absolute tolerance for a data projection. More...
 
subroutine, public data_projection_absolute_tolerance_set (DATA_PROJECTION, ABSOLUTE_TOLERANCE, ERR, ERROR,)
 Sets the absolute tolerance for a data projection. More...
 
subroutine 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_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_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_create_finish (DATA_PROJECTION, ERR, ERROR,)
 Finishes the process of creating data projection. More...
 
subroutine, public 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 dataprojection_datapointcheckexist (DataProjection, dataPointUserNumber, dataPointExist, dataPointGlobalNumber, err, error,)
 Checks that a user data point number is defined for a specific data projection. More...
 
subroutine 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_destroy (DATA_PROJECTION, ERR, ERROR,)
 Destroys a data projection. More...
 
subroutine data_projection_finalise (DATA_PROJECTION, ERR, ERROR,)
 Finalise a data projection. More...
 
subroutine 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 dataprojection_datapointsprojectionevaluate (DATA_PROJECTION, PROJECTION_FIELD, ERR, ERROR,)
 Evaluates data projection. More...
 
subroutine, public dataprojection_datapointspositionevaluate (dataProjection, field, fieldVariableType, err, error,)
 Evaluate the data points position in a field based on data projection. More...
 
subroutine, public dataprojection_maximuminterationupdateget (DATA_PROJECTION, MAXIMUM_ITERATION_UPDATE, ERR, ERROR,)
 Gets the maximum iteration update for a data projection. More...
 
subroutine, public dataprojection_maximuminterationupdateset (DATA_PROJECTION, MAXIMUM_ITERATION_UPDATE, ERR, ERROR,)
 Sets the maximum iteration update for a data projection. More...
 
subroutine, public dataprojection_maximumnumberofiterationsget (DATA_PROJECTION, MAXIMUM_NUMBER_OF_ITERATIONS, ERR, ERROR,)
 Gets the maximum number of iterations for a data projection. More...
 
subroutine, public dataprojection_maximumnumberofiterationsset (DATA_PROJECTION, MAXIMUM_NUMBER_OF_ITERATIONS, ERR, ERROR,)
 Sets the maximum number of iterations for a data projection. More...
 
subroutine 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_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_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_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_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 dataprojection_numberofclosestelementsget (DATA_PROJECTION, NUMBER_OF_CLOSEST_ELEMENTS, ERR, ERROR,)
 Gets the number of closest elements for a data projection. More...
 
subroutine, public dataprojection_numberofclosestelementsset (DATA_PROJECTION, NUMBER_OF_CLOSEST_ELEMENTS, ERR, ERROR,)
 Sets the number of closest elements for a data projection. More...
 
subroutine, public 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_projection_type_get (DATA_PROJECTION, PROJECTION_TYPE, ERR, ERROR,)
 Gets the projection type for a data projection. More...
 
subroutine, public data_projection_projection_type_set (DATA_PROJECTION, PROJECTION_TYPE, ERR, ERROR,)
 Sets the projection type for a data projection. More...
 
subroutine, public data_projection_relative_tolerance_get (DATA_PROJECTION, RELATIVE_TOLERANCE, ERR, ERROR,)
 Gets the relative tolerance for a data projection. More...
 
subroutine, public data_projection_relative_tolerance_set (DATA_PROJECTION, RELATIVE_TOLERANCE, ERR, ERROR,)
 Sets the relative tolerance for a data projection. More...
 
subroutine, public data_projection_starting_xi_get (DATA_PROJECTION, STARTING_XI, ERR, ERROR,)
 Gets the starting xi for a data projection. More...
 
subroutine, public data_projection_starting_xi_set (DATA_PROJECTION, STARTING_XI, ERR, ERROR,)
 Sets the starting xi for a data projection. More...
 
subroutine, public 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_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_label_get_vs (DATA_PROJECTION, LABEL, ERR, ERROR,)
 Gets the label for a data projection for varying string labels. More...
 
subroutine data_projection_label_get_c (DATA_PROJECTION, LABEL, ERR, ERROR,)
 Gets the label for a data projection for character labels. More...
 
subroutine 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_label_set_vs (DATA_PROJECTION, LABEL, ERR, ERROR,)
 Sets the label for a data projection for varying string labels. More...
 
subroutine, public 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 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 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_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_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_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 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_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_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_all_elements_projection_type =3
 The element projection type for data projection, projects to all elements in mesh. More...
 
integer(intg), parameter data_projection_exit_tag_converged =1
 Data projection exited due to it being converged. More...
 
integer(intg), parameter 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_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_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.

Function/Subroutine Documentation

subroutine, public data_projection_routines::data_projection_absolute_tolerance_get ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), intent(out)  ABSOLUTE_TOLERANCE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the absolute tolerance for a data projection.

Parameters
data_projectionA pointer to the data projection to get the absolute tolerance for
[out]absolute_toleranceOn exit, the absolute tolerance of the specified data projection
[out]errThe error code
[out]errorThe error string

Definition at line 166 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_absolute_tolerance_set ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), intent(in)  ABSOLUTE_TOLERANCE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the absolute tolerance for a data projection.

Parameters
data_projectionA pointer to the data projection to set the absolute tolerance for
[in]absolute_tolerancethe absolute tolerance to set
[out]errThe error code
[out]errorThe error string

Definition at line 199 of file data_projection_routines.f90.

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

subroutine data_projection_routines::data_projection_closest_elements_find ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), intent(in)  NUMBER_OF_CANDIDATES,
integer(intg), dimension(:), intent(out)  CLOSEST_ELEMENTS,
real(dp), dimension(:), intent(out)  CLOSEST_DISTANCES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Find the closest elements to a data point based on starting xi guess.

Parameters
data_projectionData projection problem to evaluate
[out]closest_elementsList of shortest element number
[out]closest_distancesList of shortest distance (squared)
[out]errThe error code
[out]errorThe error string

Definition at line 237 of file data_projection_routines.f90.

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

Referenced by dataprojection_datapointsprojectionevaluate().

subroutine data_projection_routines::data_projection_closest_faces_find ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENT_FACES,
integer(intg), intent(in)  NUMBER_OF_CANDIDATES,
integer(intg), dimension(:), intent(out)  CLOSEST_ELEMENTS,
integer(intg), dimension(:), intent(out)  CLOSEST_ELEMENT_FACES,
real(dp), dimension(:), intent(out)  CLOSEST_DISTANCES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Find the closest faces to a data point base on starting xi guess.

Parameters
data_projectionData projection problem to evaluate
[out]closest_elementsList of shortest element number
[out]closest_element_facesList of shortest element face number
[out]closest_distancesList of shortest distance (squared)
[out]errThe error code
[out]errorThe error string

Definition at line 335 of file data_projection_routines.f90.

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

Referenced by dataprojection_datapointsprojectionevaluate().

subroutine data_projection_routines::data_projection_closest_lines_find ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENT_LINES,
integer(intg), intent(in)  NUMBER_OF_CANDIDATES,
integer(intg), dimension(:), intent(out)  CLOSEST_ELEMENTS,
integer(intg), dimension(:), intent(out)  CLOSEST_ELEMENT_LINES,
real(dp), dimension(:), intent(out)  CLOSEST_DISTANCES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Find the closest lines to a data point base on starting xi guess.

Parameters
data_projectionData projection problem to evaluate
[out]closest_elementsList of shortest element number
[out]closest_element_linesList of shortest element line number
[out]closest_distancesList of shortest distance (squared)
[out]errThe error code
[out]errorThe error string

Definition at line 444 of file data_projection_routines.f90.

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

Referenced by dataprojection_datapointsprojectionevaluate().

subroutine, public data_projection_routines::data_projection_create_finish ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finishes the process of creating data projection.

Parameters
data_projectionOn exit, a pointer to the created data projection
[out]errThe error code
[out]errorThe error string
[out]errorInitialise data projection part in data points

Definition at line 552 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_create_start_data_points ( integer(intg), intent(in)  DATA_PROJECTION_USER_NUMBER,
type(data_points_type), pointer  DATA_POINTS,
type(mesh_type), pointer  MESH,
type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Starts the process of creating data projection.

Parameters
[in]data_projection_user_numberthe user number of the data projection
data_pointsA pointer to the data points in which to create data projection
meshA pointer to the mesh where the data points are projected
data_projectionOn exit, a pointer to the created data projection
[out]errThe error code
[out]errorThe error string

Definition at line 598 of file data_projection_routines.f90.

References data_projection_all_elements_projection_type, data_projection_boundary_faces_projection_type, data_projection_boundary_lines_projection_type, base_routines::enters(), base_routines::exits(), and trees::tree_item_insert().

subroutine, public data_projection_routines::data_projection_destroy ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Destroys a data projection.

Parameters
data_projectionA pointer to the data projection to destroy
[out]errThe error code
[out]errorThe error string

Definition at line 834 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_element_set ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
integer(intg), intent(in)  ELEMENT_USER_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the element for a data projection.

Parameters
data_projectionA pointer to the data projection to set the element for
[in]data_point_user_numberdata point user number
[in]element_user_numberthe user element number to set
[out]errThe error code
[out]errorThe error string

Definition at line 3180 of file data_projection_routines.f90.

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

subroutine data_projection_routines::data_projection_finalise ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Finalise a data projection.

Parameters
data_projectionA pointer to the data projection to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 862 of file data_projection_routines.f90.

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

Referenced by data_projection_destroy().

subroutine data_projection_routines::data_projection_label_get_c ( type(data_projection_type), pointer  DATA_PROJECTION,
character(len=*), intent(out)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets the label for a data projection for character labels.

See also
OPENCMISS::CMISSDataProjectionLabelGet
Parameters
data_projectionA pointer to the data projection to get the label for
[out]labelthe label to get
[out]errThe error code
[out]errorThe error string

Definition at line 3289 of file data_projection_routines.f90.

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

subroutine data_projection_routines::data_projection_label_get_vs ( type(data_projection_type), pointer  DATA_PROJECTION,
type(varying_string), intent(out)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets the label for a data projection for varying string labels.

See also
OPENCMISS::CMISSDataProjectionLabelGet
Parameters
data_projectionA pointer to the data projection to get the label for
[out]labelthe label to get
[out]errThe error code
[out]errorThe error string

Definition at line 3260 of file data_projection_routines.f90.

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

subroutine data_projection_routines::data_projection_label_set_c ( type(data_projection_type), pointer  DATA_PROJECTION,
character(len=*), intent(in)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets the label for a data projection for varying string labels.

See also
OPENCMISS::CMISSDataProjectionLabelSet
Parameters
data_projectionA pointer to the data projection to set the label for
[in]labelthe label to set
[out]errThe error code
[out]errorThe error string

Definition at line 3325 of file data_projection_routines.f90.

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

subroutine data_projection_routines::data_projection_label_set_vs ( type(data_projection_type), pointer  DATA_PROJECTION,
type(varying_string), intent(in)  LABEL,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Sets the label for a data projection for varying string labels.

See also
OPENCMISS::CMISSDataProjectionLabelSet
Parameters
data_projectionA pointer to the data projection to set the label for
[in]labelthe label to set
[out]errThe error code
[out]errorThe error string

Definition at line 3354 of file data_projection_routines.f90.

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

subroutine data_projection_routines::data_projection_newton_elements_evaluate_1 ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), intent(out)  PROJECTION_EXIT_TAG,
integer(intg), intent(out)  PROJECTION_ELEMENT_NUMBER,
real(dp), intent(out)  PROJECTION_DISTANCE,
real(dp), dimension(1), intent(out)  PROJECTION_XI,
real(dp), dimension(3), intent(out)  PROJECTION_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Find the projection of a data point onto 1D elements.

Parameters
data_projectionData projection problem to evaluate
[out]errThe error code
[out]errorThe error string

Definition at line 1729 of file data_projection_routines.f90.

References data_projection_exit_tag_bounds, data_projection_exit_tag_converged, data_projection_exit_tag_max_iteration, data_projection_exit_tag_no_element, base_routines::enters(), base_routines::exits(), constants::first_part_deriv, constants::no_part_deriv, constants::second_part_deriv, and constants::zero_tolerance.

Referenced by dataprojection_datapointsprojectionevaluate().

subroutine data_projection_routines::data_projection_newton_elements_evaluate_2 ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), intent(out)  PROJECTION_EXIT_TAG,
integer(intg), intent(out)  PROJECTION_ELEMENT_NUMBER,
real(dp), intent(out)  PROJECTION_DISTANCE,
real(dp), dimension(2), intent(out)  PROJECTION_XI,
real(dp), dimension(3), intent(out)  PROJECTION_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine data_projection_routines::data_projection_newton_elements_evaluate_3 ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), intent(out)  PROJECTION_EXIT_TAG,
integer(intg), intent(out)  PROJECTION_ELEMENT_NUMBER,
real(dp), intent(out)  PROJECTION_DISTANCE,
real(dp), dimension(3), intent(out)  PROJECTION_XI,
real(dp), dimension(3), intent(out)  PROJECTION_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private
subroutine data_projection_routines::data_projection_newton_faces_evaluate ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENT_FACES,
integer(intg), intent(out)  PROJECTION_EXIT_TAG,
integer(intg), intent(out)  PROJECTION_ELEMENT_NUMBER,
integer(intg), intent(out)  PROJECTION_ELEMENT_FACE_NUMBER,
real(dp), intent(out)  PROJECTION_DISTANCE,
real(dp), dimension(2), intent(out)  PROJECTION_XI,
real(dp), dimension(3), intent(out)  PROJECTION_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Find the projection of a data point onto element faces (slight difference to DATA_PROJECTION_NEWTON_ELEMENTS_EVALUATE_2)

Parameters
data_projectionData projection problem to evaluate
[out]errThe error code
[out]errorThe error string

Definition at line 2415 of file data_projection_routines.f90.

References data_projection_exit_tag_bounds, data_projection_exit_tag_converged, data_projection_exit_tag_max_iteration, data_projection_exit_tag_no_element, base_routines::enters(), base_routines::exits(), constants::no_part_deriv, constants::part_deriv_s1, constants::part_deriv_s1_s1, constants::part_deriv_s1_s2, constants::part_deriv_s2, constants::part_deriv_s2_s2, kinds::ptr, constants::second_part_deriv, and constants::zero_tolerance.

Referenced by dataprojection_datapointsprojectionevaluate().

subroutine data_projection_routines::data_projection_newton_lines_evaluate ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_interpolated_point_type), pointer  INTERPOLATED_POINT,
real(dp), dimension(:), intent(in)  POINT_VALUES,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENTS,
integer(intg), dimension(:), intent(in)  CANDIDATE_ELEMENT_LINES,
integer(intg), intent(out)  PROJECTION_EXIT_TAG,
integer(intg), intent(out)  PROJECTION_ELEMENT_NUMBER,
integer(intg), intent(out)  PROJECTION_ELEMENT_LINE_NUMBER,
real(dp), intent(out)  PROJECTION_DISTANCE,
real(dp), dimension(1), intent(out)  PROJECTION_XI,
real(dp), dimension(3), intent(out)  PROJECTION_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Find the projection of a data point onto element lines (slight difference to DATA_PROJECTION_NEWTON_ELEMENTS_EVALUATE_1)

Parameters
data_projectionData projection problem to evaluate
[out]errThe error code
[out]errorThe error string

Definition at line 2643 of file data_projection_routines.f90.

References data_projection_exit_tag_bounds, data_projection_exit_tag_converged, data_projection_exit_tag_max_iteration, data_projection_exit_tag_no_element, base_routines::enters(), base_routines::exits(), constants::first_part_deriv, constants::no_part_deriv, constants::second_part_deriv, and constants::zero_tolerance.

Referenced by dataprojection_datapointsprojectionevaluate().

subroutine, public data_projection_routines::data_projection_projection_type_get ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  PROJECTION_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection type for a data projection.

Parameters
data_projectionA pointer to the data projection to get the projection type for
[out]projection_typeOn exit, the projection type of the specified data projection
[out]errThe error code
[out]errorThe error string

Definition at line 2929 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_projection_type_set ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  PROJECTION_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the projection type for a data projection.

Parameters
data_projectionA pointer to the data projection to set the projection type for
[in]projection_typethe projection type to set
[out]errThe error code
[out]errorThe error string

Definition at line 2962 of file data_projection_routines.f90.

References data_projection_all_elements_projection_type, data_projection_boundary_faces_projection_type, data_projection_boundary_lines_projection_type, base_routines::enters(), and base_routines::exits().

subroutine, public data_projection_routines::data_projection_relative_tolerance_get ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), intent(out)  RELATIVE_TOLERANCE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the relative tolerance for a data projection.

Parameters
data_projectionA pointer to the data projection to get the relative tolerance for
[out]relative_toleranceOn exit, the relative tolerance of the specified data projection
[out]errThe error code
[out]errorThe error string

Definition at line 3020 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_relative_tolerance_set ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), intent(in)  RELATIVE_TOLERANCE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the relative tolerance for a data projection.

Parameters
data_projectionA pointer to the data projection to set the relative tolerance for
[in]relative_tolerancethe relative tolerance to set
[out]errThe error code
[out]errorThe error string

Definition at line 3053 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_result_distance_get ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
real(dp), intent(out)  PROJECTION_DISTANCE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection distance for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to get the projection distance for
[out]projection_distanceOn exit, the projection distance of the specified data point
[out]errThe error code
[out]errorThe error string

Definition at line 3219 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_result_element_number_get ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
integer(intg), intent(out)  PROJECTION_ELEMENT_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection element number for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to get the projection element number for
[out]projection_element_numberOn exit, the projection element number of the specified global data point
[out]errThe error code
[out]errorThe error string

Definition at line 3384 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_result_exit_tag_get ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
integer(intg), intent(out)  PROJECTION_EXIT_TAG,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection exit tag for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to get the projection exit tag for
[out]projection_exit_tagOn exit, the projection exit tag of the specified global data point
[out]errThe error code
[out]errorThe error string

Definition at line 3521 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_result_xi_get ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
real(dp), dimension(:), intent(out)  PROJECTION_XI,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection xi for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to get the projection xi for
[out]projection_xiOn exit, the projection xi of the specified global data point
[out]errThe error code
[out]errorThe error string

Definition at line 3562 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_result_xi_set ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
real(dp), dimension(:), intent(in)  PROJECTION_XI,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the projection xi for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to set the projection xi for
[in]projection_xiThe projection xi of the specified global data point to set
[out]errThe error code
[out]errorThe error string

Definition at line 3611 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_starting_xi_get ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), dimension(:), intent(out)  STARTING_XI,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the starting xi for a data projection.

Parameters
data_projectionA pointer to the data projection to get the starting xi for
[out]starting_xiOn exit, the starting xi of the specified data projection
[out]errThe error code
[out]errorThe error string

Definition at line 3090 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::data_projection_starting_xi_set ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), dimension(:), intent(in)  STARTING_XI,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the starting xi for a data projection.

Parameters
data_projectionA pointer to the data projection to set the starting xi for
[in]starting_xithe starting xi to set
[out]errThe error code
[out]errorThe error string

Definition at line 3130 of file data_projection_routines.f90.

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

subroutine data_projection_routines::dataprojection_datapointcheckexist ( type(data_projection_type), pointer  DataProjection,
integer(intg)  dataPointUserNumber,
logical, intent(out)  dataPointExist,
integer(intg), intent(out)  dataPointGlobalNumber,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)
private

Checks that a user data point number is defined for a specific data projection.

Parameters
dataprojectionA pointer to the data projection whose data points to check
datapointusernumberThe user data point number to check if it exists
[out]datapointexistOn exit, is .TRUE. if the data point user number exists in the region, .FALSE. if not
[out]datapointglobalnumberOn exit, if the data point exists the global number corresponding to the user data point number. If the data point does not exist then global number will be 0.
[out]errThe error code
[out]errorThe error string

Definition at line 725 of file data_projection_routines.f90.

References base_routines::enters(), base_routines::exits(), trees::tree_node_value_get(), and trees::tree_search().

Referenced by data_projection_element_set().

subroutine data_projection_routines::dataprojection_datapointglobalnumberget ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  USER_NUMBER,
integer(intg), intent(out)  GLOBAL_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Gets the user number for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection whose data points to get the number for
[in]user_numberThe user number of the data point to get the global number for
[out]global_numberOn exit, the global number of the specified user data point
[out]errThe error code
[out]errorThe error string

Definition at line 911 of file data_projection_routines.f90.

References base_routines::enters(), base_routines::exits(), trees::tree_node_value_get(), and trees::tree_search().

Referenced by data_projection_result_distance_get(), data_projection_result_element_number_get(), data_projection_result_exit_tag_get(), data_projection_result_xi_get(), data_projection_result_xi_set(), dataprojection_resultelementfacenumberget(), dataprojection_resultelementlinenumberget(), and dataprojection_resultprojectionvectorget().

subroutine, public data_projection_routines::dataprojection_datapointspositionevaluate ( type(data_projection_type), pointer  dataProjection,
type(field_type), pointer  field,
integer(intg), intent(in)  fieldVariableType,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Evaluate the data points position in a field based on data projection.

Parameters
dataprojectionData projection to give the xi locations and element number for the data points
fieldA pointer to the field to be interpolated
[in]fieldvariabletypeThe field variable type to be interpolated
[out]errThe error code
[out]errorThe error string

Definition at line 1522 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_datapointsprojectionevaluate ( type(data_projection_type), pointer  DATA_PROJECTION,
type(field_type), pointer  PROJECTION_FIELD,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine data_projection_routines::dataprojection_dataprojectionresultinitialise ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
private

Initialises the data projection part in a given data points. %%%%% THIS NEED TO BE CHANGED!!! TIM.

Parameters
data_projectionA pointer to the data projection to initialise the data projection result for
[out]errThe error code
[out]errorThe error string

Definition at line 770 of file data_projection_routines.f90.

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

Referenced by data_projection_create_finish().

subroutine, public data_projection_routines::dataprojection_maximuminterationupdateget ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), intent(out)  MAXIMUM_ITERATION_UPDATE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the maximum iteration update for a data projection.

Parameters
data_projectionA pointer to the data projection to get the maximum iteration update for
[out]maximum_iteration_updateOn exit, the maximum iteration update of the specified data projection
[out]errThe error code
[out]errorThe error string

Definition at line 1588 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_maximuminterationupdateset ( type(data_projection_type), pointer  DATA_PROJECTION,
real(dp), intent(in)  MAXIMUM_ITERATION_UPDATE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the maximum iteration update for a data projection.

Parameters
data_projectionA pointer to the data projection to set the maximum iteration update for
[in]maximum_iteration_updatethe maximum iteration update to set
[out]errThe error code
[out]errorThe error string

Definition at line 1620 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_maximumnumberofiterationsget ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  MAXIMUM_NUMBER_OF_ITERATIONS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the maximum number of iterations for a data projection.

Parameters
data_projectionA pointer to the data projection to get the maximum number of iterations for
[out]maximum_number_of_iterationsOn exit, the maximum number of iterations of the specified data projection
[out]errThe error code
[out]errorThe error string

Definition at line 1658 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_maximumnumberofiterationsset ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  MAXIMUM_NUMBER_OF_ITERATIONS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the maximum number of iterations for a data projection.

Parameters
data_projectionA pointer to the data projection to set the maximum number of iterations for
[in]maximum_number_of_iterationsthe maximum number of iterations to set
[out]errThe error code
[out]errorThe error string

Definition at line 1691 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_numberofclosestelementsget ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(out)  NUMBER_OF_CLOSEST_ELEMENTS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the number of closest elements for a data projection.

Parameters
data_projectionA pointer to the data projection to get the number of closest elements for
[out]number_of_closest_elementsOn exit, the number of closest elements of the specified data projection
[out]errThe error code
[out]errorThe error string

Definition at line 2802 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_numberofclosestelementsset ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  NUMBER_OF_CLOSEST_ELEMENTS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the number of closest elements for a data projection.

Parameters
data_projectionA pointer to the data projection to set the number of closest elements for
[in]number_of_closest_elementsthe number of closest elements to set
[out]errThe error code
[out]errorThe error string

Definition at line 2835 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_projectioncandidatesset ( type(data_projection_type), pointer  dataProjection,
integer(intg), dimension(:), intent(in)  elementUserNumber,
integer(intg), dimension(:), intent(in)  localFaceLineNumbers,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Sets the candidates element numbers and local line/face numbers for a data projection.

Parameters
dataprojectionA pointer to the data projection to set the projection type for
[in]elementusernumberthe projection candidate user element numbers
[in]localfacelinenumbersthe projection candidate element face/line numbers
[out]errThe error code
[out]errorThe error string

Definition at line 2872 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_resultelementfacenumberget ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
integer(intg), intent(out)  PROJECTION_ELEMENT_FACE_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection element face number for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to get the projection element face number for
[out]projection_element_face_numberOn exit, the projection element face number of the specified global data point
[out]errThe error code
[out]errorThe error string

Definition at line 3426 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_resultelementlinenumberget ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
integer(intg), intent(out)  PROJECTION_ELEMENT_LINE_NUMBER,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection element line number for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to get the element line number distance for
[out]projection_element_line_numberOn exit, the projection element line number of the specified global data point
[out]errThe error code
[out]errorThe error string

Definition at line 3474 of file data_projection_routines.f90.

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

subroutine, public data_projection_routines::dataprojection_resultprojectionvectorget ( type(data_projection_type), pointer  DATA_PROJECTION,
integer(intg), intent(in)  DATA_POINT_USER_NUMBER,
real(dp), dimension(:), intent(out)  projectionVector,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the projection vector for a data point identified by a given global number.

Parameters
data_projectionA pointer to the data projection for which projection result is stored
[in]data_point_user_numberThe Data projection user number to get the projection xi for
[out]projectionvectorOn exit, the projection vector of the specified global data point
[out]errThe error code
[out]errorThe error string

Definition at line 3661 of file data_projection_routines.f90.

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