DOUG 0.2

slave_thread.f90

Go to the documentation of this file.
00001 ! DOUG - Domain decomposition On Unstructured Grids
00002 ! Copyright (C) 1998-2006 Faculty of Computer Science, University of Tartu and
00003 ! Department of Mathematics, University of Bath
00004 !
00005 ! This library is free software; you can redistribute it and/or
00006 ! modify it under the terms of the GNU Lesser General Public
00007 ! License as published by the Free Software Foundation; either
00008 ! version 2.1 of the License, or (at your option) any later version.
00009 !
00010 ! This library is distributed in the hope that it will be useful,
00011 ! but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 ! Lesser General Public License for more details.
00014 !
00015 ! You should have received a copy of the GNU Lesser General Public
00016 ! License along with this library; if not, write to the Free Software
00017 ! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00018 ! or contact the authors (University of Tartu, Faculty of Computer Science, Chair
00019 ! of Distributed Systems, Liivi 2, 50409 Tartu, Estonia, http://dougdevel.org,
00020 ! mailto:info(at)dougdevel.org)
00021 
00022 module slave_thread
00023 
00024   use DOUG_utils
00025   use globals
00026 
00027   implicit none
00028 
00029 #include<doug_config.h>
00030 
00031 ! "on-the-fly" real/complex picking
00032 #ifdef D_COMPLEX
00033 #define float complex
00034 #else
00035 #define float real
00036 #endif
00037 
00038 contains
00039 
00040   !-----------------
00041   ! slave()
00042   !-----------------
00043   subroutine slave()
00044     use globals, only: D_MSGLVL, D_MASTER, MPI_fkind
00045     implicit none
00046 
00047     integer        :: ierr
00048 
00049     if (ismaster()) return
00050 
00051     write(stream,*) 'slave thread'
00052 
00053     if (D_MSGLVL > 1) &
00054          call SharedCtrlData_print()
00055 
00056     ! Do something useful here
00057 
00058   end subroutine slave
00059 
00060 end module slave_thread