00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00036 #ifndef INTREPID_HDIV_TET_In_FEM_HPP
00037 #define INTREPID_HDIV_TET_In_FEM_HPP
00038
00039 #include "Intrepid_Types.hpp"
00040 #include "Intrepid_Basis.hpp"
00041 #include "Intrepid_PointTools.hpp"
00042 #include "Intrepid_HGRAD_TET_Cn_FEM_ORTH.hpp"
00043 #include "Intrepid_CubatureDirectTetDefault.hpp"
00044 #include "Teuchos_SerialDenseMatrix.hpp"
00045 #include "Teuchos_SerialDenseSolver.hpp"
00046
00047
00048 namespace Intrepid {
00049
00077 template<class Scalar, class ArrayScalar>
00078 class Basis_HDIV_TET_In_FEM: public Basis<Scalar, ArrayScalar> {
00079 private:
00080
00083 virtual void initializeTags();
00084
00087 Basis_HGRAD_TET_Cn_FEM_ORTH<Scalar,FieldContainer<Scalar> > Phis_;
00088
00091 FieldContainer<Scalar> coeffs_;
00092
00093
00094 public:
00095
00098 Basis_HDIV_TET_In_FEM( const int n , const EPointType pointType );
00099
00110 void getValues(ArrayScalar & outputValues,
00111 const ArrayScalar & inputPoints,
00112 const EOperator operatorType) const;
00113
00114
00117 void getValues(ArrayScalar & outputValues,
00118 const ArrayScalar & inputPoints,
00119 const ArrayScalar & cellVertices,
00120 const EOperator operatorType = OPERATOR_VALUE) const;
00121 };
00122
00123 }
00124
00125 #include "Intrepid_HDIV_TET_In_FEMDef.hpp"
00126
00127 #endif