hp2FEM
0.1
|
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_