DOUG 0.2

Partitioning_full.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 
00023 module Partitioning_full_mod
00024   use Partitioning_mod
00025   use Distribution_base_mod
00026 
00027   implicit none
00028 
00029 contains
00030 
00031   ! Create single partition on process.
00032   subroutine Partitionings_full_InitCoarse(P,D)
00033     type(Partitionings),intent(inout) :: P !< output
00034     type(Distribution),intent(inout) :: D !< mesh and data distribution
00035 
00036     integer :: i
00037 
00038     P%cPart%nnodes = D%mesh%ninner
00039     P%cPart%nparts = 1
00040     allocate(P%cPart%starts(2))
00041     allocate(P%cPart%nodes(P%cPart%nnodes))
00042 
00043     P%cPart%starts(1) = 1
00044     P%cPart%starts(2) = P%cPart%nnodes+1
00045     P%cPart%nodes(1:D%mesh%ninner) = (/ (i,i=1,D%mesh%ninner) /)
00046 
00047   end subroutine Partitionings_full_InitCoarse
00048 end module Partitioning_full_mod