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