hp2FEM  0.1
include/interpolation/polynomials1d/Jacobi1D.h
00001 #ifndef _JACOBI1D_H_
00002 #define _JACOBI1D_H_
00003 // ---------------------------------------------
00004 // company   : 
00005 // user      : 
00006 // date      : 22 Mar 2015 17:23
00007 // file      : Jacobi1D.h
00008 // markers   : Full
00009 // language  : C++
00010 // generator : Metamill 6.0
00011 // ---------------------------------------------
00012 
00013 //#UBLK-BEG-HEADERH
00014 //==============================================================
00015 // Description : 
00016 //--------------------------------------------------------------
00017 // Author      : Gilberto Luis
00018 // Created     : 17 Mar 2011
00019 //--------------------------------------------------------------
00020 // Change history : 
00021 //   17 Mar 2011 (Gilberto Luis) Initial version generated
00022 //
00023 //==============================================================
00024 //#UBLK-END-HEADERH
00025 
00026 /*=================================================================================================
00027 =                                                                                                 =
00028 =       Copyright 2010-2015  Marco Lucio Bittencourt / Fabiano Fernandes Bargos                       =
00029 =                        Gilberto Luis Valente / Jorge Luis Suzuki / Allan Patrick Cordeiro Dias  =
00030 =                                                                                                 =
00031 =       Licensed under the Apache License, Version 2.0 (the "License");                               =
00032 =       you may not use this file except in compliance with the License.                              =
00033 =       You may obtain a copy of the License at                                                       =
00034 =                                                                                                 =
00035 =               http://www.apache.org/licenses/LICENSE-2.0                                                =
00036 =                                                                                                 =
00037 =       Unless required by applicable law or agreed to in writing, software                           =
00038 =       distributed under the License is distributed on an "AS IS" BASIS,                             =
00039 =       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                      =
00040 =       See the License for the specific language governing permissions and                           =
00041 =       limitations under the License.                                                                =
00042 =                                                                                                 =
00043 =================================================================================================*/
00044 
00045 
00046 #include "ds/Matrix.h"
00047 #include "ds/Vector.h"
00048 #include "enumerations/QuadCollocType_E.h"
00049 
00050 
00058 class Jacobi1D
00059 {
00060 //#UBLK-BEG-CLASSDEF mm:23ea5677-f649-11df-85b0-e9a34136af77
00061 //#UBLK-END-CLASSDEF
00062 
00063  public:
00064 
00065    // METHOD=mm:2482d489-f649-11df-85b0-e9a34136af77
00066    Jacobi1D();
00067 
00068    // METHOD=mm:2c945b89-0c6d-11e0-932f-c0be587b61e9
00069    double Factorial(unsigned long n);
00070 
00071    // METHOD=mm:2482d48a-f649-11df-85b0-e9a34136af77
00072    void GetPolynomialValue(unsigned long PolyOrder, unsigned long Alpha, unsigned long Beta, double*const Coordinates, unsigned long NumCoordinates, double* Phi);
00073 
00074    // METHOD=mm:2482d48f-f649-11df-85b0-e9a34136af77
00075    void Get1stDerivative(unsigned long PolyOrder, unsigned long Alpha, unsigned long Beta, double*const Coordinates, unsigned long NumCoordinates, double* d1Phi);
00076 
00077    // METHOD=mm:2482d529-f649-11df-85b0-e9a34136af77
00078    void Get2ndDerivative(unsigned long PolyOrder, unsigned long Alpha, unsigned long Beta, double*const Coordinates, unsigned long NumCoordinates, double* d2Phi);
00079 
00080    // METHOD=mm:2482d52e-f649-11df-85b0-e9a34136af77
00081    void GetJacobiRoot(unsigned long PolyOrder, unsigned long Alpha, unsigned long Beta, double*const Roots);
00082 
00083    // METHOD=mm:2482d5bd-f649-11df-85b0-e9a34136af77
00084    void GetJacobiWeight(unsigned long Alpha, unsigned long Beta, QuadCollocType_E QuadratureType, unsigned long NumCoordinates, double*const Coordinates, double*const Weights);
00085 
00086 
00087  protected:
00088 
00089  private:
00090 
00091 //#UBLK-BEG-CLASSMEMB mm:23ea5677-f649-11df-85b0-e9a34136af77
00092 //#UBLK-END-CLASSMEMB
00093 };
00094 
00095 //#UBLK-BEG-GLOBALH
00096 //*** Removed methods: 23 Jul 2011 11:59
00097 //---
00098 //uuid=mm:c328398f-b465-11e0-9640-8c67b00d6dbc
00099 //   void GetPolynomialValue(unsigned short PolyOrder, unsigned short Alpha, unsigned short Beta, double*const Coordinates, unsigned short NumCoordinates, double* Phi);
00100 //---
00101 //uuid=mm:988ca32d-b46a-11e0-9640-8c67b00d6dbc
00102 //   void FirstDerivRecurrenceRelation(unsigned short PolyOrder, unsigned short Alpha, unsigned short Beta, double*const Coordinates, unsigned short NumCoordinates, double* d1Phi);
00103 
00104 //#UBLK-END-GLOBALH
00105 
00106 
00107 #endif // _JACOBI1D_H_
 All Classes Files Functions Variables Typedefs Friends Defines