SCALE-RM
|
module vector More...
Functions/Subroutines | |
subroutine, public | vectr_xyz2latlon (x, y, z, lat, lon) |
subroutine, public | vectr_latlon2xyz (lat, lon, x, y, z, radius) |
subroutine, public | vectr_cross (nv, a, b, c, d) |
exterior product of vector a->b and c->d More... | |
subroutine, public | vectr_dot (l, a, b, c, d) |
interior product of vector a->b and c->d More... | |
subroutine, public | vectr_abs (l, a) |
length of vector o->a More... | |
subroutine, public | vectr_angle (angle, a, b, c) |
calc angle between two vector(b->a,b->c) More... | |
subroutine, public | vectr_intersec (ifcross, p, a, b, c, d) |
judge intersection of two vector More... | |
subroutine, public | vectr_anticlockwise (vertex, nvert) |
bubble sort anticlockwise by angle More... | |
real(rp) function, public | vectr_triangle (a, b, c, polygon_type, radius) |
subroutine, public | vectr_distance (r, lon1, lat1, lon2, lat2, dist) |
Get horizontal distance on the sphere. More... | |
module vector
subroutine, public scale_vector::vectr_xyz2latlon | ( | real(rp), intent(in) | x, |
real(rp), intent(in) | y, | ||
real(rp), intent(in) | z, | ||
real(rp), intent(out) | lat, | ||
real(rp), intent(out) | lon | ||
) |
subroutine, public scale_vector::vectr_latlon2xyz | ( | real(rp), intent(in) | lat, |
real(rp), intent(in) | lon, | ||
real(rp), intent(out) | x, | ||
real(rp), intent(out) | y, | ||
real(rp), intent(out) | z, | ||
real(rp), intent(in) | radius | ||
) |
Definition at line 118 of file scale_vector.F90.
subroutine, public scale_vector::vectr_cross | ( | real(rp), dimension(3), intent(out) | nv, |
real(rp), dimension(3), intent(in) | a, | ||
real(rp), dimension(3), intent(in) | b, | ||
real(rp), dimension(3), intent(in) | c, | ||
real(rp), dimension(3), intent(in) | d | ||
) |
exterior product of vector a->b and c->d
Definition at line 138 of file scale_vector.F90.
Referenced by vectr_angle(), vectr_anticlockwise(), vectr_intersec(), and vectr_triangle().
subroutine, public scale_vector::vectr_dot | ( | real(rp), intent(out) | l, |
real(rp), dimension(3), intent(in) | a, | ||
real(rp), dimension(3), intent(in) | b, | ||
real(rp), dimension(3), intent(in) | c, | ||
real(rp), dimension(3), intent(in) | d | ||
) |
interior product of vector a->b and c->d
Definition at line 157 of file scale_vector.F90.
Referenced by vectr_angle(), vectr_anticlockwise(), and vectr_intersec().
subroutine, public scale_vector::vectr_abs | ( | real(rp), intent(out) | l, |
real(rp), dimension(3), intent(in) | a | ||
) |
length of vector o->a
Definition at line 174 of file scale_vector.F90.
Referenced by vectr_angle(), vectr_intersec(), and vectr_triangle().
subroutine, public scale_vector::vectr_angle | ( | real(rp), intent(out) | angle, |
real(rp), dimension(3), intent(in) | a, | ||
real(rp), dimension(3), intent(in) | b, | ||
real(rp), dimension(3), intent(in) | c | ||
) |
calc angle between two vector(b->a,b->c)
Definition at line 189 of file scale_vector.F90.
References vectr_abs(), vectr_cross(), and vectr_dot().
Referenced by vectr_anticlockwise(), vectr_intersec(), and vectr_triangle().
subroutine, public scale_vector::vectr_intersec | ( | logical, intent(out) | ifcross, |
real(rp), dimension(3), intent(out) | p, | ||
real(rp), dimension(3), intent(in) | a, | ||
real(rp), dimension(3), intent(in) | b, | ||
real(rp), dimension(3), intent(in) | c, | ||
real(rp), dimension(3), intent(in) | d | ||
) |
judge intersection of two vector
Definition at line 208 of file scale_vector.F90.
References vectr_abs(), vectr_angle(), vectr_cross(), and vectr_dot().
subroutine, public scale_vector::vectr_anticlockwise | ( | real(rp), dimension(nvert,3), intent(inout) | vertex, |
integer, intent(in) | nvert | ||
) |
bubble sort anticlockwise by angle
Definition at line 267 of file scale_vector.F90.
References vectr_angle(), vectr_cross(), and vectr_dot().
real(rp) function, public scale_vector::vectr_triangle | ( | real(rp), dimension(3), intent(in) | a, |
real(rp), dimension(3), intent(in) | b, | ||
real(rp), dimension(3), intent(in) | c, | ||
character(len=*), intent(in) | polygon_type, | ||
real(rp), intent(in) | radius | ||
) |
Definition at line 342 of file scale_vector.F90.
References scale_const::const_eps, scale_const::const_pi, vectr_abs(), vectr_angle(), and vectr_cross().
subroutine, public scale_vector::vectr_distance | ( | real(rp), intent(in) | r, |
real(rp), intent(in) | lon1, | ||
real(rp), intent(in) | lat1, | ||
real(rp), intent(in) | lon2, | ||
real(rp), intent(in) | lat2, | ||
real(rp), intent(out) | dist | ||
) |