Ignore:
Timestamp:
12/03/14 21:11:19 (10 years ago)
Author:
seroussi
Message:

CHG: reorder Tetra

File:
1 edited

Legend:

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

    r18884 r18923  
    3939                Object *copy();
    4040                /*}}}*/
    41                 /*Update virtual functions resolution: {{{*/
    42                 void  InputUpdateFromSolutionOneDofCollapsed(IssmDouble* solution,int inputenum){_error_("not implemented yet");};
    43                 void  InputUpdateFromSolutionOneDof(IssmDouble* solution,int inputenum);
    44                 void  InputUpdateFromVector(IssmDouble* vector, int name, int type){_error_("not implemented yet");};
    45 #ifdef _HAVE_DAKOTA_
    46                 void  InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error_("not implemented yet");};
    47                 void  InputUpdateFromMatrixDakota(IssmDouble* matrix, int nows, int ncols, int name, int type){_error_("not implemented yet");};
    48 #endif
    49                 void  InputUpdateFromIoModel(int index, IoModel* iomodel);
    50                 /*}}}*/
    5141                /*Element virtual functions definitions: {{{*/
    5242                void        AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");};
    5343                void        AddInput(int input_enum, IssmDouble* values, int interpolation_enum);
     44                void        AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){_error_("not implemented yet");};
     45                void        CalvingRateLevermann(void){_error_("not implemented yet");};
    5446                IssmDouble  CharacteristicLength(void){_error_("not implemented yet");};
    5547                void        ComputeBasalStress(Vector<IssmDouble>* sigma_b){_error_("not implemented yet");};
     
    5749                void        ComputeStressTensor(){_error_("not implemented yet");};
    5850                void        ComputeDeviatoricStressTensor(){_error_("not implemented yet");};
    59                 void        StressIntensityFactor(void){_error_("not implemented yet");};
    60                 void        StrainRateparallel(void){_error_("not implemented yet");};
    61                 void        StrainRateperpendicular(void){_error_("not implemented yet");};
    62                 void        CalvingRateLevermann(void){_error_("not implemented yet");};
    6351                void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters);
    64                 void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
    65                 void        ResetHooks();
     52                void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");};
     53                void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum){_error_("not implemented yet");};
    6654                void        Delta18oParameterization(void){_error_("not implemented yet");};
     55                IssmDouble  DragCoefficientAbsGradient(void){_error_("not implemented yet");};
     56                void        ElementResponse(IssmDouble* presponse,int response_enum){_error_("not implemented yet");};
    6757                void        ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz);
     58                void        FaceOnBaseIndices(int* pindex1,int* pindex2,int* pindex3);
    6859                void        FaceOnFrontIndices(int* pindex1,int* pindex2,int* pindex3);
    69                 void        FaceOnBaseIndices(int* pindex1,int* pindex2,int* pindex3);
    7060                void        FaceOnSurfaceIndices(int* pindex1,int* pindex2,int* pindex3);
     61                int         FiniteElement(void);
    7162                void        FSContactMigration(Vector<IssmDouble>* vertexgrounded,Vector<IssmDouble>* vertexfloating){_error_("not implemented yet");};
    72                 int         FiniteElement(void);
    73                 Element*    GetUpperElement(void){_error_("not implemented yet");};
    7463                Element*    GetBasalElement(void){_error_("not implemented yet");};
     64                int         GetElementType(void);
     65                void        GetGroundedPart(int* point1,IssmDouble* fraction1, IssmDouble* fraction2,bool* mainlyfloating){_error_("not implemented yet");};
     66                IssmDouble  GetGroundedPortion(IssmDouble* xyz_list){_error_("not implemented yet");};
     67                void               GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){_error_("not implemented yet");};
     68                void        GetInputValue(IssmDouble* pvalue,Node* node,int enumtype);
     69                void               GetLevelCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum,IssmDouble level){_error_("not implemented yet");};
     70                void        GetLevelsetPositivePart(int* point1,IssmDouble* fraction1,IssmDouble* fraction2, bool* mainlynegative,IssmDouble* levelsetvalues){_error_("not implemented yet");};
     71                Node*       GetNode(int node_number){_error_("Not implemented");};
    7572                int         GetNodeIndex(Node* node);
    7673                int         GetNumberOfNodes(void);
    7774                int         GetNumberOfNodes(int enum_type){_error_("not implemented yet");};
    7875                int         GetNumberOfVertices(void);
     76                void        GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution,int enum_type){_error_("not implemented yet");};
     77                Element*    GetUpperElement(void){_error_("not implemented yet");};
     78                void        GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data,bool onsid){_error_("not implemented yet");};
    7979                void        GetVerticesCoordinatesBase(IssmDouble** pxyz_list);
    8080                void        GetVerticesCoordinatesTop(IssmDouble** pxyz_list);
     81                void        GradientIndexing(int* indexing,int control_index){_error_("not implemented yet");};
    8182                bool        HasFaceOnBase();
    8283                bool        HasFaceOnSurface();
     84                IssmDouble  IceVolume(void){_error_("not implemented yet");};
     85                IssmDouble  IceVolumeAboveFloatation(void){_error_("not implemented yet");};
     86                bool        IsFaceOnBoundary(void){_error_("not implemented yet");};
     87                bool               IsIcefront(void);
     88                bool        IsNodeOnShelfFromFlags(IssmDouble* flags){_error_("not implemented yet");};
    8389                bool        IsOnBase();
    8490                bool        IsOnSurface();
    85                 bool        IsNodeOnShelfFromFlags(IssmDouble* flags){_error_("not implemented yet");};
     91                bool        IsZeroLevelset(int levelset_enum){_error_("not implemented");};
     92                void        InputControlUpdate(IssmDouble scalar,bool save_parameter){_error_("not implemented yet");};
     93                void        InputDepthAverageAtBase(int enum_type,int average_enum_type){_error_("not implemented yet");};
     94                void        InputExtrude(int enum_type,int start){_error_("not implemented"); /*For penta only*/};
     95                void        InputScale(int enum_type,IssmDouble scale_factor){_error_("not implemented yet");};
     96                void        InputUpdateFromIoModel(int index, IoModel* iomodel);
     97                void        InputUpdateFromSolutionOneDof(IssmDouble* solution,int inputenum);
     98                void        InputUpdateFromSolutionOneDofCollapsed(IssmDouble* solution,int inputenum){_error_("not implemented yet");};
     99                void        InputUpdateFromVector(IssmDouble* vector, int name, int type){_error_("not implemented yet");};
    86100                void        JacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss);
     101                void        JacobianDeterminantBase(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss);
    87102                void        JacobianDeterminantLine(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
    88103                void        JacobianDeterminantSurface(IssmDouble*  pJdet, IssmDouble* xyz_list,Gauss* gauss);
    89                 void        JacobianDeterminantBase(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss);
    90104                void        JacobianDeterminantTop(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss);
     105                IssmDouble  Masscon(IssmDouble* levelset){_error_("not implemented yet");};
     106                IssmDouble  MassFlux(IssmDouble* segment){_error_("not implemented yet");};
     107                IssmDouble  MassFlux(IssmDouble x1,IssmDouble y1, IssmDouble x2, IssmDouble y2,int segment_id){_error_("not implemented yet");}
     108                void        MaterialUpdateFromTemperature(void){_error_("not implemented yet");};
    91109                IssmDouble  MinEdgeLength(IssmDouble* xyz_list){_error_("not implemented yet");};
    92                 void        NodalFunctions(IssmDouble* basis,Gauss* gauss);
    93                 void        NodalFunctionsP1(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
    94                 void        NodalFunctionsP2(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
    95                 void        NodalFunctionsVelocity(IssmDouble* basis,Gauss* gauss);
    96                 void        NodalFunctionsPressure(IssmDouble* basis,Gauss* gauss);
    97                 void        NodalFunctionsTensor(IssmDouble* basis,Gauss* gauss);
    98                 void        NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
    99                 void        NodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
    100                 void        NodalFunctionsMINIDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
    101                 void        NodalFunctionsDerivativesVelocity(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
    102                 void        NormalSection(IssmDouble* normal,IssmDouble* xyz_list);
    103                 void        NormalTop(IssmDouble* normal,IssmDouble* xyz_list);
    104                 void        NormalBase(IssmDouble* normal,IssmDouble* xyz_list);
    105                 int         NumberofNodesVelocity(void);
    106                 int         NumberofNodesPressure(void);
    107            Element*    SpawnBasalElement(void);
    108                 Element*    SpawnTopElement(void);
    109                 Tria*       SpawnTria(int index1,int index2,int index3);
    110                 IssmDouble  StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");};
    111                 int         PressureInterpolation(void);
    112                 void        ValueP1OnGauss(IssmDouble* pvalue,IssmDouble* values,Gauss* gauss);
    113                 void        ValueP1DerivativesOnGauss(IssmDouble* dvalue,IssmDouble* values,IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
    114                 int         VelocityInterpolation(void);
    115                 int         TensorInterpolation(void);
    116                 void        GetLevelsetPositivePart(int* point1,IssmDouble* fraction1,IssmDouble* fraction2, bool* mainlynegative,IssmDouble* levelsetvalues){_error_("not implemented yet");};
    117                 void        GetGroundedPart(int* point1,IssmDouble* fraction1, IssmDouble* fraction2,bool* mainlyfloating){_error_("not implemented yet");};
    118                 IssmDouble  GetGroundedPortion(IssmDouble* xyz_list){_error_("not implemented yet");};
    119                 void        GetInputValue(IssmDouble* pvalue,Node* node,int enumtype);
    120                 Node*       GetNode(int node_number){_error_("Not implemented");};
    121                 int         GetElementType(void);
     110                IssmDouble  Misfit(int modelenum,int observationenum,int weightsenum){_error_("not implemented yet");};
     111                IssmDouble  MisfitArea(int weightsenum){_error_("not implemented yet");};
    122112                Gauss*      NewGauss(void);
    123113                Gauss*      NewGauss(int order);
     
    128118                Gauss*      NewGaussLine(int vertex1,int vertex2,int order){_error_("not implemented yet");};
    129119                Gauss*      NewGaussTop(int order);
     120                void        NodalFunctions(IssmDouble* basis,Gauss* gauss);
     121                void        NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
     122                void        NodalFunctionsDerivativesVelocity(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss);
     123                void        NodalFunctionsMINIDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
     124                void        NodalFunctionsPressure(IssmDouble* basis,Gauss* gauss);
     125                void        NodalFunctionsP1(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
     126                void        NodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
     127                void        NodalFunctionsP2(IssmDouble* basis,Gauss* gauss){_error_("not implemented yet");};
     128                void        NodalFunctionsTensor(IssmDouble* basis,Gauss* gauss);
     129                void        NodalFunctionsVelocity(IssmDouble* basis,Gauss* gauss);
     130                int         NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){_error_("not implemented yet");};
     131                void        NormalBase(IssmDouble* normal,IssmDouble* xyz_list);
     132                void        NormalSection(IssmDouble* normal,IssmDouble* xyz_list);
     133                void        NormalTop(IssmDouble* normal,IssmDouble* xyz_list);
     134                int         NumberofNodesPressure(void);
     135                int         NumberofNodesVelocity(void);
     136                void        PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm){_error_("not implemented yet");};
     137                void        PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding){_error_("not implemented yet");};
     138                int         PressureInterpolation(void);
     139                void        ResetFSBasalBoundaryCondition(void);
     140                void        ResetHooks();
     141                void        ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
     142                void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
     143                void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
     144                void        SetTemporaryElementType(int element_type_in){_error_("not implemented yet");};
     145           Element*    SpawnBasalElement(void);
     146                Element*    SpawnTopElement(void);
     147                Tria*       SpawnTria(int index1,int index2,int index3);
     148                IssmDouble  StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");};
     149                void        StrainRateparallel(void){_error_("not implemented yet");};
     150                void        StrainRateperpendicular(void){_error_("not implemented yet");};
     151                void        StressIntensityFactor(void){_error_("not implemented yet");};
     152                IssmDouble  SurfaceArea(void){_error_("not implemented yet");};
     153                int         TensorInterpolation(void);
     154                IssmDouble  TimeAdapt(){_error_("not implemented yet");};
     155                IssmDouble  TotalSmb(void){_error_("not implemented yet");};
     156                void        Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finitelement);
     157                void        UpdateConstraintsExtrudeFromBase(){_error_("not implemented");};
     158                void        UpdateConstraintsExtrudeFromTop(){_error_("not implemented");};
     159                int         UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){_error_("not implemented yet");};
     160                void        ValueP1DerivativesOnGauss(IssmDouble* dvalue,IssmDouble* values,IssmDouble* xyz_list,Gauss* gauss){_error_("not implemented yet");};
     161                void        ValueP1OnGauss(IssmDouble* pvalue,IssmDouble* values,Gauss* gauss);
     162                int         VelocityInterpolation(void);
    130163                int         VertexConnectivity(int vertexindex){_error_("not implemented yet");};
    131164                void        VerticalSegmentIndices(int** pindices,int* pnumseg){_error_("not implemented yet");};
    132165                void        ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
    133                 bool        IsZeroLevelset(int levelset_enum){_error_("not implemented");};
    134                 bool               IsIcefront(void);
    135                 bool        IsFaceOnBoundary(void){_error_("not implemented yet");};
    136166                void        ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum);
    137                 void               GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){_error_("not implemented yet");};
    138                 void               GetLevelCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum,IssmDouble level){_error_("not implemented yet");};
    139                 void        GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution,int enum_type){_error_("not implemented yet");};
    140                 void        InputDepthAverageAtBase(int enum_type,int average_enum_type){_error_("not implemented yet");};
    141                 void        InputExtrude(int enum_type,int start){_error_("not implemented"); /*For penta only*/};
    142                 void        InputScale(int enum_type,IssmDouble scale_factor){_error_("not implemented yet");};
    143                 void        MaterialUpdateFromTemperature(void){_error_("not implemented yet");};
    144                 int         NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){_error_("not implemented yet");};
    145                 void        PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm){_error_("not implemented yet");};
    146                 void        ResetFSBasalBoundaryCondition(void);
    147                 void        ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
    148                 void        SetTemporaryElementType(int element_type_in){_error_("not implemented yet");};
    149                 IssmDouble  SurfaceArea(void){_error_("not implemented yet");};
    150                 void        Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finitelement);
    151                 IssmDouble  TimeAdapt(){_error_("not implemented yet");};
    152                 void UpdateConstraintsExtrudeFromBase(){_error_("not implemented");};
    153                 void UpdateConstraintsExtrudeFromTop(){_error_("not implemented");};
    154 
    155                 void       AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){_error_("not implemented yet");};
    156                 IssmDouble IceVolume(void){_error_("not implemented yet");};
    157                 IssmDouble IceVolumeAboveFloatation(void){_error_("not implemented yet");};
    158                 IssmDouble TotalSmb(void){_error_("not implemented yet");};
    159                 IssmDouble MassFlux(IssmDouble* segment){_error_("not implemented yet");};
    160                 IssmDouble MassFlux(IssmDouble x1,IssmDouble y1, IssmDouble x2, IssmDouble y2,int segment_id){_error_("not implemented yet");}
    161                 void       ElementResponse(IssmDouble* presponse,int response_enum){_error_("not implemented yet");};
    162                 IssmDouble Misfit(int modelenum,int observationenum,int weightsenum){_error_("not implemented yet");};
    163                 IssmDouble MisfitArea(int weightsenum){_error_("not implemented yet");};
    164                 IssmDouble Masscon(IssmDouble* levelset){_error_("not implemented yet");};
    165167
    166168#ifdef _HAVE_GIA_
    167                 void   GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
     169                void        GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x,IssmDouble* y){_error_("not implemented yet");};
    168170#endif
    169171
    170                 IssmDouble DragCoefficientAbsGradient(void){_error_("not implemented yet");};
    171                 void       GradientIndexing(int* indexing,int control_index){_error_("not implemented yet");};
    172                 void       GetVectorFromControlInputs(Vector<IssmDouble>* gradient,int control_enum,int control_index,const char* data,bool onsid){_error_("not implemented yet");};
    173                 void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
    174                 void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");};
    175                 void       ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum){_error_("not implemented yet");};
    176                 void       InputControlUpdate(IssmDouble scalar,bool save_parameter){_error_("not implemented yet");};
    177 
    178                 void   PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding){_error_("not implemented yet");};
    179                 int    UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){_error_("not implemented yet");};
     172#ifdef _HAVE_DAKOTA_
     173                void        InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error_("not implemented yet");};
     174                void        InputUpdateFromMatrixDakota(IssmDouble* matrix, int nows, int ncols, int name, int type){_error_("not implemented yet");};
     175#endif
    180176                /*}}}*/
    181177};
Note: See TracChangeset for help on using the changeset viewer.