Changeset 18283


Ignore:
Timestamp:
07/22/14 15:41:46 (11 years ago)
Author:
seroussi
Message:

NEW: some functions for P2 elements

Location:
issm/trunk-jpl/src/c/classes/Elements
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r18237 r18283  
    172172                virtual void   NodalFunctions(IssmDouble* basis,Gauss* gauss)=0;
    173173                virtual void   NodalFunctionsP1(IssmDouble* basis,Gauss* gauss)=0;
     174                virtual void   NodalFunctionsP2(IssmDouble* basis,Gauss* gauss)=0;
    174175                virtual void   NodalFunctionsVelocity(IssmDouble* basis, Gauss* gauss)=0;
    175176                virtual void   NodalFunctionsPressure(IssmDouble* basis, Gauss* gauss)=0;
     
    194195                virtual int    GetNodeIndex(Node* node)=0;
    195196                virtual int    GetNumberOfNodes(void)=0;
     197                virtual int    GetNumberOfNodes(int enum_type)=0;
    196198                virtual int    GetNumberOfVertices(void)=0;
    197199
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r18239 r18283  
    852852int        Penta::GetNumberOfNodes(void){/*{{{*/
    853853        return this->NumberofNodes(this->element_type);
     854}
     855/*}}}*/
     856int        Penta::GetNumberOfNodes(int enum_type){/*{{{*/
     857        return this->NumberofNodes(enum_type);
    854858}
    855859/*}}}*/
     
    16251629        _assert_(gauss->Enum()==GaussPentaEnum);
    16261630        this->GetNodalFunctions(basis,(GaussPenta*)gauss,P1Enum);
     1631
     1632}
     1633/*}}}*/
     1634void       Penta::NodalFunctionsP2(IssmDouble* basis, Gauss* gauss){/*{{{*/
     1635
     1636        _assert_(gauss->Enum()==GaussPentaEnum);
     1637        this->GetNodalFunctions(basis,(GaussPenta*)gauss,P2Enum);
    16271638
    16281639}
  • issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r18237 r18283  
    7474                int    GetNodeIndex(Node* node);
    7575                int    GetNumberOfNodes(void);
     76                int    GetNumberOfNodes(int enum_type);
    7677                int    GetNumberOfVertices(void);
    7778                void   GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution,int enum_type);
     
    163164                void           NodalFunctions(IssmDouble* basis,Gauss* gauss);
    164165                void           NodalFunctionsP1(IssmDouble* basis,Gauss* gauss);
     166                void           NodalFunctionsP2(IssmDouble* basis,Gauss* gauss);
    165167                void           NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
    166168                void           NodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
  • issm/trunk-jpl/src/c/classes/Elements/Seg.cpp

    r18190 r18283  
    109109}
    110110/*}}}*/
     111void       Seg::NodalFunctionsP2(IssmDouble* basis, Gauss* gauss){/*{{{*/
     112
     113        _assert_(gauss->Enum()==GaussSegEnum);
     114        this->GetNodalFunctions(basis,(GaussSeg*)gauss,P2Enum);
     115
     116}
     117/*}}}*/
    111118int        Seg::GetNumberOfNodes(void){/*{{{*/
    112119        return this->NumberofNodes(this->element_type);
  • issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r18237 r18283  
    6868                int         GetNodeIndex(Node* node){_error_("not implemented yet");};
    6969                int         GetNumberOfNodes(void);
     70                int         GetNumberOfNodes(int enum_type){_error_("not implemented yet");};
    7071                int         GetNumberOfVertices(void);
    7172                void        GetVerticesCoordinates(IssmDouble** pxyz_list);
     
    8384                void        NodalFunctions(IssmDouble* basis,Gauss* gauss);
    8485                void        NodalFunctionsP1(IssmDouble* basis,Gauss* gauss);
     86                void        NodalFunctionsP2(IssmDouble* basis,Gauss* gauss);
    8587                void        NodalFunctionsVelocity(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
    8688                void        NodalFunctionsPressure(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Tetra.h

    r18237 r18283  
    7171                int         GetNodeIndex(Node* node);
    7272                int         GetNumberOfNodes(void);
     73                int         GetNumberOfNodes(int enum_type){_error_("not implemented yet");};
    7374                int         GetNumberOfVertices(void);
    7475                void        GetVerticesCoordinatesBase(IssmDouble** pxyz_list);
     
    8788                void        NodalFunctions(IssmDouble* basis,Gauss* gauss);
    8889                void        NodalFunctionsP1(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
     90                void        NodalFunctionsP2(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
    8991                void        NodalFunctionsVelocity(IssmDouble* basis,Gauss* gauss);
    9092                void        NodalFunctionsPressure(IssmDouble* basis,Gauss* gauss);
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r18239 r18283  
    887887}
    888888/*}}}*/
     889int        Tria::GetNumberOfNodes(int enum_type){/*{{{*/
     890        return this->NumberofNodes(enum_type);
     891}
     892/*}}}*/
    889893int        Tria::GetNumberOfVertices(void){/*{{{*/
    890894        return NUMVERTICES;
     
    14441448        _assert_(gauss->Enum()==GaussTriaEnum);
    14451449        this->GetNodalFunctions(basis,(GaussTria*)gauss,P1Enum);
     1450
     1451}
     1452/*}}}*/
     1453void       Tria::NodalFunctionsP2(IssmDouble* basis, Gauss* gauss){/*{{{*/
     1454
     1455        _assert_(gauss->Enum()==GaussTriaEnum);
     1456        this->GetNodalFunctions(basis,(GaussTria*)gauss,P2Enum);
    14461457
    14471458}
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r18237 r18283  
    6969                int         GetNodeIndex(Node* node);
    7070                int         GetNumberOfNodes(void);
     71                int         GetNumberOfNodes(int enum_type);
    7172                int         GetNumberOfVertices(void);
    7273                bool        IsOnBase();
     
    165166                void           NodalFunctions(IssmDouble* basis,Gauss* gauss);
    166167                void           NodalFunctionsP1(IssmDouble* basis,Gauss* gauss);
     168                void           NodalFunctionsP2(IssmDouble* basis,Gauss* gauss);
    167169                void           NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
    168170                void           NodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
Note: See TracChangeset for help on using the changeset viewer.