quadrature_simpson.h
来自「一个用来实现偏微分方程中网格的计算库」· C头文件 代码 · 共 93 行
H
93 行
// $Id: quadrature_simpson.h 2501 2007-11-20 02:33:29Z benkirk $// The libMesh Finite Element Library.// Copyright (C) 2002-2007 Benjamin S. Kirk, John W. Peterson // This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version. // This library 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// Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA#ifndef __quadrature_simpson_h__#define __quadrature_simpson_h__// Local includes#include "quadrature.h"/** * This class implemenets Simpson quadrature. * This is the same thing as Newton-Cotes quadrature with three points. * Simpson's rule can integrate polynomials of degree three exactly. * * @author John W. Peterson, 2003 */// ------------------------------------------------------------// QSimpson class definitionclass QSimpson : public QBase{ public: /** * Constructor. Declares the order of the quadrature rule. */ QSimpson (const unsigned int _dim); /** * Destructor. Empty. */ ~QSimpson() {} /** * @returns \p QSIMPSON */ QuadratureType type() const { return QSIMPSON; } private: void init_1D (const ElemType _type=INVALID_ELEM, unsigned int p_level=0); void init_2D (const ElemType _type=INVALID_ELEM, unsigned int p_level=0); void init_3D (const ElemType _type=INVALID_ELEM, unsigned int p_level=0); };// ------------------------------------------------------------// QSimpson class membersinlineQSimpson::QSimpson(const unsigned int d) : QBase(d,THIRD){ // explicitly call the init function in 1D since the // other tensor-product rules require this one. // note that EDGE will not be used internally, however // if we called the function with INVALID_ELEM it would try to // be smart and return, thinking it had already done the work. if (_dim == 1) init(EDGE2);}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?