Ignore:
Timestamp:
09/16/13 09:43:55 (12 years ago)
Author:
Mathieu Morlighem
Message:

merged trunk-jpl and trunk for revision 16135

Location:
issm/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk

  • issm/trunk/src

  • issm/trunk/src/c

    • Property svn:ignore
      • TabularUnified  

        old new  
        1414probe.results
        1515stXXXX*
        16 
         16.deps
         17.dirstamp
  • issm/trunk/src/c/classes

    • Property svn:ignore set to
      .deps
      .dirstamp
  • TabularUnified issm/trunk/src/c/classes/Node.h

    r15396 r16137  
    1111#include "../shared/shared.h"
    1212#include "./DofIndexing.h"
     13#include "./Update.h"
    1314class  Inputs;
    1415class  Hook;
     
    2021class ElementVector;
    2122class ElementMatrix;
    22 #include "Update.h"
    2323/*}}}*/
    2424
    25 class Node: public Object ,public Update{
     25class Node: public Object{
    2626
    2727        private:
     
    3030        public:
    3131
    32                 int id;    //unique arbitrary id.
    33                 int sid;   //"serial" id (rank of this node if the dataset was serial on 1 cpu)
     32                int id;    // unique arbitrary id.
     33                int sid;   // "serial" id (rank of this node if the dataset was serial on 1 cpu)
     34                int lid;   // "local"  id (rank of this node in current partition)
    3435
     36                bool         indexingupdate;
    3537                DofIndexing  indexing;
    36                 Hook        *hvertex;
    37                 Inputs      *inputs;               //properties of this node
    3838                int          analysis_type;
    3939                IssmDouble   coord_system[3][3];
    4040
    41                 /*Node constructors, destructors {{{*/
     41                /*Node constructors, destructors*/
    4242                Node();
    43                 Node(int node_id,int node_sid, int vertex_id,int io_index, IoModel* iomodel,int analysis_type);
     43                Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_type,int approximation_in);
    4444                ~Node();
    45                 /*}}}*/
    46                 /*Object virtual functions definitions:{{{ */
     45
     46                /*Object virtual functions definitions:*/
    4747                void    Echo();
    4848                void    DeepEcho();
    4949                int     Id();
    5050                int     ObjectEnum();
    51                 Object *copy()        {_error_("Not implemented yet (similar to Elements)"); };
    52                 /*}}}*/
    53                 /*Update virtual functions definitions: {{{*/
    54                 void  InputUpdateFromVector(IssmDouble* vector, int name, int type);
    55                 void  InputUpdateFromVector(int* vector, int name, int type);
    56                 void  InputUpdateFromVector(bool* vector, int name, int type);
    57                 void  InputUpdateFromMatrixDakota(IssmDouble* matrix,int nrows, int ncols, int name, int type);
    58                 void  InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type);
    59                 void  InputUpdateFromVectorDakota(int* vector, int name, int type);
    60                 void  InputUpdateFromVectorDakota(bool* vector, int name, int type);
    61                 void  InputUpdateFromConstant(IssmDouble constant, int name);
    62                 void  InputUpdateFromConstant(int constant, int name);
    63                 void  InputUpdateFromConstant(bool constant, int name);
    64                 void  InputUpdateFromSolution(IssmDouble* solution){_error_("Not implemented yet!");}
    65                 void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("Not implemented yet!");}
    66                 /*}}}*/
    67                 /*Node numerical routines {{{*/
    68                 void   Configure(DataSet* nodes,Vertices* vertices);
    69                 void   CreateNodalConstraints(Vector<IssmDouble>* ys);
    70                 void   SetCurrentConfiguration(DataSet* nodes,Vertices* vertices);
    71                 int    Sid(void);
    72 #ifdef _HAVE_DIAGNOSTIC_
    73                 void   GetCoordinateSystem(IssmDouble* coord_system_out);
     51                Object *copy(){_error_("Not implemented yet (similar to Elements)"); };
     52
     53                /*Node numerical routines*/
     54                void  CreateNodalConstraints(Vector<IssmDouble>* ys);
     55                void  SetCurrentConfiguration(DataSet* nodes,Vertices* vertices);
     56                int   Sid(void);
     57                int   Lid(void);
     58#ifdef _HAVE_STRESSBALANCE_
     59                void  GetCoordinateSystem(IssmDouble* coord_system_out);
    7460#endif
    75                 bool   InAnalysis(int analysis_type);
    76                 int    GetApproximation();
    77                 int    GetNumberOfDofs(int approximation_enum,int setenum);
    78                 int    IsClone();
    79                 void   ApplyConstraint(int dof,IssmDouble value);
    80                 void   RelaxConstraint(int dof);
    81                 void   DofInSSet(int dof);
    82                 void   DofInFSet(int dof);
    83                 int    GetDof(int dofindex,int setenum);
    84                 void   CreateVecSets(Vector<IssmDouble>* pv_g,Vector<IssmDouble>* pv_f,Vector<IssmDouble>* pv_s);
    85                 int    GetConnectivity();
    86                 void   GetDofList(int* poutdoflist,int approximation_enum,int setenum);
    87                 void   GetLocalDofList(int* poutdoflist,int approximation_enum,int setenum);
    88                 void   FreezeDof(int dof);
    89                 bool   IsActive(void);
    90                 void   Activate(void);
    91                 void   Deactivate(void);
    92                 int    IsFloating();
    93                 int    IsGrounded();
    94                 void   UpdateSpcs(IssmDouble* ys);
    95                 void   VecMerge(Vector<IssmDouble>* ug, IssmDouble* vector_serial,int setenum);
    96                 void   VecReduce(Vector<IssmDouble>* vector, IssmDouble* ug_serial,int setnum);
     61                bool  InAnalysis(int analysis_type);
     62                int   GetApproximation();
     63                int   GetNumberOfDofs(int approximation_enum,int setenum);
     64                int   IsClone();
     65                void  ApplyConstraint(int dof,IssmDouble value);
     66                void  RelaxConstraint(int dof);
     67                void  DofInSSet(int dof);
     68                void  DofInFSet(int dof);
     69                int   GetDof(int dofindex,int setenum);
     70                void  CreateVecSets(Vector<IssmDouble>* pv_g,Vector<IssmDouble>* pv_f,Vector<IssmDouble>* pv_s);
     71                void  GetDofList(int* poutdoflist,int approximation_enum,int setenum);
     72                void  GetLocalDofList(int* poutdoflist,int approximation_enum,int setenum);
     73                void  FreezeDof(int dof);
     74                bool  IsActive(void);
     75                void  Activate(void);
     76                void  Deactivate(void);
     77                void  UpdateSpcs(IssmDouble* ys);
     78                void  ReindexingDone(void);
     79                bool  RequiresDofReindexing(void);
     80                int   IsFloating();
     81                int   IsGrounded();
     82                void  VecMerge(Vector<IssmDouble>* ug, IssmDouble* vector_serial,int setenum);
     83                void  VecReduce(Vector<IssmDouble>* vector, IssmDouble* ug_serial,int setnum);
    9784                void  DistributeDofs(int* pdofcount,int setenum);
    9885                void  OffsetDofs(int dofcount,int setenum);
     
    10087                void  UpdateCloneDofs(int* alltruerows,int ncols,int setenum);
    10188                void  SetClone(int* minranks);
    102                 /*}}}*/
    10389};
    10490
     
    10793int* GetGlobalDofList(Node** nodes,int numnodes,int setenum,int approximation);
    10894int  GetNumberOfDofs(Node** nodes,int numnodes,int setenum,int approximation);
    109 #ifdef _HAVE_DIAGNOSTIC_
     95#ifdef _HAVE_STRESSBALANCE_
    11096void TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int cs_enum);
    11197void TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int* cs_array);
Note: See TracChangeset for help on using the changeset viewer.