Changeset 16137 for issm/trunk/src/c/classes/Node.h
- Timestamp:
- 09/16/13 09:43:55 (12 years ago)
- Location:
- issm/trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk ¶
- Property svn:ignore
-
TabularUnified
old new 1 nightlylog 2 configure.sh 1 3 par 2 4 ad
-
- Property svn:mergeinfo changed
/issm/trunk-jpl merged: 15397-15401,15403-15487,15489-15701,15704-15735,15737-16076,16082-16133
- Property svn:ignore
-
issm/trunk/src ¶
- Property svn:mergeinfo changed
-
issm/trunk/src/c ¶
- Property svn:ignore
-
TabularUnified
old new 14 14 probe.results 15 15 stXXXX* 16 16 .deps 17 .dirstamp
-
- Property svn:ignore
-
issm/trunk/src/c/classes ¶
-
Property svn:ignore
set to
.deps
.dirstamp
-
Property svn:ignore
set to
-
TabularUnified issm/trunk/src/c/classes/Node.h ¶
r15396 r16137 11 11 #include "../shared/shared.h" 12 12 #include "./DofIndexing.h" 13 #include "./Update.h" 13 14 class Inputs; 14 15 class Hook; … … 20 21 class ElementVector; 21 22 class ElementMatrix; 22 #include "Update.h"23 23 /*}}}*/ 24 24 25 class Node: public Object ,public Update{25 class Node: public Object{ 26 26 27 27 private: … … 30 30 public: 31 31 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) 34 35 36 bool indexingupdate; 35 37 DofIndexing indexing; 36 Hook *hvertex;37 Inputs *inputs; //properties of this node38 38 int analysis_type; 39 39 IssmDouble coord_system[3][3]; 40 40 41 /*Node constructors, destructors {{{*/41 /*Node constructors, destructors*/ 42 42 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); 44 44 ~Node(); 45 /*}}}*/ 46 /*Object virtual functions definitions: {{{*/45 46 /*Object virtual functions definitions:*/ 47 47 void Echo(); 48 48 void DeepEcho(); 49 49 int Id(); 50 50 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); 74 60 #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); 97 84 void DistributeDofs(int* pdofcount,int setenum); 98 85 void OffsetDofs(int dofcount,int setenum); … … 100 87 void UpdateCloneDofs(int* alltruerows,int ncols,int setenum); 101 88 void SetClone(int* minranks); 102 /*}}}*/103 89 }; 104 90 … … 107 93 int* GetGlobalDofList(Node** nodes,int numnodes,int setenum,int approximation); 108 94 int GetNumberOfDofs(Node** nodes,int numnodes,int setenum,int approximation); 109 #ifdef _HAVE_ DIAGNOSTIC_95 #ifdef _HAVE_STRESSBALANCE_ 110 96 void TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int cs_enum); 111 97 void TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int* cs_array);
Note:
See TracChangeset
for help on using the changeset viewer.