| ²é¿´: 686 | »Ø¸´: 8 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
hdh912½ð³æ (ÕýʽдÊÖ)
|
[½»Á÷]
¡¾ÇóÖú¡¿¡¾ÇóÖú¡¿Çë±àÒëVASPµÄ¹ý³ÌÖгöÏÖÁËÎÊÌ⣬Çë¸ßÊÖ°ïæ
|
||
|
±àÒë¹ý³ÌÖгöÏÖ´íÎó¡°makefile:289: ¾¯¸æ£ººöÂÔ¹ØÓÚÄ¿±ê¡°xcgrad.o¡±µÄ¾ÉÃüÁî ./preprocess pgf90 -FR -lowercase -O1 -c xcgrad.f pgf90-Error-Unknown switch: -FR make: *** [xcgrad.o] ´íÎó 1 ¡± ²»Éõ¸Ðл£¬¶¼¸ãÁ˺öàÌìÁË¡£ makefile 1. -------------------------------------------------------- 2. .SUFFIXES: .inc .f .f90 .F 3. #------------------------------------------------------ 4. # Makefile for Portland Group F90/HPF compiler release 3.0-1, 3.1 5. # and release 1.7 6. # (http://www.pgroup.com/ & ftp://ftp.pgroup.com/x86/, you need 7. # to order the HPF/F90 suite) 8. # we have found no noticable performance differences between 9. # any of the releases, even Athlon or PIII optimisation does 10. # not seem to improve performance 11. # 12. # The makefile was tested only under Linux on Intel platforms 13. # (Suse X,X) 14. # 15. # it might be required to change some of library pathes, since 16. # LINUX installation vary a lot 17. # Hence check ***ALL**** options in this makefile very carefully 18. #------------------------------------------------------ 19. # 20. # Mind that some Linux distributions (Suse 6.1) have a bug in 21. # libm causing small errors in the error-function (total energy 22. # is therefore wrong by about 1meV/atom). The recommended 23. # solution is to update libc. 24. # 25. # Mind that some Linux distributions (Suse 6.1) have a bug in 26. # libm causing small errors in the error-function (total energy 27. # is therefore wrong by about 1meV/atom). The recommended 28. # solution is to update libc. 29. # 30. # BLAS must be installed on the machine 31. # there are several options: 32. # 1) very slow but works: 33. # retrieve the lapackage from ftp.netlib.org 34. # and compile the blas routines (BLAS/SRC directory) 35. # please use g77 or f77 for the compilation. When I tried to 36. # use pgf77 or pgf90 for BLAS, VASP hang up when calling 37. # ZHEEV (however this was with lapack 1.1 now I use lapack 2.0) 38. # 2) most desirable: get an optimized BLAS 39. # for a list of optimized BLAS try 40. # http://www.kachinatech.com/~hjjou/scilib/opt_blas.html 41. # 42. # the two most reliable packages around are presently: 43. # 3a) Intels own optimised BLAS (PIII, P4, Itanium) 44. # http://developer.intel.com/software/products/mkl/ 45. # this is really excellent when you use Intel CPU's 46. # 47. # 3b) or obtain the atlas based BLAS routines 48. # http://math-atlas.sourceforge.net/ 49. # you certainly need atlas on the Athlon, since the mkl 50. # routines are not optimal on the Athlon. 51. # 52. #------------------------------------------------------- 53. 54. # all CPP processed fortran files have the extension .f 55. SUFFIX=.f 56. 57. #------------------------------------------------------- 58. # fortran compiler and linker 59. #------------------------------------------------------- 60. FC=pgf90 61. # fortran linker 62. FCL=$(FC) 63. 64. 65. #-------------------------------------------------------- 66. # whereis CPP ?? (I need CPP, can't use gcc with proper options) 67. # that's the location of gcc for SUSE 5.3 68. # 69. # CPP_ = /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -P -C 70. # 71. # that's probably the right line for some Red Hat distribution: 72. # 73. # CPP_ = /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P -C 74. # 75. # SUSE 6.X, maybe some Red Hat distributions: 76. 77. CPP_ = ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX) 78. 79. #-------------------------------------------------------- 80. # possible options for CPP: 81. # possible options for CPP: 82. # NGXhalf charge density reduced in X direction 83. # wNGXhalf gamma point only reduced in X direction 84. # avoidalloc avoid ALLOCATE if possible 85. # IFC work around some IFC bugs 86. # CACHE_SIZE 1000 for PII,PIII, 5000 for Athlon, 8000 P4 87. # RPROMU_DGEMV use DGEMV instead of DGEMM in RPRO (usually faster) 88. # RACCMU_DGEMV use DGEMV instead of DGEMM in RACC (faster on P4) 89. # **** definitely use -DRACCMU_DGEMV if you use the mkl library 90. #-------------------------------------------------------- 91. 92. CPP = $(CPP_) -DHOST=\"LinuxPgi\" \ 93. -Dkind8 -DNGXhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \ 94. -DRPROMU_DGEMV 95. 96. #-------------------------------------------------------- 97. # general fortran flags (there must a trailing blank on this line) 98. # the -Mx,119,0x200000 is required if you use older pgf90 versions 99. # on a more recent LINUX installation 100. # the option will not do any harm on other 3.X pgf90 distributions 101. #-------------------------------------------------------- 102. 103. FFLAGS = -Mfree -Mx,119,0x200000 104. 105. #-------------------------------------------------------- 106. # optimization, 107. # we have tested whether higher optimisation improves 108. # the performance, and found no improvements with -O3-5 or -fast 109. # (even on Athlon system, Athlon specific optimistation worsens performance) 110. #-------------------------------------------------------- 111. 112. OFLAG = -O2 -tp core2-64 113. 114. OFLAG_HIGH = $(OFLAG) 115. OBJ_HIGH = 116. OBJ_NOOPT = 117. DEBUG = -g -O0 118. INLINE = $(OFLAG) 119. 120. 121. #-------------------------------------------------------- 122. # the following lines specify the position of BLAS and LAPACK 123. # what you chose is very system dependent 124. # P4: VASP works fastest with Intels mkl performance library 125. # Athlon: Atlas based BLAS are presently the fastest 126. # P3: no clue 127. #-------------------------------------------------------- 128. 129. # Atlas based libraries 130. ATLASHOME=/home/urname/LIB/atlas/Linux_P4SSE2/lib 131. BLAS= -L$(ATLASHOME) -lf77blas -latlas 132. 133. # use specific libraries (default library path points to other libraries) 134. #BLAS= $(ATLASHOME)/libf77blas.a $(ATLASHOME)/libatlas.a 135. 136. # use the mkl Intel libraries for p4 (www.intel.com) 137. #BLAS=-L/home/urname/SRC/VASP/mkl/8.0.1/lib/32 -lmkl_p4 -lpthread 138. 139. # LAPACK, simplest use vasp.4.lib/lapack_double 140. LAPACK= ../vasp.4.lib/lapack_double.o 141. 142. # use atlas optimized part of lapack 143. #LAPACK= ../vasp.4.lib/lapack_atlas.o -llapack -lcblas 144. 145. # use the mkl Intel lapack 146. #LAPACK=-L/home/urname/SRC/VASP/mkl/8.0.1/lib/32 -lmkl_lapack 147. 148. 149. #--------------------------------------------------------- 150. 151. LIB = -L../vasp.4.lib -ldmy \ 152. ../vasp.4.lib/linpack_double.o $(LAPACK) \ 153. $(BLAS) 154. 155. # options for linking (none required) 156. LINK = 157. 158. #---------------------------------------------------------- 159. # fft libraries: 160. # VASP.4.5 can use FFTW (http://www.fftw.org) 161. # since the FFTW is very slow for radices 2^n the fft3dlib is used 162. # in these cases 163. # if you use fftw3d you need to insert -lfftw in the LIB line as well 164. # please do not send us any querries reltated to FFTW (no support) 165. # if it fails, use fft3dlib 166. #----------------------------------------------------------- 167. 168. FFT3D = fft3dfurth.o fft3dlib.o 169. #FFT3D = fftw3d+furth.o fft3dlib.o 170. 171. 172. #========================================================== 173. # MPI section, uncomment the following lines 174. # 175. # one comment for users of mpich or lam: 176. # You must *not* compile mpi with g77/f77, because f77/g77 177. # appends *two* underscores to symbols that contain already an 178. # underscore (i.e. MPI_SEND becomes mpi_send__). The pgf90 179. # compiler however appends only one underscore. 180. # Precompiled mpi version will also not work !!! 181. # 182. # We found that mpich.1.2.1 and lam-6.5.X are stable 183. # mpich.1.2.1 was configured with 184. # ./configure -prefix=/usr/local/mpich_nodvdbg -fc="pgf77 -Mx,119,0x200000" \ 185. # -f90="pgf90 -Mx,119,0x200000" \ 186. # --without-romio --without-mpe -opt=-O \ 187. # 188. # lam was configured with the line 189. # ./configure -prefix /usr/local/lam-6.5.X --with-cflags=-O -with-fc=pgf90 \ 190. # --with-f77flags=-O --without-romio 191. # 192. # lam was generally faster and we found an average communication 193. # band with of roughly 160 MBit/s (full duplex) 194. # 195. # please note that you might be able to use a lam or mpich version 196. # compiled with f77/g77, but then you need to add the following 197. # options: -Msecond_underscore (compilation) and -g77libs (linking) 198. # 199. # !!! Please do not send me any queries on how to install MPI, I will 200. # certainly not answer them !!!! 201. #=========================================================== 202. #----------------------------------------------------------- 203. # fortran linker for mpi: if you use LAM and compiled it with the options 204. # suggested above, you can use the following lines 205. #----------------------------------------------------------- 206. 207. 208. #FC=mpif77 209. #FCL=$(FC) 210. 211. #---------------------------------------------------------- 212. # additional options for CPP in parallel version (see also above): 213. # NGZhalf charge density reduced in Z direction 214. # wNGZhalf gamma point only reduced in Z direction 215. # scaLAPACK use scaLAPACK (usually slower on 100 Mbit Net) 216. #----------------------------------------------------------- 217. 218. #CPP = $(CPP_) -DMPI -DHOST=\"LinuxPgi\" \ 219. # -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV 220. 221. #---------------------------------------------------------- 222. # location of SCALAPACK 223. # if you do not use SCALAPACK simply uncomment the line SCA 224. #---------------------------------------------------------- 225. 226. BLACS=/usr/local/BLACS_lam 227. SCA_= /usr/local/SCALAPACK_lam 228. 229. SCA= $(SCA_)/scalapack_LINUX.a $(SCA_)/pblas_LINUX.a $(SCA_)/tools_LINUX.a \ 230. $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a $(BLACS)/LIB/blacs_MPI-LINUX-0.a $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a 231. 232. SCA= 233. 234. #---------------------------------------------------------- 235. # libraries for mpi 236. #---------------------------------------------------------- 237. 238. #LIB = -L../vasp.4.lib -ldmy \ 239. # ../vasp.4.lib/linpack_double.o $(LAPACK) \ 240. # $(SCA) $(BLAS) 241. 242. # FFT: only option fftmpi.o with fft3dlib of Juergen Furthmueller 243. 244. #FFT3D = fftmpi.o fftmpi_map.o fft3dlib.o 245. 246. #---------------------------------------------------------- 247. # general rules and compile lines 248. #---------------------------------------------------------- 249. BASIC= symmetry.o symlib.o lattlib.o random.o 250. 251. SOURCE= base.o mpi.o smart_allocate.o xml.o \ 252. constant.o jacobi.o main_mpi.o scala.o \ 253. asa.o lattice.o poscar.o ini.o setex.o radial.o \ 254. pseudo.o mgrid.o mkpoints.o wave.o wave_mpi.o $(BASIC) \ 255. nonl.o nonlr.o dfast.o choleski2.o \ 256. mix.o charge.o xcgrad.o xcspin.o potex1.o potex2.o \ 257. metagga.o constrmag.o pot.o cl_shift.o force.o dos.o elf.o \ 258. tet.o hamil.o steep.o \ 259. chain.o dyna.o relativistic.o LDApU.o sphpro.o paw.o us.o \ 260. ebs.o wavpre.o wavpre_noio.o broyden.o \ 261. dynbr.o rmm-diis.o reader.o writer.o tutor.o xml_writer.o \ 262. brent.o stufak.o fileio.o opergrid.o stepver.o \ 263. dipol.o xclib.o chgloc.o subrot.o optreal.o davidson.o \ 264. edtest.o electron.o shm.o pardens.o paircorrection.o \ 265. optics.o constr_cell_relax.o stm.o finite_diff.o \ 266. elpol.o setlocalpp.o 267. 268. INC= 269. 270. vasp: $(SOURCE) $(FFT3D) $(INC) main.o 271. rm -f vasp 272. $(FCL) -o vasp $(LINK) main.o $(SOURCE) $(FFT3D) $(LIB) 273. makeparam: $(SOURCE) $(FFT3D) makeparam.o main.F $(INC) 274. $(FCL) -o makeparam $(LINK) makeparam.o $(SOURCE) $(FFT3D) $(LIB) 275. zgemmtest: zgemmtest.o base.o random.o $(INC) 276. $(FCL) -o zgemmtest $(LINK) zgemmtest.o random.o base.o $(LIB) 277. dgemmtest: dgemmtest.o base.o random.o $(INC) 278. $(FCL) -o dgemmtest $(LINK) dgemmtest.o random.o base.o $(LIB) 279. ffttest: base.o smart_allocate.o mpi.o mgrid.o random.o ffttest.o $(FFT3D) $(INC) 280. $(FCL) -o ffttest $(LINK) ffttest.o mpi.o mgrid.o random.o smart_allocate.o base.o $(FFT3D) $(LIB) 281. kpoints: $(SOURCE) $(FFT3D) makekpoints.o main.F $(INC) 282. $(FCL) -o kpoints $(LINK) makekpoints.o $(SOURCE) $(FFT3D) $(LIB) 283. 284. clean: 285. -rm -f *.g *.f *.o *.L *.mod ; touch *.F 286. 287. main.o: main$(SUFFIX) 288. $(FC) $(FFLAGS)$(DEBUG) $(INCS) -c main$(SUFFIX) 289. xcgrad.o: xcgrad$(SUFFIX) 290. $(FC) $(FFLAGS) $(INLINE) $(INCS) -c xcgrad$(SUFFIX) 291. xcspin.o: xcspin$(SUFFIX) 292. $(FC) $(FFLAGS) $(INLINE) $(INCS) -c xcspin$(SUFFIX) 293. 294. makeparam.o: makeparam$(SUFFIX) 295. $(FC) $(FFLAGS)$(DEBUG) $(INCS) -c makeparam$(SUFFIX) 296. 297. makeparam$(SUFFIX): makeparam.F main.F 298. # 299. # MIND: I do not have a full dependency list for the include 300. # and MODULES: here are only the minimal basic dependencies 301. # if one strucuture is changed then touch_dep must be called 302. # with the corresponding name of the structure 303. # 304. base.o: base.inc base.F 305. mgrid.o: mgrid.inc mgrid.F 306. constant.o: constant.inc constant.F 307. lattice.o: lattice.inc lattice.F 308. setex.o: setexm.inc setex.F 309. pseudo.o: pseudo.inc pseudo.F 310. poscar.o: poscar.inc poscar.F 311. mkpoints.o: mkpoints.inc mkpoints.F 312. wave.o: wave.inc wave.F 313. nonl.o: nonl.inc nonl.F 314. nonlr.o: nonlr.inc nonlr.F 315. 316. $(OBJ_HIGH): 317. $(CPP) 318. $(FC) $(FFLAGS) $(OFLAG_HIGH) $(INCS) -c $*$(SUFFIX) 319. $(OBJ_NOOPT): 320. $(CPP) 321. $(FC) $(FFLAGS) $(INCS) -c $*$(SUFFIX) 322. 323. fft3dlib_f77.o: fft3dlib_f77.F 324. $(CPP) 325. $(F77) $(FFLAGS_F77) -c $*$(SUFFIX) 326. 327. .F.o: 328. $(CPP) 329. $(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX) 330. .F$(SUFFIX): 331. $(CPP) 332. $(SUFFIX).o: |
» ²ÂÄãϲ»¶
»úе¹¤³Ì264ѧ˶Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
264Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
22408 266Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ14È˻ظ´
273Çóµ÷¼Á
ÒѾÓÐ43È˻ظ´
307Çóµ÷¼Á
ÒѾÓÐ13È˻ظ´
327Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
338Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
326·Ö£¬Ò»Ö¾Ô¸»¦9£¬ÇóÉúÎïѧµ÷¼Á
ÒѾÓÐ3È˻ظ´
cathy-zhang7777
½û³æ (ÕýʽдÊÖ)
¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
|
±¾ÌûÄÚÈݱ»ÆÁ±Î |
2Â¥2009-07-24 11:18:16
hdh912
½ð³æ (ÕýʽдÊÖ)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1180.9
- É¢½ð: 26
- Ìû×Ó: 842
- ÔÚÏß: 72.9Сʱ
- ³æºÅ: 387166
- ×¢²á: 2007-05-30
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔI:½á¹¹¡¢Á¦Ñ§ºÍ
3Â¥2009-07-24 12:33:05
hakuna
ľ³æ (ÖªÃû×÷¼Ò)
- 1STÇ¿Ìû: 3
- Ó¦Öú: 82 (³õÖÐÉú)
- ½ð±Ò: 8735.9
- É¢½ð: 158
- ºì»¨: 126
- Ìû×Ó: 5599
- ÔÚÏß: 1367.2Сʱ
- ³æºÅ: 167622
- ×¢²á: 2006-01-15
- רҵ: ¿¼¹ÅÀíÂÛ
¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
|
²éÖ÷³ÌÐòµÚ285ÐУ¬¿´¿´ÊÇ·ñÉÙÁËÒ»¸ö¿Õ¸ñ¡£ÐÞ¸ÄÈçÏÂÒ»ÐÐÊÔÊÔ£º $(FC) $(FFLAGS)$(DEBUG) $(INCS) -c main$(SUFFIX) ¸Ä³É $(FC) $(FFLAGS) $(DEBUG) $(INCS) -c main$(SUFFIX) |
4Â¥2009-07-24 16:19:32
hdh912
½ð³æ (ÕýʽдÊÖ)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1180.9
- É¢½ð: 26
- Ìû×Ó: 842
- ÔÚÏß: 72.9Сʱ
- ³æºÅ: 387166
- ×¢²á: 2007-05-30
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔI:½á¹¹¡¢Á¦Ñ§ºÍ
5Â¥2009-07-24 17:19:38
hakuna
ľ³æ (ÖªÃû×÷¼Ò)
- 1STÇ¿Ìû: 3
- Ó¦Öú: 82 (³õÖÐÉú)
- ½ð±Ò: 8735.9
- É¢½ð: 158
- ºì»¨: 126
- Ìû×Ó: 5599
- ÔÚÏß: 1367.2Сʱ
- ³æºÅ: 167622
- ×¢²á: 2006-01-15
- רҵ: ¿¼¹ÅÀíÂÛ
¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
freshgirl(½ð±Ò+1,VIP+0):лл²ÎÓë~ 7-24 23:13
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
freshgirl(½ð±Ò+1,VIP+0):лл²ÎÓë~ 7-24 23:13
±§Ç¸£¬»ï¼Æ£¬ÎÒ²»ÍæQQ(ÂäÎéÂäÎéÁË£¬×Ô°§Ò»ÏÂ)![]() Óеã¹Ö£¬Ä㿪ͷ¸øµÃÌáʾ£¬pgf90²»ÈÏʶ¿ª¹Ø-FR£¬µ«ÄãµÄmakefileÀïûÓõ½-FR ![]() ÁíÍâ£¬ÖØÐ±àÒëʱ£¬Ò»¶¨ÒªÏÈmake cleanһϡ£ Èç¹ûÄãÓõIJ»ÊÇAMDµÄCPUµÄ»°£¬½¨ÒéÓÃintelµÄifort+mkl±àÒë¿´¿´¡£pgiµÄ¸ö±ð°æ±¾ºÃÏñÓëVASPµÄÓï·¨¸ñʽÓеãСÎÊÌâ¡£ Èç¹ûÆ«°®PGIµÄ»°£¬½¨Òégoogle"PGI VASP ±àÒë¡°£¬ÕÒÒ»ÏÂÏàÓ¦µÄmakefileÔÙÊÔÊÔ¿´¡£ |
6Â¥2009-07-24 17:57:14
hdh912
½ð³æ (ÕýʽдÊÖ)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1180.9
- É¢½ð: 26
- Ìû×Ó: 842
- ÔÚÏß: 72.9Сʱ
- ³æºÅ: 387166
- ×¢²á: 2007-05-30
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔI:½á¹¹¡¢Á¦Ñ§ºÍ
7Â¥2009-07-24 19:52:24
hdh912
½ð³æ (ÕýʽдÊÖ)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1180.9
- É¢½ð: 26
- Ìû×Ó: 842
- ÔÚÏß: 72.9Сʱ
- ³æºÅ: 387166
- ×¢²á: 2007-05-30
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔI:½á¹¹¡¢Á¦Ñ§ºÍ
8Â¥2009-07-25 03:08:25
wuli8
ÈÙÓþ°æÖ÷ (ÖªÃû×÷¼Ò)
¡¡¡¡
- 1STÇ¿Ìû: 2
- Ó¦Öú: 35 (СѧÉú)
- ¹ó±ö: 12.924
- ½ð±Ò: 20190.4
- É¢½ð: 15888
- ºì»¨: 88
- ɳ·¢: 4
- Ìû×Ó: 7840
- ÔÚÏß: 1114.6Сʱ
- ³æºÅ: 465889
- ×¢²á: 2007-11-23
- רҵ: ÎïÀíѧI
- ¹ÜϽ: ¼ÆËãÄ£Äâ
¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷

9Â¥2009-07-25 16:27:46














»Ø¸´´ËÂ¥

