OpenCMISS-Iron Internal API Documentation
|
This module contains all program wide constants. More...
Go to the source code of this file.
Modules | |
module | constants |
This module contains all program wide constants. | |
Variables | |
real(dp), parameter | constants::euler =2.718281828459045235360287471352662497757_DP |
The double precision value of e. More... | |
real(dp), parameter | constants::pi =3.141592653589793238462643383279502884197_DP |
The double precision value of pi. More... | |
real(dp), parameter | constants::twopi =6.283185307179586476925286766559005768394_DP |
The double value of 2pi. More... | |
real(dp), parameter | constants::convergence_tolerance_dp =5.0_DP*EPSILON(1.0_DP) |
The convergence tolerance for double precision convergence calculations. Convergence tests should be of the form or for norms, . More... | |
real(dp), parameter | constants::convergence_tolerance =CONVERGENCE_TOLERANCE_DP |
real(dp) | constants::loose_tolerance |
The loose tolerance for double precision convergence calculations. Loose tolerance is to be used in the same manner as CONSTANTS::CONVERGENCE_TOLERANCE when a looser criterion is desired. More... | |
real(dp), parameter | constants::zero_tolerance_dp =5.0_DP*EPSILON(1.0_DP) |
The zero tolerance for double precision zero tests i.e., if(abs(x)>zero_tolerance) then... More... | |
real(dp), parameter | constants::zero_tolerance =ZERO_TOLERANCE_DP |
real(dp), parameter | constants::convergence_tolerance_sp =5.0_SP*EPSILON(1.0_SP) |
The convergence tolerance for single precision convergence calculations. Convergence tests should be of the form or for norms, . More... | |
real(sp) | constants::loose_tolerance_sp |
The loose tolerance for single precision convergence calculations. Loose tolerance is to be used in the same manner as CONSTANTS::CONVERGENCE_TOLERANCE_SP when a looser criterion is desired. More... | |
real(sp), parameter | constants::zero_tolerance_sp =5.0_SP*EPSILON(1.0_SP) |
The zero tolerance for single precision zero tests i.e., if(abs(x)>zero_tolerance) then... More... | |
integer(intg), parameter | constants::maxstrlen =255 |
Maximum string length fro character strings. More... | |
integer(intg), parameter | constants::integer_type =1 |
Integer data type. More... | |
integer(intg), parameter | constants::short_integer_type =2 |
Short integer data type. More... | |
integer(intg), parameter | constants::long_integer_type =3 |
Long integer data type. More... | |
integer(intg), parameter | constants::single_real_type =4 |
Single precision real data type. More... | |
integer(intg), parameter | constants::double_real_type =5 |
Double precision real data type. More... | |
integer(intg), parameter | constants::quadruple_real_type =6 |
Quadruple precision real data type. More... | |
integer(intg), parameter | constants::character_type =7 |
Character data type. More... | |
integer(intg), parameter | constants::logical_type =8 |
Logical/boolean data type. More... | |
integer(intg), parameter | constants::single_complex_type =9 |
Single precision complex data type. More... | |
integer(intg), parameter | constants::double_complex_type =10 |
Double precision complex data type. More... | |
integer(intg), parameter | constants::quadruple_complex_type =11 |
Quadruple precision complex data type. More... | |
integer(intg), parameter | constants::c_int_type =12 |
C integer data type. More... | |
integer(intg), parameter | constants::big_endian_number =1 |
Big endian number type. More... | |
integer(intg), parameter | constants::little_endian_number =2 |
Little endian number type. More... | |
integer(intg), parameter | constants::ascii_character =1 |
ASCII character type. More... | |
integer(intg), parameter | constants::unicode_character =2 |
Unicode character type. More... | |
integer(intg), parameter | constants::twos_complement_integer =1 |
Twos complement integer type. More... | |
integer(intg), parameter | constants::signed_magnitude_integer =2 |
Signed magnitude integer type. More... | |
integer(intg), parameter | constants::spieee_number =1 |
Single precision IEEE real type. More... | |
integer(intg), parameter | constants::dpieee_number =2 |
Double precision IEEE real type. More... | |
integer(intg), parameter | constants::dec_computer =1 |
Digital computer system type. More... | |
integer(intg), parameter | constants::sgi_computer =2 |
Silicon Graphics computer system type. More... | |
integer(intg), parameter | constants::ibm_computer =3 |
IBM system type. More... | |
integer(intg), parameter | constants::cray_computer =4 |
Cray computer system type. More... | |
integer(intg), parameter | constants::pc_computer =5 |
PC computer system type. More... | |
integer(intg), parameter | constants::unknown_computer =255 |
Unknown computer system type. More... | |
integer(intg), parameter | constants::vms_os =1 |
VMS operating system type. More... | |
integer(intg), parameter | constants::irix_os =2 |
IRIX operating system type. More... | |
integer(intg), parameter | constants::windows_os =3 |
Windows operating system type. More... | |
integer(intg), parameter | constants::linux_os =4 |
Linux operating system type. More... | |
integer(intg), parameter | constants::aix_os =5 |
AIX operating system type. More... | |
integer(intg), parameter | constants::unknown_os =255 |
Unknown operating system type. More... | |
integer(intg), parameter | constants::library_cmiss_type =1 |
CMISS (internal) library type. More... | |
integer(intg), parameter | constants::library_petsc_type =2 |
PETSc library type. More... | |
integer(intg), parameter | constants::library_mumps_type =3 |
MUMPS library type. More... | |
integer(intg), parameter | constants::library_superlu_type =4 |
SuperLU library type. More... | |
integer(intg), parameter | constants::library_spooles_type =5 |
SPOOLES library type. More... | |
integer(intg), parameter | constants::library_umfpack_type =6 |
UMFPack library type. More... | |
integer(intg), parameter | constants::library_lusol_type =7 |
LUSOL library type. More... | |
integer(intg), parameter | constants::library_essl_type =8 |
ESSL library type. More... | |
integer(intg), parameter | constants::library_lapack_type =9 |
LAPACK library type. More... | |
integer(intg), parameter | constants::library_tao_type =10 |
TAO library type. More... | |
integer(intg), parameter | constants::library_hypre_type =11 |
Hypre library type. More... | |
integer(intg), parameter | constants::library_pastix_type =12 |
PaStiX library type. More... | |
integer(intg), parameter | constants::no_part_deriv =1 |
No partial derivative i.e., u. More... | |
integer(intg), parameter | constants::first_part_deriv =2 |
First partial derivative i.e., du/ds. More... | |
integer(intg), parameter | constants::second_part_deriv =3 |
Second partial derivative i.e., d^2u/ds^2. More... | |
integer(intg), parameter | constants::third_part_deriv =4 |
Third partial derivative i.e., d^3u/ds^3. More... | |
integer(intg), parameter | constants::part_deriv_s1 =2 |
First partial derivative in the s1 direction i.e., du/ds1. More... | |
integer(intg), parameter | constants::part_deriv_s1_s1 =3 |
Second partial derivative in the s1 direction i.e., d^2u/ds1ds1. More... | |
integer(intg), parameter | constants::part_deriv_s2 =4 |
First partial derivative in the s2 direction i.e., du/ds2. More... | |
integer(intg), parameter | constants::part_deriv_s2_s2 =5 |
Second partial derivative in the s2 direction i.e., d^2u/ds2ds2. More... | |
integer(intg), parameter | constants::part_deriv_s1_s2 =6 |
Cross derivative in the s1 and s2 direction i.e., d^2u/ds1ds2. More... | |
integer(intg), parameter | constants::part_deriv_s3 =7 |
First partial derivative in the s3 direction i.e., du/ds3. More... | |
integer(intg), parameter | constants::part_deriv_s3_s3 =8 |
Second partial derivative in the s3 direction i.e., d^2u/ds3ds3. More... | |
integer(intg), parameter | constants::part_deriv_s1_s3 =9 |
Cross derivative in the s1 and s3 direction i.e., d^2u/ds1ds3. More... | |
integer(intg), parameter | constants::part_deriv_s2_s3 =10 |
Cross derivative in the s2 and s3 direction i.e., d^2u/ds2ds3. More... | |
integer(intg), parameter | constants::part_deriv_s1_s2_s3 =11 |
Cross derivative in the s1, s2 and s3 direction i.e., d^3u/ds1ds2ds3. More... | |
integer(intg), parameter | constants::part_deriv_s4 =12 |
First partial derivative in the s4 direction i.e., du/ds4. More... | |
integer(intg), parameter | constants::part_deriv_s4_s4 =13 |
Second partial derivative in the s4 direction i.e., d^2u/ds4ds4. More... | |
integer(intg), parameter | constants::part_deriv_s1_s4 =14 |
Cross derivative in the s1 and s4 direction i.e., d^2u/ds1ds4. More... | |
integer(intg), parameter | constants::part_deriv_s2_s4 =15 |
Cross derivative in the s2 and s4 direction i.e., d^2u/ds2ds4. More... | |
integer(intg), parameter | constants::part_deriv_s3_s4 =16 |
Cross derivative in the s3 and s4 direction i.e., d^2u/ds3ds4. More... | |
integer(intg), parameter | constants::part_deriv_s1_s2_s4 =17 |
Cross derivative in the s1, s2 and s4 direction i.e., d^3u/ds1ds2ds4. More... | |
integer(intg), parameter | constants::part_deriv_s1_s3_s4 =18 |
Cross derivative in the s1, s3 and s4 direction i.e., d^3u/ds1ds3ds4. More... | |
integer(intg), parameter | constants::part_deriv_s2_s3_s4 =19 |
Cross derivative in the s2, s3 and s4 direction i.e., d^3u/ds2ds3ds4. More... | |
integer(intg), parameter | constants::part_deriv_s1_s4_s4 =20 |
Cross derivative in the s2, s4 and s4 direction i.e., d^3u/ds1ds4^2. More... | |
integer(intg), parameter | constants::part_deriv_s2_s4_s4 =21 |
Cross derivative in the s2, s4 and s4 direction i.e., d^3u/ds2ds4^2. More... | |
integer(intg), parameter | constants::part_deriv_s3_s4_s4 =22 |
Cross derivative in the s3, s4 and s4 direction i.e., d^3u/ds3ds4^2. More... | |
integer(intg), parameter | constants::part_deriv_s4_s4_s4 =23 |
Third partial derivative in the s4 direction i.e., d^3u/ds4^3. More... | |
integer(intg), parameter | constants::maximum_global_deriv_number =8 |
The maximum global derivative number. More... | |
integer(intg), parameter | constants::no_global_deriv =1 |
No global derivative i.e., u. More... | |
integer(intg), parameter | constants::global_deriv_s1 =2 |
First global derivative in the s1 direction i.e., du/ds1. More... | |
integer(intg), parameter | constants::global_deriv_s2 =3 |
First global derivative in the s2 direction i.e., du/ds2. More... | |
integer(intg), parameter | constants::global_deriv_s1_s2 =4 |
Global Cross derivative in the s1 and s2 direction i.e., d^2u/ds1ds2. More... | |
integer(intg), parameter | constants::global_deriv_s3 =5 |
First global derivative in the s3 direction i.e., du/ds3. More... | |
integer(intg), parameter | constants::global_deriv_s1_s3 =6 |
Global Cross derivative in the s1 and s3 direction i.e., d^2u/ds1ds3. More... | |
integer(intg), parameter | constants::global_deriv_s2_s3 =7 |
Global Cross derivative in the s2 and s3 direction i.e., d^2u/ds2ds3. More... | |
integer(intg), parameter | constants::global_deriv_s1_s2_s3 =8 |
Cross derivative in the s1, s2 and s3 direction i.e., d^3u/ds1ds2ds3. More... | |
integer(intg), parameter | constants::maximum_physical_deriv_number =2 |
The maximum physical derivative number. More... | |
integer(intg), parameter | constants::no_physical_deriv =1 |
No physical derivative i.e., u. More... | |
integer(intg), parameter | constants::gradient_physical_deriv =2 |
Gradient physical derivative i.e., grad u. More... | |
integer(intg), dimension(23, 4) | constants::partial_derivative_index = RESHAPE( [ NO_PART_DERIV,FIRST_PART_DERIV,SECOND_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV, FIRST_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV,NO_PART_DERIV, FIRST_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,FIRST_PART_DERIV,FIRST_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV, NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV,SECOND_PART_DERIV, FIRST_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV, FIRST_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV, NO_PART_DERIV,FIRST_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV,NO_PART_DERIV, FIRST_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,FIRST_PART_DERIV,SECOND_PART_DERIV,FIRST_PART_DERIV,FIRST_PART_DERIV, FIRST_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV, FIRST_PART_DERIV,NO_PART_DERIV,FIRST_PART_DERIV,FIRST_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,FIRST_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV,NO_PART_DERIV, NO_PART_DERIV,FIRST_PART_DERIV,SECOND_PART_DERIV,FIRST_PART_DERIV,FIRST_PART_DERIV, FIRST_PART_DERIV,FIRST_PART_DERIV,FIRST_PART_DERIV,FIRST_PART_DERIV,SECOND_PART_DERIV, SECOND_PART_DERIV,SECOND_PART_DERIV,THIRD_PART_DERIV ], [23,4]) |
Partial derivative index map. PARTIAL_DERIVATIVE_INDEX(idx,nic) gives the order of the partial derivative in the ni(c)'th direction for the idx'th partial derivative value. More... | |
integer(intg), dimension(4) | constants::partial_derivative_first_derivative_map = [ PART_DERIV_S1,PART_DERIV_S2,PART_DERIV_S3,PART_DERIV_S4 ] |
PARTIAL_DERIVATIVE_FIRST_DERIVATIVE_MAP(nic) gives the partial derivative index for the first derivative in the ni(c)'th direction. More... | |
integer(intg), dimension(4) | constants::partial_derivative_second_derivative_map = [ PART_DERIV_S1_S1,PART_DERIV_S2_S2,PART_DERIV_S3_S3, PART_DERIV_S4_S4 ] |
PARTIAL_DERIVATIVE_SECOND_DERIVATIVE_MAP(nic) gives the partial derivative index for the second derivative in the ni(c)'th direction. More... | |
integer(intg), dimension(4) | constants::partial_derivative_maximum_map = [ PART_DERIV_S1_S1,PART_DERIV_S1_S2,PART_DERIV_S1_S2_S3, PART_DERIV_S4_S4_S4 ] |
PARTIAL_DERIVATIVE_MAXIMUM_MAP(nic) gives the maximum of partial derivative index for the the ni(c)'th direction. More... | |
integer(intg), dimension(20) | constants::partial_derivative_global_derivative_map = [ NO_GLOBAL_DERIV,GLOBAL_DERIV_S1,0,GLOBAL_DERIV_S2,0, GLOBAL_DERIV_S1_S2,GLOBAL_DERIV_S3,0,GLOBAL_DERIV_S1_S3,GLOBAL_DERIV_S2_S3,GLOBAL_DERIV_S1_S2_S3,0,0,0,0,0,0,0,0,0 ] |
PARTIAL_DERIVATIVE_GLOBAL_DERIVATIVE_MAP(nu) gives the global derivative index for the the nu'th partial derivative. If no global derivative exists the map is zero. More... | |
integer(intg), dimension(8) | constants::global_derivative_partial_derivative_map = [ NO_PART_DERIV,PART_DERIV_S1,PART_DERIV_S2,PART_DERIV_S1_S2, PART_DERIV_S3,PART_DERIV_S1_S3,PART_DERIV_S2_S3,PART_DERIV_S1_S2_S3] |
GLOBAL_DERIVATIVE_PARTIAL_DERIVATIVE_MAP(nk) gives the partial derivative index for the the nk'th global derivative. More... | |
integer(intg), dimension(3) | constants::global_derivative_maximum_map = [ GLOBAL_DERIV_S1,GLOBAL_DERIV_S1_S2,GLOBAL_DERIV_S1_S2_S3 ] |
GLOBAL_DERIVATIVE_MAXIMUM_MAP(ni) gives the maximum of global derivative index for the the ni'th direction. More... | |
integer(intg), dimension(2) | constants::other_xi_directions2 = [ 2,1 ] |
OTHER_XI_DIRECTIONS2(ni) gives the other xi direction for direction ni for a two dimensional element. More... | |
integer(intg), dimension(3, 3, 2) | constants::other_xi_directions3 = RESHAPE([ 1,2,3,2,1,1,3,3,2,0,3,2,3,0,1,2,1,0 ], [3,3,2]) |
OTHER_XI_DIRECTIONS3(ni,nii,type) gives the other xi directions for direction ni for a three dimensional element. When type=1 then the nii index gives the other two xi directions (for nii=2,3) and when type=2 then ni and nii are used to give the third xi direction. More... | |
integer(intg), dimension(4, 3) | constants::other_xi_directions4 = RESHAPE([ 2,3,4,1,3,4,1,2,4,1,2,3 ], [4,3]) |
OTHER_XI_DIRECTIONS4(nic,nii) gives the other xi coordinates for coordinate nic for a simplex element. More... | |
integer(intg), dimension(2) | constants::other_xi_orientations2 = [1,-1] |
OTHER_XI_ORIENTATIONSS2(ni) gives the orientation of the given xi direction and the other xi direction. Is equal to leviCivita(ni,OTHER_XI_DIRECTIONS2(ni)) where leviCivita is the Levi-Civita or alternating symbol. More... | |
integer(intg), dimension(3, 3) | constants::other_xi_orientations3 = RESHAPE([0,-1,1,1,0,-1,-1,1,0], [3,3]) |
OTHER_XI_ORIENTATIONSS3(ni,nii) gives the orientation of the given two xi directions. Is equal to leviCivita(ni,nii,OTHER_XI_DIRECTIONS3(ni,nii,2)) where leviCivita is the Levi-Civita or alternating symbol. More... | |
integer(intg), dimension(2, 2), parameter | constants::tensor_to_voigt2 =RESHAPE([1,3,3,2], [2,2]) |
integer(intg), dimension(2, 3), parameter | constants::voigt_to_tensor2 =RESHAPE([1,1,2,2,1,2], [2,3]) |
integer(intg), dimension(3, 3), parameter | constants::tensor_to_voigt3 =RESHAPE([1,4,5,4,2,6,5,6,3], [3,3]) |
integer(intg), dimension(2, 6), parameter | constants::voigt_to_tensor3 =RESHAPE([1,1,2,2,3,3,1,2,1,3,2,3], [2,6]) |
This module contains all program wide constants.
Version: MPL 1.1/GPL 2.0/LGPL 2.1
The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
The Original Code is OpenCMISS
The Initial Developer of the Original Code is University of Auckland, Auckland, New Zealand, the University of Oxford, Oxford, United Kingdom and King's College, London, United Kingdom. Portions created by the University of Auckland, the University of Oxford and King's College, London are Copyright (C) 2007-2010 by the University of Auckland, the University of Oxford and King's College, London. All Rights Reserved.
Contributor(s):
Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL.
Definition in file constants.f90.