// This file is part of ff3d - http://www.freefem.org/ff3d // Copyright (C) 2001, 2002, 2003 Stéphane Del Pino // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2, or (at your option) // any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // $Id: EliminatedFictitiousDomain.hpp,v 1.1 2003/09/23 19:03:23 delpinux Exp $ #ifndef ELIMINATED_FICTITIOUS_DOMAIN_HPP #define ELIMINATED_FICTITIOUS_DOMAIN_HPP #include #include #include #include #include #include #include #include #include #include class DegreeOfFreedomSet; class EliminatedFictitiousDomain : public Method { private: ReferenceCounting __A; ReferenceCounting __b; ReferenceCounting __mesh; ConstReferenceCounting __problem; const DegreeOfFreedomSet& __degreeOfFreedomSet; template void __discretize(); public: ReferenceCounting A() { return __A; } void Discretize (ConstReferenceCounting Pb); void Compute (Solution& u); const Problem& problem() const { return *__problem; } Mesh& mesh() { return (*__mesh); } EliminatedFictitiousDomain(ReferenceCounting M, const DegreeOfFreedomSet& dof) : __mesh(M), __degreeOfFreedomSet(dof) { ; } ~EliminatedFictitiousDomain() { ; } }; #endif // ELIMINATED_FICTITIOUS_DOMAIN_HPP