femDisk.hpp

00001 // Emacs will be in -*- Mode: c++ -*-
00002 //
00003 // ********** DO NOT REMOVE THIS BANNER **********
00004 //
00005 // SUMMARY: Language for a Finite Element Method
00006 // RELEASE: 2.0     
00007 // USAGE  : You may copy freely these files and use it for    
00008 //          teaching or research. These or part of these may   
00009 //          not be sold or used for a commercial purpose with- 
00010 //          out our consent : fax (33)1 44 27 44 11        
00011 //
00012 // AUTHORS:  C. Prud'homme
00013 // ORG    :          
00014 // E-MAIL :  prudhomm@users.sourceforge.net
00015 //
00016 // ORIG-DATE:     June-94
00017 // LAST-MOD: 27-Oct-01 at 12:18:24 by Christophe Prud'homme
00018 //
00019 // DESCRIPTION:
00020 
00021 /*
00022   This program is free software; you can redistribute it and/or modify
00023   it under the terms of the GNU General Public License as published by
00024   the Free Software Foundation; either version 2 of the License, or
00025   (at your option) any later version.
00026   
00027   This program is distributed in the hope that it will be useful,
00028   but WITHOUT ANY WARRANTY; without even the implied warranty of
00029   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00030   GNU General Public License for more details.
00031   
00032   You should have received a copy of the GNU General Public License
00033   along with this program; if not, write to the Free Software
00034   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00035 
00036 */
00037 
00038 // DESCRIP-END.
00039 //
00040 
00041 #ifndef __Disk_h
00042 #if defined(__GNUG__)
00043 #pragma interface
00044 #endif /* __GNUG__ */
00045 #define __Disk_h
00046 
00047 #if defined(HAVE_CONFIG_H)
00048 #include <config.h>
00049 #endif /* HAVE_CONFIG_H */
00050 
00051 #include <femMisc.hpp>
00052 #include <femMesh.hpp>
00053 
00054 namespace fem
00055 {
00062   class fcts
00063   {
00064   public:   
00065     float *c1, *b1, *nuyx1,*nuxx1,*nuxy1,*nuyy1, *a21, *a11, *g1, *f1, *p1, *sol1, *fplot;
00066     ccomplex *c1c, *b1c, *nuyx1c,*nuxx1c,*nuxy1c,*nuyy1c, *a21c, *a11c, *g1c, *f1c, *p1c, *sol1c;
00067     Acmat c2, b2, nuyx2,nuxx2,nuxy2,nuyy2, a12, a22;
00068     Acvect g2, p2, f2, sol2;
00069   
00070     fcts()
00071       :
00072       c1(NULL),
00073       b1(NULL),
00074       nuyx1(NULL),
00075       nuxx1(NULL),
00076       nuxy1(NULL),
00077       nuyy1(NULL),
00078       a21(NULL),
00079       a11(NULL),
00080       g1(NULL),
00081       f1(NULL),
00082       p1(NULL),
00083       sol1(NULL),
00084       fplot(NULL),
00085       c2(),
00086       b2(),
00087       nuyx2(),
00088       nuxx2(),
00089       nuxy2(),
00090       nuyy2(),
00091       a12(),
00092       a22(),
00093       g2(),
00094       p2(),
00095       f2(),
00096       sol2()
00097     {}
00098   };
00100 
00105   char* readprog (char *path);
00106 
00108 
00115   int loadtriangulation(femMesh *, char *); 
00116   
00117   int savetriangulation(femMesh *, char *);
00118   int saveparam(fcts *param, femMesh* t, char *path, int N=1);
00119   int savefct(creal *, int, char *);
00120   int saveconst(creal, char *);
00121   int loadsol(int, fcts *);
00122   int loadfct(creal *, int, char *);
00123   int readpoints(char *, float*, int);
00124 }
00125 #endif /* __Disk_h */

This is the FreeFEM reference manual
Provided by The KFEM project