00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 subroutine psmile_print_found_dble (comp_info, lev, &
00012 found, loc, range, &
00013 coords1, coords2, coords3, &
00014 shape1, shape2, shape3, &
00015 control, n_coords, message, ierror)
00016
00017
00018
00019 use PRISM_constants
00020
00021 use PSMILe
00022
00023 implicit none
00024
00025
00026
00027 Type (Enddef_comp), Intent (In) :: comp_info
00028
00029
00030
00031 Integer, Intent (In) :: lev
00032
00033
00034
00035 Integer, Intent (In) :: range (2, ndim_3d)
00036
00037
00038
00039
00040
00041 Integer, Intent (In) :: found (range(1,1):range(2,1),
00042 range(1,2):range(2,2),
00043 range(1,3):range(2,3))
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 Integer, Intent (In) :: loc (ndim_2d,
00055 range(1,1):range(2,1),
00056 range(1,2):range(2,2),
00057 range(1,3):range(2,3))
00058
00059 Integer, Intent (In) :: shape1 (2, ndim_3d)
00060 Integer, Intent (In) :: shape2 (2, ndim_3d)
00061 Integer, Intent (In) :: shape3 (2, ndim_3d)
00062
00063
00064
00065
00066
00067
00068
00069 Double Precision, Intent (In) :: coords1 (shape1(1,1):shape1(2,1),
00070 shape1(1,2):shape1(2,2),
00071 shape1(1,3):shape1(2,3))
00072 Double Precision, Intent (In) :: coords2 (shape2(1,1):shape2(2,1),
00073 shape2(1,2):shape2(2,2),
00074 shape2(1,3):shape2(2,3))
00075 Double Precision, Intent (In) :: coords3 (shape3(1,1):shape3(2,1),
00076 shape3(1,2):shape3(2,2),
00077 shape3(1,3):shape3(2,3))
00078
00079
00080
00081 Integer, Intent (In) :: control (2, ndim_3d)
00082
00083 Integer, Intent (In) :: n_coords
00084
00085
00086
00087 Character (len=*), Intent(In) :: message
00088
00089
00090
00091
00092
00093 Integer, Intent (Out) :: ierror
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106 Integer, Parameter :: val_direct = 1
00107 Integer, Parameter :: val_coupler = -1
00108
00109
00110
00111 Integer :: i, j, k
00112
00113 Double precision :: xyz (n_coords)
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133 Character(len=len_cvs_string), save :: mycvs =
00134 '$Id: psmile_print_found_dble.F90,v 1.1.2.1 2008/06/20 10:43:50 ritzdorf Exp $'
00135
00136
00137
00138 ierror = 0
00139
00140 #ifdef PRISM_ASSERTION
00141 if (lev < 1) then
00142 call psmile_assert (__FILE__, __LINE__, &
00143 "lev < 1")
00144 endif
00145
00146 if (n_coords > ndim_3d) then
00147 call psmile_assert (__FILE__, __LINE__, &
00148 "n_coords > ndim_3d")
00149 endif
00150 #endif
00151
00152 print 9990, trim(ch_id), message, lev
00153
00154 do k = range(1,3), range(2,3)
00155 do j = range(1,2), range (2,2)
00156 do i = range (1,1), range (2,1)
00157
00158 print 9980, i,j,k, abs(found (i,j,k)) == lev, &
00159 found (i,j,k), loc (:, i,j,k)
00160
00161 if (abs(found (i,j,k)) /= lev) then
00162
00163 xyz (1) = coords1 (i,j,k)
00164 if (n_coords >= 2) xyz (2) = coords2 (i,j,k)
00165 if (n_coords >= 3) xyz (3) = coords3 (i,j,k)
00166
00167 print 9970, i,j,k, xyz (1:n_coords)
00168 endif
00169
00170 end do
00171 end do
00172 end do
00173
00174 call psmile_flushstd
00175
00176
00177
00178 9990 format (1x, a, ': ', a, ': lev =', i3)
00179 9980 format (1x, 'i,j,k', 3i5, ': found ', l1, ' (', i3, '), loc', 3i6)
00180 9970 format (1x, 'i,j,k', 3i5, ': coords', 3f20.12)
00181
00182 end subroutine psmile_print_found_dble