$extrastylesheet
sparsity_pattern.C
Go to the documentation of this file.
00001 // The libMesh Finite Element Library.
00002 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
00003 
00004 // This library is free software; you can redistribute it and/or
00005 // modify it under the terms of the GNU Lesser General Public
00006 // License as published by the Free Software Foundation; either
00007 // version 2.1 of the License, or (at your option) any later version.
00008 
00009 // This library is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 // Lesser General Public  License for more details.
00013 
00014 // You should have received a copy of the GNU Lesser General Public
00015 // License along with this library; if not, write to the Free Software
00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 
00018 
00019 
00020 // Local Includes -----------------------------------
00021 #include "libmesh/dof_map.h"
00022 #include "libmesh/sparsity_pattern.h"
00023 
00024 
00025 
00026 namespace libMesh
00027 {
00028 namespace SparsityPattern
00029 {
00030 
00031 
00032 //-------------------------------------------------------
00033 // we need to implement these constructors here so that
00034 // a full DofMap definition is available.
00035 Build::Build (const MeshBase &mesh_in,
00036               const DofMap &dof_map_in,
00037               const CouplingMatrix *dof_coupling_in,
00038               const bool implicit_neighbor_dofs_in,
00039               const bool need_full_sparsity_pattern_in) :
00040   ParallelObject(dof_map_in),
00041   mesh(mesh_in),
00042   dof_map(dof_map_in),
00043   dof_coupling(dof_coupling_in),
00044   implicit_neighbor_dofs(implicit_neighbor_dofs_in),
00045   need_full_sparsity_pattern(need_full_sparsity_pattern_in),
00046   sparsity_pattern(),
00047   nonlocal_pattern(),
00048   n_nz(),
00049   n_oz()
00050 {}
00051 
00052 
00053 
00054 Build::Build (Build &other, Threads::split) :
00055   ParallelObject(other),
00056   mesh(other.mesh),
00057   dof_map(other.dof_map),
00058   dof_coupling(other.dof_coupling),
00059   implicit_neighbor_dofs(other.implicit_neighbor_dofs),
00060   need_full_sparsity_pattern(other.need_full_sparsity_pattern),
00061   sparsity_pattern(),
00062   nonlocal_pattern(),
00063   n_nz(),
00064   n_oz()
00065 {}
00066 
00067 
00068 
00069 } // namespace SparsityPattern
00070 } // namespace libMesh