|
DCS
a Driven-Cavity Open source Simulator code
|
This module contains the definition of Type_Vector and its procedures. More...
Collaboration diagram for data_type_vector:Data Types | |
| type | type_vector |
| Derived type defining vectors. More... | |
| type | type_vector_ptr |
| Pointer of Type_Vector for creating array of pointers of Type_Vector. More... | |
Public Member Functions | |
| elemental real(r8p) function, public | sq_norm (vec) |
| Function for computing the square of the norm of a vector. More... | |
| elemental real(r8p) function, public | norml2 (vec) |
| Function for computing the norm L2 of a vector. More... | |
| elemental type(type_vector) function, public | normalize (vec) |
| Function for normalizing a vector. More... | |
| elemental type(type_vector) function, public | face_normal4 (norm, pt1, pt2, pt3, pt4) |
| Function for calculating the normal of the face defined by 4 points vector pt1, pt2, pt3 and pt4. More... | |
| elemental type(type_vector) function, public | face_normal3 (norm, pt1, pt2, pt3) |
| Function for calculating the normal of the face defined by the 3 points vector pt1, pt2 and pt3. More... | |
Public Attributes | |
| type(type_vector), parameter, public | ex = Type_Vector(1._R8P, 0._R8P, 0._R8P) |
| X direction versor (see definition). More... | |
| type(type_vector), parameter, public | ey = Type_Vector(0._R8P, 1._R8P, 0._R8P) |
| Y direction versor (see definition). More... | |
| type(type_vector), parameter, public | ez = Type_Vector(0._R8P, 0._R8P, 1._R8P) |
| Z direction versor (see definition). More... | |
Private Member Functions | |
| elemental subroutine | init_vector_self (vec) |
| Subroutine for initializing components of Type_Vector variable. More... | |
| elemental subroutine | set_vector_self (vec, x, y, z) |
| Subroutine for setting components of Type_Vector variable. More... | |
| integer(i4p) function | iolen_vector_self (vec) |
| Procedure for computing IO length. More... | |
| subroutine | load_vector_self (vec, pos, iostat, iomsg, unit) |
| Procedure for loading Type_Vector data. More... | |
| subroutine | save_vector_self (vec, pos, iostat, iomsg, unit) |
| Procedure for saving Type_Vector data. More... | |
| subroutine | print_vector_self (vec, pref, iostat, iomsg, unit) |
| Function for printing in a pretty ascii format the components of type Type_Vector. More... | |
| elemental subroutine | normalize_self (vec) |
| Subroutine for normalizing a vector. More... | |
| elemental type(type_vector) function | normalized_self (vec) |
| Subroutine for obtaining a normalized copy of a vector. More... | |
| elemental real(r8p) function | sq_norm_self (vec) |
| Function for computing the square of the norm of a vector. More... | |
| elemental real(r8p) function | norml2_self (vec) |
| Function for computing the norm L2 of a vector. More... | |
| elemental subroutine | face_normal4_self (fnormal, norm, pt1, pt2, pt3, pt4) |
| Function for calculating the normal of the face defined by 4 points vector pt1, pt2, pt3 and pt4. More... | |
| elemental subroutine | face_normal3_self (fnormal, norm, pt1, pt2, pt3) |
| Function for calculating the normal of the face defined by the 3 points vector pt1, pt2 and pt3. More... | |
| elemental type(type_vector) function | crossproduct (vec1, vec2) |
| Procedure for computing the cross product of 2 vectors. More... | |
| elemental real(r8p) function | dotproduct (vec1, vec2) |
| Procedure for computing the scalar (dot) product of 2 vectors. More... | |
| elemental type(type_vector) function | parallel (vec1, vec2) |
| Procedure for computing the component of vec1 parallel to vec2. More... | |
| elemental type(type_vector) function | orthogonal (vec1, vec2) |
| Procedure for computign the component of vec1 orthogonal to vec2. More... | |
| pure subroutine | assign_self (self1, self2) |
| Procedure for assignment between two selfs. More... | |
| elemental subroutine | assign_scalr16p (self, scal) |
| Assignment procedures definitions. More... | |
| elemental subroutine | assign_scalr8p (self, scal) |
| Procedure for assignment between a scalar (real R8P) and self. More... | |
| elemental subroutine | assign_scalr4p (self, scal) |
| Procedure for assignment between a scalar (real R4P) and self. More... | |
| elemental subroutine | assign_scali8p (self, scal) |
| Procedure for assignment between a scalar (integer I8P) and self. More... | |
| elemental subroutine | assign_scali4p (self, scal) |
| Procedure for assignment between a scalar (integer I4P) and self. More... | |
| elemental subroutine | assign_scali2p (self, scal) |
| Procedure for assignment between a scalar (integer I2P) and self. More... | |
| elemental subroutine | assign_scali1p (self, scal) |
| Procedure for assignment between a scalar (integer I1P) and self. More... | |
| elemental type(type_vector) function | self_mul_self (self1, self2) |
| Procedure for multiply (by components) two selfs. More... | |
| elemental type(type_vector) function | scalr16p_mul_self (scal, self) |
| Operator (*) procedures definitions. More... | |
| elemental type(type_vector) function | self_mul_scalr16p (self, scal) |
| Procedure for multiply self for scalar (real R16P). More... | |
| elemental type(type_vector) function | scalr8p_mul_self (scal, self) |
| Procedure for multiply scalar (real R8P) for self. More... | |
| elemental type(type_vector) function | self_mul_scalr8p (self, scal) |
| Procedure for multiply self for scalar (real R8P). More... | |
| elemental type(type_vector) function | scalr4p_mul_self (scal, self) |
| Procedure for multiply scalar (real R4P) for self. More... | |
| elemental type(type_vector) function | self_mul_scalr4p (self, scal) |
| Procedure for multiply self for scalar (real R4P). More... | |
| elemental type(type_vector) function | scali8p_mul_self (scal, self) |
| Procedure for multiply scalar (integer I8P) for self. More... | |
| elemental type(type_vector) function | self_mul_scali8p (self, scal) |
| Procedure for multiply self for scalar (integer I8P). More... | |
| elemental type(type_vector) function | scali4p_mul_self (scal, self) |
| Procedure for multiply scalar (integer I4P) for self. More... | |
| elemental type(type_vector) function | self_mul_scali4p (self, scal) |
| Procedure for multiply self for scalar (integer I4P). More... | |
| elemental type(type_vector) function | scali2p_mul_self (scal, self) |
| Procedure for multiply scalar (integer I2P) for self. More... | |
| elemental type(type_vector) function | self_mul_scali2p (self, scal) |
| Procedure for multiply self for scalar (integer I2P). More... | |
| elemental type(type_vector) function | scali1p_mul_self (scal, self) |
| Procedure for multiply scalar (integer I1P) for self. More... | |
| elemental type(type_vector) function | self_mul_scali1p (self, scal) |
| Procedure for multiply self for scalar (integer I1P). More... | |
| elemental type(type_vector) function | self_div_self (self1, self2) |
| Procedure for divide self for self. More... | |
| elemental type(type_vector) function | self_div_scalr16p (self, scal) |
| Operator (/) procedures definitions. More... | |
| elemental type(type_vector) function | self_div_scalr8p (self, scal) |
| Procedure for divide self for scalar (real R8P). More... | |
| elemental type(type_vector) function | self_div_scalr4p (self, scal) |
| Procedure for divide self for scalar (real R4P). More... | |
| elemental type(type_vector) function | self_div_scali8p (self, scal) |
| Procedure for divide self for scalar (integer I8P). More... | |
| elemental type(type_vector) function | self_div_scali4p (self, scal) |
| Procedure for divide self for scalar (integer I4P). More... | |
| elemental type(type_vector) function | self_div_scali2p (self, scal) |
| Procedure for divide self for scalar (integer I2P). More... | |
| elemental type(type_vector) function | self_div_scali1p (self, scal) |
| Procedure for divide self for scalar (integer I1P). More... | |
| elemental type(type_vector) function | positive_self (self) |
| Procedure for applay unary + to a self. More... | |
| elemental type(type_vector) function | self_sum_self (self1, self2) |
| Procedure for sum self and self. More... | |
| elemental type(type_vector) function | scalr16p_sum_self (scal, self) |
| Operator (*) procedures definitions. More... | |
| elemental type(type_vector) function | self_sum_scalr16p (self, scal) |
| Procedure for sum self and scalar (real R16P). More... | |
| elemental type(type_vector) function | scalr8p_sum_self (scal, self) |
| Procedure for sum scalar (real R8P) and self. More... | |
| elemental type(type_vector) function | self_sum_scalr8p (self, scal) |
| Procedure for sum self and scalar (real R8P). More... | |
| elemental type(type_vector) function | scalr4p_sum_self (scal, self) |
| Procedure for sum scalar (real R4P) and self. More... | |
| elemental type(type_vector) function | self_sum_scalr4p (self, scal) |
| Procedure for sum self and scalar (real R4P). More... | |
| elemental type(type_vector) function | scali8p_sum_self (scal, self) |
| Procedure for sum scalar (integer I8P) and self. More... | |
| elemental type(type_vector) function | self_sum_scali8p (self, scal) |
| Procedure for sum self and scalar (integer I8P). More... | |
| elemental type(type_vector) function | scali4p_sum_self (scal, self) |
| Procedure for sum scalar (integer I4P) and self. More... | |
| elemental type(type_vector) function | self_sum_scali4p (self, scal) |
| Procedure for sum self and scalar (integer I4P). More... | |
| elemental type(type_vector) function | scali2p_sum_self (scal, self) |
| Procedure for sum scalar (integer I2P) and self. More... | |
| elemental type(type_vector) function | self_sum_scali2p (self, scal) |
| Procedure for sum self and scalar (integer I2P). More... | |
| elemental type(type_vector) function | scali1p_sum_self (scal, self) |
| Procedure for sum scalar (integer I1P) and self. More... | |
| elemental type(type_vector) function | self_sum_scali1p (self, scal) |
| Procedure for sum self and scalar (integer I1P). More... | |
| elemental type(type_vector) function | negative_self (self) |
| Procedure for applay unary - to a self. More... | |
| elemental type(type_vector) function | self_sub_self (self1, self2) |
| Procedure for subtract self and self. More... | |
| elemental type(type_vector) function | scalr16p_sub_self (scal, self) |
| Operator (*) procedures definitions. More... | |
| elemental type(type_vector) function | self_sub_scalr16p (self, scal) |
| Procedure for subtract self and scalar (real R16P). More... | |
| elemental type(type_vector) function | scalr8p_sub_self (scal, self) |
| Procedure for subtract scalar (real R8P) and self. More... | |
| elemental type(type_vector) function | self_sub_scalr8p (self, scal) |
| Procedure for subtract self and scalar (real R8P). More... | |
| elemental type(type_vector) function | scalr4p_sub_self (scal, self) |
| Procedure for subtract scalar (real R4P) and self. More... | |
| elemental type(type_vector) function | self_sub_scalr4p (self, scal) |
| Procedure for subtract self and scalar (real R4P). More... | |
| elemental type(type_vector) function | scali8p_sub_self (scal, self) |
| Procedure for subtract scalar (integer I8P) and self. More... | |
| elemental type(type_vector) function | self_sub_scali8p (self, scal) |
| Procedure for subtract self and scalar (integer I8P). More... | |
| elemental type(type_vector) function | scali4p_sub_self (scal, self) |
| Procedure for subtract scalar (integer I4P) and self. More... | |
| elemental type(type_vector) function | self_sub_scali4p (self, scal) |
| Procedure for subtract self and scalar (integer I4P). More... | |
| elemental type(type_vector) function | scali2p_sub_self (scal, self) |
| Procedure for subtract scalar (integer I2P) and self. More... | |
| elemental type(type_vector) function | self_sub_scali2p (self, scal) |
| Procedure for subtract self and scalar (integer I2P). More... | |
| elemental type(type_vector) function | scali1p_sub_self (scal, self) |
| Procedure for subtract scalar (integer I1P) and self. More... | |
| elemental type(type_vector) function | self_sub_scali1p (self, scal) |
| Procedure for subtract self and scalar (integer I1P). More... | |
| elemental logical function | self_not_eq_self (self1, self2) |
| Procedure returns .true. More... | |
| elemental logical function | r16p_not_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_not_eq_r16p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r8p_not_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_not_eq_r8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r4p_not_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_not_eq_r4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i8p_not_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_not_eq_i8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i4p_not_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_not_eq_i4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i2p_not_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_not_eq_i2p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i1p_not_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_not_eq_i1p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_self (self1, self2) |
| Procedure returns .true. More... | |
| elemental logical function | r16p_low_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_r16p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r8p_low_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_r8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r4p_low_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_r4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i8p_low_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_i8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i4p_low_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_i4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i2p_low_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_i2p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i1p_low_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_i1p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_self (self1, self2) |
| Procedure returns .true. More... | |
| elemental logical function | r16p_low_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_r16p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r8p_low_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_r8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r4p_low_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_r4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i8p_low_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_i8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i4p_low_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_i4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i2p_low_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_i2p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i1p_low_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_low_eq_i1p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_self (self1, self2) |
| Procedure returns .true. More... | |
| elemental logical function | r16p_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_r16p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r8p_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_r8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r4p_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_r4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i8p_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_i8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i4p_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_i4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i2p_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_i2p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i1p_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_eq_i1p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_self (self1, self2) |
| Procedure returns .true. More... | |
| elemental logical function | r16p_great_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_r16p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r8p_great_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_r8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r4p_great_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_r4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i8p_great_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_i8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i4p_great_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_i4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i2p_great_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_i2p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i1p_great_eq_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_eq_i1p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_self (self1, self2) |
| Procedure returns .true. More... | |
| elemental logical function | r16p_great_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_r16p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r8p_great_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_r8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | r4p_great_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_r4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i8p_great_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_i8p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i4p_great_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_i4p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i2p_great_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_i2p (self, scal) |
| Procedure returns .true. More... | |
| elemental logical function | i1p_great_self (scal, self) |
| Procedure returns .true. More... | |
| elemental logical function | self_great_i1p (self, scal) |
| Procedure returns .true. More... | |
This module contains the definition of Type_Vector and its procedures.
This derived type is useful for manipulating selftors in 3D space. The components of the selftors are reals with R_P kind as defined by the IR_Precision module. The components are defined in a three-dimensional cartesian frame of reference. All the vectorial math procedures (cross, dot products, parallel...) assume a three-dimensional cartesian frame of reference.
Definition at line 87 of file Data_Type_Vector.f90.