OpenCMISS-Iron Internal API Documentation
|
This module contains all coordinate transformation and support routines. More...
Data Types | |
interface | coordinate_convert_from_rc |
COORDINATE_CONVERT_FROM_RC performs a coordinate transformation from a rectangular cartesian coordinate at the point with coordinate Z(:) to the returned point with coordinate X(:) in the coordinate system identified by COORDINATE_SYSTEM. More... | |
interface | coordinate_convert_to_rc |
COORDINATE_CONVERT_TO_RC performs a coordinate transformation from a coordinate system identified by COORDINATE_SYSTEM at the point X(:) to the returned point Z(:) in rectangular cartesian coordinates. More... | |
interface | coordinate_delta_calculate |
Calculates the difference (or delta) between two points in a coordinate system. Discontinuities for polar coordinate systems are accounted for. More... | |
interface | coordinate_derivative_convert_to_rc |
type | coordinate_systems_type |
interface | d2zx |
interface | dxz |
Calculates DX(:)/DZ(I) at X, where Z(I) are rectangular cartesian and X(:) are curvilinear coordinates defined by COORDINATE_SYSTEM. More... | |
interface | dzx |
Functions/Subroutines | |
real(dp) function, dimension(size(z, 1)) | coordinate_convert_from_rc_dp (COORDINATE_SYSTEM, Z, ERR, ERROR) |
Performs a coordinate transformation from a rectangular cartesian coordinate at the point with coordinate Z(:) to the returned point with coordinate X(:) in the coordinate system identified by COORDINATE_SYSTEM for double precision coordinates. More... | |
real(sp) function, dimension(size(z, 1)) | coordinate_convert_from_rc_sp (COORDINATE_SYSTEM, Z, ERR, ERROR) |
COORDINATE_CONVERT_FROM_RC_SP performs a coordinate transformation from a rectangular cartesian coordinate at the point with coordinate Z(:) to the returned point with coordinate X(:) in the coordinate system identified by COORDINATE_SYSTEM for single precision coordinates. More... | |
real(dp) function, dimension(size(x, 1)) | coordinate_convert_to_rc_dp (COORDINATE_SYSTEM, X, ERR, ERROR) |
COORDINATE_CONVERT_TO_RC_DP performs a coordinate transformation from a coordinate system identified by COORDINATE_SYSTEM at the point X(:) to the returned point Z(:) in rectangular cartesian coordinates for double precision coordinates. More... | |
real(sp) function, dimension(size(x, 1)) | coordinate_convert_to_rc_sp (COORDINATE_SYSTEM, X, ERR, ERROR) |
COORDINATE_CONVERT_TO_RC_SP performs a coordinate transformation from a coordinate system identified by COORDINATE_SYSTEM at the point X(:) to the returned point Z(:) in rectangular cartesian coordinates for single precision coordinates. More... | |
real(dp) function, dimension(size(x, 1)) | coordinate_delta_calculate_dp (COORDINATE_SYSTEM, X, Y, ERR, ERROR) |
Calculates the difference (or detlta) between the point X and the point Y i.e., Y-X, in the given coordinate system. 0->2Pi discontinuities with polar coordinates are accounted for. More... | |
subroutine, public | coordinate_metrics_calculate (COORDINATE_SYSTEM, JACOBIAN_TYPE, METRICS, ERR, ERROR,) |
Calculates the covariant metric tensor GL(i,j), the contravariant metric tensor GU(i,J), the Jacobian and derivative of the interpolated coordinate system (XI_i) with respect to the given coordinate (X_j) system (DXI_DX) at a point (X - normally a Gauss point). Old cmiss name: XGMG. More... | |
subroutine | coordinate_system_normal_calculate (COORDINATE_SYSTEM, REVERSE, X, N, ERR, ERROR,) |
Calculates the normal vector, N, at the point X. IF REVERSE is true the reversed normal is returned. Old-cmiss-name: NORMAL. More... | |
subroutine, public | coordinate_system_dimension_get (COORDINATE_SYSTEM, NUMBER_OF_DIMENSIONS, ERR, ERROR,) |
Gets the coordinate system dimension. More... | |
subroutine | coordinate_system_finalise (COORDINATE_SYSTEM, ERR, ERROR,) |
Finalises a coordinate system and deallocates all memory. More... | |
subroutine, public | coordinate_system_focus_get (COORDINATE_SYSTEM, FOCUS, ERR, ERROR,) |
Returns the coordinate system focus. More... | |
subroutine, public | coordinates_radialinterpolationtypeget (coordinateSystem, radialInterpolationType, err, error,) |
Gets the coordinate system radial interpolation type. More... | |
subroutine, public | coordinate_system_type_get (COORDINATE_SYSTEM, SYSTEM_TYPE, ERR, ERROR,) |
Gets the coordinate system type. More... | |
subroutine, public | coordinate_system_dimension_set (COORDINATE_SYSTEM, DIMENSION, ERR, ERROR,) |
Sets/changes the dimension of the coordinate system. More... | |
subroutine, public | coordinate_system_focus_set (COORDINATE_SYSTEM, FOCUS, ERR, ERROR,) |
Sets/changes the focus of a coordinate system. More... | |
subroutine, public | coordinates_radialinterpolationtypeset (coordinateSystem, radialInterpolationType, err, error,) |
Sets/changes the radial interpolation type of a coordinate system. More... | |
subroutine, public | coordinate_system_type_set (COORDINATE_SYSTEM, TYPE, ERR, ERROR,) |
Sets/changes the type of a coordinate system. More... | |
subroutine, public | coordinate_system_origin_get (COORDINATE_SYSTEM, ORIGIN, ERR, ERROR,) |
Returns the origin of a coordinate system. More... | |
subroutine, public | coordinate_system_origin_set (COORDINATE_SYSTEM, ORIGIN, ERR, ERROR,) |
Sets/changes the origin of a coordinate system. More... | |
subroutine, public | coordinate_system_orientation_get (COORDINATE_SYSTEM, ORIENTATION, ERR, ERROR,) |
Returns the orientation of a coordinate system. More... | |
subroutine, public | coordinate_system_orientation_set (COORDINATE_SYSTEM, ORIENTATION, ERR, ERROR,) |
Sets/changes the orientation of a coordinate system. More... | |
subroutine, public | coordinate_system_create_start (USER_NUMBER, COORDINATE_SYSTEM, ERR, ERROR,) |
Starts the creation of and initialises a new coordinate system. More... | |
subroutine, public | coordinate_system_create_finish (COORDINATE_SYSTEM, ERR, ERROR,) |
Finishes the creation of a new coordinate system. More... | |
subroutine, public | coordinate_system_destroy (COORDINATE_SYSTEM, ERR, ERROR,) |
Destroys a coordinate system. More... | |
real(dp) function, dimension(size(x, 1)) | dxz_dp (COORDINATE_SYSTEM, I, X, ERR, ERROR) |
Calculates DX(:)/DZ(I) at X, where Z(I) are rectangular cartesian and X(:) are curvilinear coordinates defined by COORDINATE_SYSTEM for double precision coordinates. More... | |
real(dp) function, dimension(size(x, 1)) | d2zx_dp (COORDINATE_SYSTEM, I, J, X, ERR, ERROR) |
real(dp) function, dimension(size(x, 1)) | dzx_dp (COORDINATE_SYSTEM, I, X, ERR, ERROR) |
subroutine | coordinate_derivative_convert_to_rc_dp (COORDINATE_SYSTEM, PART_DERIV_TYPE, X, Z, ERR, ERROR,) |
subroutine | coordinate_derivative_convert_to_rc_sp (COORDINATE_SYSTEM, PART_DERIV_TYPE, X, Z, ERR, ERROR,) |
subroutine, public | coordinate_derivative_norm (COORDINATE_SYSTEM, PART_DERIV_INDEX, INTERPOLATED_POINT, DERIV_NORM, ERR, ERROR,) |
Calculates the norm of a derivative in a coordinate system identified by COORDINATE_SYSTEM at the given interpolated point and returns the value in NORM for single precision coordinates. PART_DERIV_INDEX is used to select the appropriate partial derivative (i.e., wrt S1, S2 or S3) to normalise. More... | |
subroutine, public | coordinate_interpolation_adjust (COORDINATE_SYSTEM, PARTIAL_DERIVATIVE_INDEX, VALUE, ERR, ERROR,) |
Adjusts the interpolation for non-rectangular cartesian coordinate systems. More... | |
subroutine, public | coordinate_interpolation_parameters_adjust (COORDINATE_SYSTEM, INTERPOLATION_PARAMETERS, ERR, ERROR,) |
Adjusts the interpolation parameters for non-rectangular cartesian coordinate systems. More... | |
subroutine, public | coordinates_materialsystemcalculate (geometricInterpPointMetrics, fibreInterpPoint, dNudX, dXdNu, dNudXi, dXidNu, err, error,) |
Calculates the tensor to get from material coordinate system, nu, to local coordinate system, xi. More... | |
subroutine | coordinates_materialsystemcalculatedxdnu2d (geometricInterpPointMetrics, angle, dXdNu, err, error,) |
Calculates transformation between spatial CS and rotated reference orthogonal material CS in 2D space. More... | |
subroutine | coordinates_materialsystemcalculatedxdnu3d (geometricInterpPointMetrics, angle, dXdNu, err, error,) |
Calculates transformation between spatial CS and rotated reference orthogonal material CS in 3D space. More... | |
subroutine, public | coordinate_system_user_number_find (USER_NUMBER, COORDINATE_SYSTEM, ERR, ERROR,) |
Returns a pointer to the coordinate system identified by USER_NUMBER. If a coordinate system with that number is not found then COORDINATE_SYSTEM is set to NULL. More... | |
subroutine, public | coordinate_systems_finalise (ERR, ERROR,) |
Finalises the coordinate systems and destroys all coordinate systems. More... | |
subroutine, public | coordinate_systems_initialise (ERR, ERROR,) |
Initialises the coordinate systems and creates the world coordinate system. More... | |
Variables | |
integer(intg), parameter, public | coordinate_rectangular_cartesian_type =1 |
Rectangular Cartesian coordinate system type. More... | |
integer(intg), parameter, public | coordinate_cylindrical_polar_type =2 |
Cylindrical polar coordinate system type. More... | |
integer(intg), parameter, public | coordinate_spherical_polar_type =3 |
Spherical polar coordinate system type. More... | |
integer(intg), parameter, public | coordinate_prolate_spheroidal_type =4 |
Prolate spheroidal coordinate system type. More... | |
integer(intg), parameter, public | coordinate_oblate_spheroidal_type =5 |
Oblate spheroidal coordinate system type. More... | |
integer(intg), parameter, public | coordinate_no_radial_interpolation_type =0 |
No radial interpolation. More... | |
integer(intg), parameter, public | coordinate_radial_interpolation_type =1 |
r radial interpolation More... | |
integer(intg), parameter, public | coordinate_radial_squared_interpolation_type =2 |
r^2 radial interpolation More... | |
integer(intg), parameter, public | coordinate_radial_cubed_interpolation_type =3 |
r^3 radial interpolation More... | |
integer(intg), parameter, public | coordinate_jacobian_no_type =0 |
No Jacobian. More... | |
integer(intg), parameter, public | coordinate_jacobian_line_type =1 |
Line type Jacobian. More... | |
integer(intg), parameter, public | coordinate_jacobian_area_type =2 |
Area type Jacobian. More... | |
integer(intg), parameter, public | coordinate_jacobian_volume_type =3 |
Volume type Jacobian. More... | |
character(len=21), dimension(5), public | coordinate_system_type_string = (/ "Rectangular Cartesian", "Cylindrical Polar ", "Spherical Polar ", "Prolate Spheroidal ", "Oblate Spheroidal " /) |
type(coordinate_systems_type) | coordinate_systems |
This module contains all coordinate transformation and support routines.
|
private |
Performs a coordinate transformation from a rectangular cartesian coordinate at the point with coordinate Z(:) to the returned point with coordinate X(:) in the coordinate system identified by COORDINATE_SYSTEM for double precision coordinates.
[in] | coordinate_system | The coordinate system to perform the conversion on |
[in] | z | The rectangular cartesian coordiantes to convert |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 206 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), base_routines::exits(), constants::pi, and constants::zero_tolerance.
|
private |
COORDINATE_CONVERT_FROM_RC_SP performs a coordinate transformation from a rectangular cartesian coordinate at the point with coordinate Z(:) to the returned point with coordinate X(:) in the coordinate system identified by COORDINATE_SYSTEM for single precision coordinates.
[in] | coordinate_system | The coordinate system to convert from RC to |
[in] | z | The coordinate to convert from rectangular cartesian |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 325 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), base_routines::exits(), and constants::zero_tolerance_sp.
|
private |
COORDINATE_CONVERT_TO_RC_DP performs a coordinate transformation from a coordinate system identified by COORDINATE_SYSTEM at the point X(:) to the returned point Z(:) in rectangular cartesian coordinates for double precision coordinates.
[in] | coordinate_system | The coordinate system to convert to rectangular cartesian |
[in] | x | The coordiante to convert |
[out] | err | The error coode |
[out] | error | The error string |
Definition at line 445 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
|
private |
COORDINATE_CONVERT_TO_RC_SP performs a coordinate transformation from a coordinate system identified by COORDINATE_SYSTEM at the point X(:) to the returned point Z(:) in rectangular cartesian coordinates for single precision coordinates.
[in] | coordinate_system | The coordinate system to convert to rectangular cartesian |
[in] | x | The coordinate to convert |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 522 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
|
private |
Calculates the difference (or detlta) between the point X and the point Y i.e., Y-X, in the given coordinate system. 0->2Pi discontinuities with polar coordinates are accounted for.
[in] | coordinate_system | The coordinate system to calculate the delta for |
[in] | x | The first coordinate |
[in] | y | The second coordinate |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 598 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
|
private |
Definition at line 2469 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, 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_s1_s2_s3, constants::part_deriv_s1_s3, constants::part_deriv_s2, constants::part_deriv_s2_s2, constants::part_deriv_s2_s3, constants::part_deriv_s3, and constants::part_deriv_s3_s3.
|
private |
Definition at line 3037 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, 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_s1_s2_s3, constants::part_deriv_s1_s3, constants::part_deriv_s2, constants::part_deriv_s2_s2, constants::part_deriv_s2_s3, constants::part_deriv_s3, and constants::part_deriv_s3_s3.
subroutine, public coordinate_routines::coordinate_derivative_norm | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(in) | PART_DERIV_INDEX, | ||
type(field_interpolated_point_type), pointer | INTERPOLATED_POINT, | ||
real(dp), intent(out) | DERIV_NORM, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Calculates the norm of a derivative in a coordinate system identified by COORDINATE_SYSTEM at the given interpolated point and returns the value in NORM for single precision coordinates. PART_DERIV_INDEX is used to select the appropriate partial derivative (i.e., wrt S1, S2 or S3) to normalise.
coordinate_system | A pointer to the coordinate system to calculate the derivative norm for | |
[in] | part_deriv_index | The partial derivative index to select the direction to normalise |
interpolated_point | A pointer to the interpolated point | |
[out] | deriv_norm | On exit, the derivative norm of the coordinate |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3607 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), base_routines::exits(), constants::first_part_deriv, constants::part_deriv_s1, constants::part_deriv_s2, and constants::part_deriv_s3.
subroutine, public coordinate_routines::coordinate_interpolation_adjust | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(in) | PARTIAL_DERIVATIVE_INDEX, | ||
real(dp), intent(inout) | VALUE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Adjusts the interpolation for non-rectangular cartesian coordinate systems.
coordinate_system | A pointer to the coordinate system to adjust | |
[in] | partial_derivative_index | The partial derivative index to adjust |
[in,out] | value | On entry, the coordinate value to adjust. On exit, the adjusted value. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3699 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_radial_cubed_interpolation_type, coordinate_radial_interpolation_type, coordinate_radial_squared_interpolation_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), base_routines::exits(), and constants::no_part_deriv.
subroutine, public coordinate_routines::coordinate_interpolation_parameters_adjust | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
type(field_interpolation_parameters_type), pointer | INTERPOLATION_PARAMETERS, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Adjusts the interpolation parameters for non-rectangular cartesian coordinate systems.
coordinate_system | A pointer to the coordinate system to adjust | |
interpolation_parameters | A pointer to the interpolation parameters to adjust | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3807 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_radial_cubed_interpolation_type, coordinate_radial_interpolation_type, coordinate_radial_squared_interpolation_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_metrics_calculate | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(in) | JACOBIAN_TYPE, | ||
type(field_interpolated_point_metrics_type), pointer | METRICS, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Calculates the covariant metric tensor GL(i,j), the contravariant metric tensor GU(i,J), the Jacobian and derivative of the interpolated coordinate system (XI_i) with respect to the given coordinate (X_j) system (DXI_DX) at a point (X - normally a Gauss point). Old cmiss name: XGMG.
coordinate_system | A pointer to the coordinate system to calculate the metrics for | |
[in] | jacobian_type | The type of Jacobian to calculate |
metrics | A pointer to the metrics to calculate | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 648 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_jacobian_area_type, coordinate_jacobian_line_type, coordinate_jacobian_no_type, coordinate_jacobian_volume_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, coordinate_system_type_string, base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::enters(), base_routines::exits(), constants::first_part_deriv, constants::partial_derivative_first_derivative_map, constants::partial_derivative_second_derivative_map, input_output::write_string_matrix_name_and_indices, and constants::zero_tolerance.
subroutine, public coordinate_routines::coordinate_system_create_finish | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Finishes the creation of a new coordinate system.
coordinate_system | A pointer to the coordinate system to finish | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1810 of file coordinate_routines.f90.
References coordinate_system_type_string, coordinate_systems, base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_create_start | ( | integer(intg), intent(in) | USER_NUMBER, |
type(coordinate_system_type), pointer | COORDINATE_SYSTEM, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Starts the creation of and initialises a new coordinate system.
[in] | user_number | The user number for the created coordinate system |
coordinate_system | On exit, a pointer to the created coordinate system. Must not be associated on entry. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1737 of file coordinate_routines.f90.
References coordinate_no_radial_interpolation_type, coordinate_rectangular_cartesian_type, coordinate_system_user_number_find(), coordinate_systems, base_routines::enters(), and base_routines::exits().
Referenced by fieldml_input_routines::fieldmlinput_coordinatesystemcreatestart().
subroutine, public coordinate_routines::coordinate_system_destroy | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Destroys a coordinate system.
coordinate_system | A pointer to the coordinate system to destroy | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1852 of file coordinate_routines.f90.
References coordinate_system_finalise(), coordinate_systems, base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_dimension_get | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(out) | NUMBER_OF_DIMENSIONS, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Gets the coordinate system dimension.
coordinate_system | A pointer to the coordinate system to get the dimension for | |
[out] | number_of_dimensions | On return, the number of dimensions in the coordinate system. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1187 of file coordinate_routines.f90.
References base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_dimension_set | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(in) | DIMENSION, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets/changes the dimension of the coordinate system.
coordinate_system | A pointer the coordinate system to set the dimension for | |
[in] | dimension | The dimension to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1356 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
Referenced by fieldml_input_routines::fieldmlinput_coordinatesystemcreatestart().
|
private |
Finalises a coordinate system and deallocates all memory.
coordinate_system | A pointer to the coordinate system to finalise. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1220 of file coordinate_routines.f90.
References base_routines::enters(), and base_routines::exits().
Referenced by coordinate_system_destroy(), and coordinate_systems_finalise().
subroutine, public coordinate_routines::coordinate_system_focus_get | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
real(dp), intent(out) | FOCUS, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Returns the coordinate system focus.
coordinate_system | A pointer to the coordinate system to get the focus for | |
[out] | focus | On return, the focus of the coordinate system. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1246 of file coordinate_routines.f90.
References coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_focus_set | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
real(dp), intent(in) | FOCUS, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets/changes the focus of a coordinate system.
coordinate_system | A pointer to the coordinate system to set the focus for | |
[in] | focus | The focus to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1421 of file coordinate_routines.f90.
References coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, base_routines::enters(), base_routines::exits(), and constants::zero_tolerance.
|
private |
Calculates the normal vector, N, at the point X. IF REVERSE is true the reversed normal is returned. Old-cmiss-name: NORMAL.
coordinate_system | The coordinate system to calculate the normal for | |
[in] | reverse | If .TRUE. the reversed normal is returned. |
[in] | x | The coordinate and it's derivatives to calcualte the normal at |
[out] | n | On exit, the normal vector |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1044 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, coordinate_system_type_string, base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::enters(), base_routines::exits(), constants::partial_derivative_first_derivative_map, constants::partial_derivative_second_derivative_map, and constants::zero_tolerance.
subroutine, public coordinate_routines::coordinate_system_orientation_get | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
real(dp), dimension(:,:), intent(out) | ORIENTATION, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Returns the orientation of a coordinate system.
coordinate_system | A pointer to the coordinate system to get the orientation for | |
[out] | orientation | On return, the orientation of the coordinate system |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1657 of file coordinate_routines.f90.
References base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_orientation_set | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
real(dp), dimension(:,:), intent(in) | ORIENTATION, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets/changes the orientation of a coordinate system.
coordinate_system | A pointer to the coordinate system to set the orientation for | |
[in] | orientation | The orientation to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1693 of file coordinate_routines.f90.
References base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_origin_get | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
real(dp), dimension(:), intent(out) | ORIGIN, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Returns the origin of a coordinate system.
coordinate_system | A pointer to the coordinate system to get the origin for | |
[out] | origin | On return, the origin of the coordinate system. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1584 of file coordinate_routines.f90.
References base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_origin_set | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
real(dp), dimension(:), intent(in) | ORIGIN, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets/changes the origin of a coordinate system.
coordinate_system | A pointer to the coordinate system to set the origin for | |
[in] | origin | The origin to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1621 of file coordinate_routines.f90.
References base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinate_system_type_get | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(out) | SYSTEM_TYPE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Gets the coordinate system type.
coordinate_system | A pointer to the coordinate system to get the type for | |
[out] | system_type | On return, the type for the coordinate system. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1323 of file coordinate_routines.f90.
References base_routines::enters(), and base_routines::exits().
Referenced by fieldml_output_routines::fieldml_output_get_value_type().
subroutine, public coordinate_routines::coordinate_system_type_set | ( | type(coordinate_system_type), pointer | COORDINATE_SYSTEM, |
integer(intg), intent(in) | TYPE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets/changes the type of a coordinate system.
coordinate_system | The coordinate system to set the type for | |
[in] | type | The coordinate system type to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1539 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
Referenced by fieldml_input_routines::fieldmlinput_coordinatesystemcreatestart().
subroutine, public coordinate_routines::coordinate_system_user_number_find | ( | integer(intg), intent(in) | USER_NUMBER, |
type(coordinate_system_type), pointer | COORDINATE_SYSTEM, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Returns a pointer to the coordinate system identified by USER_NUMBER. If a coordinate system with that number is not found then COORDINATE_SYSTEM is set to NULL.
[in] | user_number | The user number of the coordinate system to find. |
coordinate_system | On exit, a pointer to the coordinate system with the specified user number if it exists. If no coordinate system has the specified user number the pointer is returned as NULL. Must not be associated on entry. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4253 of file coordinate_routines.f90.
References coordinate_systems, base_routines::enters(), and base_routines::exits().
Referenced by coordinate_system_create_start(), and region_routines::regions_initialise().
subroutine, public coordinate_routines::coordinate_systems_finalise | ( | integer(intg), intent(out) | ERR, |
type(varying_string), intent(out) | ERROR | ||
) |
Finalises the coordinate systems and destroys all coordinate systems.
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4290 of file coordinate_routines.f90.
References coordinate_system_finalise(), coordinate_systems, base_routines::enters(), and base_routines::exits().
Referenced by cmiss::cmfe_finalise_().
subroutine, public coordinate_routines::coordinate_systems_initialise | ( | integer(intg), intent(out) | ERR, |
type(varying_string), intent(out) | ERROR | ||
) |
Initialises the coordinate systems and creates the world coordinate system.
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4317 of file coordinate_routines.f90.
References coordinate_rectangular_cartesian_type, coordinate_systems, base_routines::enters(), and base_routines::exits().
Referenced by cmiss::cmfe_initialise_().
subroutine, public coordinate_routines::coordinates_materialsystemcalculate | ( | type(field_interpolated_point_metrics_type), pointer | geometricInterpPointMetrics, |
type(field_interpolated_point_type), pointer | fibreInterpPoint, | ||
real(dp), dimension(:,:), intent(out) | dNudX, | ||
real(dp), dimension(:,:), intent(out) | dXdNu, | ||
real(dp), dimension(:,:), intent(out) | dNudXi, | ||
real(dp), dimension(:,:), intent(out) | dXidNu, | ||
integer(intg), intent(out) | err, | ||
type(varying_string), intent(out) | error | ||
) |
Calculates the tensor to get from material coordinate system, nu, to local coordinate system, xi.
geometricinterppointmetrics | The geometric interpolation point metrics at the point to calculate the material coordinate system from. | |
fibreinterppoint | The fibre interpolation point at the point to calculate the material coordinate system from | |
[out] | dnudx | dNudX(nuIdx,xIdx). On return, the tensor to transform from the material system to the geometric coordinate system |
[out] | dxdnu | dXdNu(xIdx,nuIdx). On return, the tensor to transform from the geometric coordinate system to the material coordinate system |
[out] | dnudxi | dNudXi(nuIdx,xiIdx). On return, the tensor to transform from the material system to the xi coordinate system |
[out] | dxidnu | dXidNu(xiIdx,nuIdx). On return, the tensor to transform from the xi coordinate system to the material coordinate system |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3885 of file coordinate_routines.f90.
References coordinates_materialsystemcalculatedxdnu2d(), coordinates_materialsystemcalculatedxdnu3d(), base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::enters(), base_routines::exits(), and input_output::write_string_matrix_name_and_indices.
Referenced by finite_elasticity_routines::finiteelasticity_gaussdeformationgradienttensor(), laplace_equations_routines::laplaceequation_finiteelementcalculate(), and poisson_equations_routines::poisson_equation_finite_element_calculate().
|
private |
Calculates transformation between spatial CS and rotated reference orthogonal material CS in 2D space.
geometricinterppointmetrics | The geometric interpolated point metrics at the point to calculate dXdNu at. | |
[in] | angle | angle(fibreIdx). The fibre angle (in radians) |
[out] | dxdnu | dXdNu(coordinateIdx,coordinateIdx). On exit, the dXdNu tensor. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3998 of file coordinate_routines.f90.
References base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::diagnostics2, base_routines::enters(), base_routines::exits(), and input_output::write_string_matrix_name_and_indices.
Referenced by coordinates_materialsystemcalculate().
|
private |
Calculates transformation between spatial CS and rotated reference orthogonal material CS in 3D space.
geometricinterppointmetrics | The geometric interpolated point metrics at the point to calculate dXdNu at. | |
[in] | angle | angles(fibreIdx). The fibre, imbrication and sheet (in radians) |
[out] | dxdnu | dXdNu(coordinateIdx,coordinateIdx). On exit, the dXdNu tensor. |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 4078 of file coordinate_routines.f90.
References base_routines::diagnostic_output_type, base_routines::diagnostics1, base_routines::diagnostics2, base_routines::enters(), base_routines::exits(), and input_output::write_string_matrix_name_and_indices.
Referenced by coordinates_materialsystemcalculate().
subroutine, public coordinate_routines::coordinates_radialinterpolationtypeget | ( | type(coordinate_system_type), pointer | coordinateSystem, |
integer(intg), intent(out) | radialInterpolationType, | ||
integer(intg), intent(out) | err, | ||
type(varying_string), intent(out) | error | ||
) |
Gets the coordinate system radial interpolation type.
coordinatesystem | The coordinate system to get the radial interpolation for | |
[out] | radialinterpolationtype | On return, the radial interpolation type for the coordinate system |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1285 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
subroutine, public coordinate_routines::coordinates_radialinterpolationtypeset | ( | type(coordinate_system_type), pointer | coordinateSystem, |
integer(intg), intent(in) | radialInterpolationType, | ||
integer(intg), intent(out) | err, | ||
type(varying_string), intent(out) | error | ||
) |
Sets/changes the radial interpolation type of a coordinate system.
coordinatesystem | The coordinate system to set the interpolation type for | |
[in] | radialinterpolationtype | The interpolation type to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1468 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_no_radial_interpolation_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_radial_cubed_interpolation_type, coordinate_radial_interpolation_type, coordinate_radial_squared_interpolation_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
|
private |
|
private |
Calculates DX(:)/DZ(I) at X, where Z(I) are rectangular cartesian and X(:) are curvilinear coordinates defined by COORDINATE_SYSTEM for double precision coordinates.
Definition at line 1906 of file coordinate_routines.f90.
References coordinate_cylindrical_polar_type, coordinate_oblate_spheroidal_type, coordinate_prolate_spheroidal_type, coordinate_rectangular_cartesian_type, coordinate_spherical_polar_type, base_routines::enters(), and base_routines::exits().
|
private |
character(len=21), dimension(5), public coordinate_routines::coordinate_system_type_string = (/ "Rectangular Cartesian", "Cylindrical Polar ", "Spherical Polar ", "Prolate Spheroidal ", "Oblate Spheroidal " /) |
Definition at line 106 of file coordinate_routines.f90.
Referenced by coordinate_metrics_calculate(), coordinate_system_create_finish(), and coordinate_system_normal_calculate().
|
private |
Definition at line 113 of file coordinate_routines.f90.
Referenced by coordinate_system_create_finish(), coordinate_system_create_start(), coordinate_system_destroy(), coordinate_system_user_number_find(), coordinate_systems_finalise(), and coordinate_systems_initialise().