fe_macro.h
Go to the documentation of this file.00001 // The libMesh Finite Element Library. 00002 // Copyright (C) 2002-2012 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 #ifndef LIBMESH_FE_MACRO_H 00020 #define LIBMESH_FE_MACRO_H 00021 00022 00023 00024 00031 #define INSTANTIATE_MAPS(_dim,_type) \ 00032 template Point FE<_dim,_type>::map(const Elem*,const Point&);\ 00033 template Point FE<_dim,_type>::map_xi(const Elem*,const Point&);\ 00034 template Point FE<_dim,_type>::map_eta(const Elem*,const Point&);\ 00035 template Point FE<_dim,_type>::map_zeta(const Elem*,const Point&); \ 00036 template void FE<_dim,_type>::inverse_map(const Elem*,const std::vector<Point>&,std::vector<Point>&,Real,bool) 00037 00038 #ifndef LIBMESH_ENABLE_HIGHER_ORDER_SHAPES 00039 00040 #define INSTANTIATE_FE(_dim) template class FE< (_dim), CLOUGH>; \ 00041 template class FE< (_dim), HERMITE>; \ 00042 template class FE< (_dim), HIERARCHIC>; \ 00043 template class FE< (_dim), L2_HIERARCHIC>; \ 00044 template class FE< (_dim), LAGRANGE>; \ 00045 template class FE< (_dim), LAGRANGE_VEC>; \ 00046 template class FE< (_dim), L2_LAGRANGE>; \ 00047 template class FE< (_dim), MONOMIAL>; \ 00048 template class FE< (_dim), SCALAR>; \ 00049 template class FE< (_dim), XYZ>; \ 00050 template class FE< (_dim), NEDELEC_ONE> 00051 00052 #define INSTANTIATE_ALL_MAPS(_dim) \ 00053 INSTANTIATE_MAPS(_dim,CLOUGH); \ 00054 INSTANTIATE_MAPS(_dim,HERMITE); \ 00055 INSTANTIATE_MAPS(_dim,HIERARCHIC); \ 00056 INSTANTIATE_MAPS(_dim,L2_HIERARCHIC); \ 00057 INSTANTIATE_MAPS(_dim,LAGRANGE); \ 00058 INSTANTIATE_MAPS(_dim,LAGRANGE_VEC); \ 00059 INSTANTIATE_MAPS(_dim,L2_LAGRANGE); \ 00060 INSTANTIATE_MAPS(_dim,MONOMIAL); \ 00061 INSTANTIATE_MAPS(_dim,SCALAR); \ 00062 INSTANTIATE_MAPS(_dim,XYZ); \ 00063 INSTANTIATE_MAPS(_dim,NEDELEC_ONE) 00064 00065 #else //LIBMESH_ENABLE_HIGHER_ORDER_SHAPES 00066 00067 #define INSTANTIATE_FE(_dim) template class FE< (_dim), CLOUGH>; \ 00068 template class FE< (_dim), HERMITE>; \ 00069 template class FE< (_dim), HIERARCHIC>; \ 00070 template class FE< (_dim), L2_HIERARCHIC>; \ 00071 template class FE< (_dim), LAGRANGE>; \ 00072 template class FE< (_dim), LAGRANGE_VEC>; \ 00073 template class FE< (_dim), L2_LAGRANGE>; \ 00074 template class FE< (_dim), MONOMIAL>; \ 00075 template class FE< (_dim), SCALAR>; \ 00076 template class FE< (_dim), BERNSTEIN>; \ 00077 template class FE< (_dim), SZABAB>; \ 00078 template class FE< (_dim), XYZ>; \ 00079 template class FE< (_dim), NEDELEC_ONE> 00080 00081 #define INSTANTIATE_ALL_MAPS(_dim) \ 00082 INSTANTIATE_MAPS(_dim,CLOUGH); \ 00083 INSTANTIATE_MAPS(_dim,HERMITE); \ 00084 INSTANTIATE_MAPS(_dim,HIERARCHIC); \ 00085 INSTANTIATE_MAPS(_dim,L2_HIERARCHIC); \ 00086 INSTANTIATE_MAPS(_dim,LAGRANGE); \ 00087 INSTANTIATE_MAPS(_dim,LAGRANGE_VEC); \ 00088 INSTANTIATE_MAPS(_dim,L2_LAGRANGE); \ 00089 INSTANTIATE_MAPS(_dim,MONOMIAL); \ 00090 INSTANTIATE_MAPS(_dim,SCALAR); \ 00091 INSTANTIATE_MAPS(_dim,BERNSTEIN); \ 00092 INSTANTIATE_MAPS(_dim,SZABAB); \ 00093 INSTANTIATE_MAPS(_dim,XYZ); \ 00094 INSTANTIATE_MAPS(_dim,NEDELEC_ONE) 00095 00096 #endif //LIBMESH_ENABLE_HIGHER_ORDER_SHAPES 00097 00098 #endif // LIBMESH_FE_MACRO_H
Site Created By: libMesh Developers
Last modified: February 05 2013 19:54:46 UTC
Hosted By: