Added stubs for the rest of the functions needed by explicit FEA example
authorIsaac Dooley <idooley2@illinois.edu>
Thu, 22 Feb 2007 03:01:39 +0000 (03:01 +0000)
committerIsaac Dooley <idooley2@illinois.edu>
Thu, 22 Feb 2007 03:01:39 +0000 (03:01 +0000)
src/libs/ck-libs/ParFUM-Tops/Makefile
src/libs/ck-libs/ParFUM-Tops/ParFUM_TOPS.C
src/libs/ck-libs/ParFUM-Tops/ParFUM_TOPS.h
src/libs/ck-libs/ParFUM-Tops/ParFUM_TOPS_Iterators.C

index 83de6ca350e5b057eaa26b85b26d2eb3355532e7..515c54dfe666a3d9116aa8a0609a73579f5bbc61 100644 (file)
@@ -45,4 +45,4 @@ ParFUM_TOPS_Iterators.o: ParFUM_TOPS_Iterators.C $(HEADDEP) ParFUM_TOPS.h
 
 # clean up
 clean:
-       rm -rf *.a *.def.h *.decl.h *.o *~ SunWS_cache $(DEST) headers
+       rm -rf *.a *.def.h *.decl.h *.o *~ SunWS_cache $(DEST) headers docs doxygen_warn_logfile
index acb97fdba5d2cfcc54d932dc0f0eb86815d71ce0..9600f14ae7207d377122b10c163cc7d2a234903a 100644 (file)
@@ -55,6 +55,10 @@ TopModel* topModel_Create_Driver(int elem_attr_sz, int node_attr_sz){
   return mesh;
 }
 
+void topModel_Destroy(TopModel* m){
+}
+
+
 TopNode topModel_InsertNode(TopModel* m, double x, double y, double z){
   int newNode = FEM_add_node_local(m,false,false,false);
   m->node.set_coord(newNode,x,y,z);
@@ -68,14 +72,15 @@ void topNode_SetId(TopModel* m, TopNode n, TopID id){
   m->node.setGlobalno(n,id);
 }
 
- /** Insert an element */
+/** Insert an element */
 TopElement topModel_InsertElem(TopModel*m, TopElemType type, TopNode* nodes){
-  assert(type == FEM_TRIANGULAR);
-  int conn[3];
+  assert(type ==  TOP_ELEMENT_TET4);
+  int conn[4];
   conn[0] = nodes[0];
   conn[1] = nodes[1];
   conn[2] = nodes[2];
-  int newEl = FEM_add_element_local(m, conn, 3, 0, 0, 0);
+  conn[3] = nodes[3];
+  int newEl = FEM_add_element_local(m, conn, 4, 0, 0, 0);
   return newEl;
 }
 
@@ -117,7 +122,7 @@ void topElement_SetAttrib(TopModel* m, TopElement e, void* d){
 /** @brief Get elem attribute 
 See topNode_SetAttrib() for description
 */
-void* topElem_GetAttrib(TopModel* m, TopElement e){
+void* topElement_GetAttrib(TopModel* m, TopElement e){
   FEM_DataAttribute * at = (FEM_DataAttribute*) m->elem[0].lookup(FEM_DATA+0,"topElem_GetAttrib");
   AllocTable2d<unsigned char> &dataTable  = at->getChar();
   unsigned char *data = dataTable.getData();
@@ -155,6 +160,26 @@ TopElement topModel_GetElemAtId(TopModel*,TopID){
 
 
 
+TopNode topElement_GetNode(TopModel* m,TopElement e,int idx){
+  assert(0);
+}
+
+
+int topNode_GetId(TopModel* m, TopNode n){
+  assert(0);
+}
+
+int topModel_GetNNodes(TopModel *model){
+  assert(0);
+}
+
+int topElement_GetNNodes(TopModel* model, TopElement elem){
+  assert(0);
+}
+
+void topNode_GetPosition(TopModel*model, TopNode node,double*x,double*y,double*z){
+  assert(0);
+}
 
 
 #include "ParFUM_TOPS.def.h"
index b0b7a55e42e5232ab23a4ea7c0c66fda26609357..9d68fd137b4238cb2b9b878652e8671bee721ffa 100644 (file)
@@ -50,6 +50,8 @@ Sample usage:
 
 */
 
+#ifndef __PARFUM_TOPS___H
+#define __PARFUM_TOPS___H
 
 #include <ParFUM.h>
 #include <ParFUM_internals.h>
@@ -64,6 +66,28 @@ typedef unsigned TopNode;
 typedef unsigned TopElement;
 
 
+enum {
+  TOP_ELEMENT_T3 =0,
+  TOP_ELEMENT_T6,
+  TOP_ELEMENT_Q4,
+  TOP_ELEMENT_Q8,
+  TOP_ELEMENT_TET4,
+  TOP_ELEMENT_TET10,
+  TOP_ELEMENT_HEX8,
+  TOP_ELEMENT_HEX8_RESERVOIR,
+  TOP_ELEMENT_HEX20,
+  TOP_ELEMENT_WEDGE15,
+  TOP_ELEMENT_COH2E2,
+  TOP_ELEMENT_COH2E3,
+  TOP_ELEMENT_COH3T3,
+  TOP_ELEMENT_COH3T6,
+  TOP_ELEMENT_COH3Q4,
+  TOP_ELEMENT_COH3Q8,
+  TOP_ELEMENT_WEDGE6,
+  TOP_ELEMENT_MAX
+};
+
+
 /** Node Iterator */
 class TopNodeItr{
 public:
@@ -96,6 +120,9 @@ TopModel* topModel_Create_Init(int elem_attr_sz, int node_attr_sz);
 /** Create and access a Tops model. Only call from Driver */
 TopModel* topModel_Create_Driver(int elem_attr_sz, int node_attr_sz);
 
+/** Cleanup a model. Currently does nothing */
+void topModel_Destroy(TopModel* m);
+
 /** Insert a node */
 TopNode topModel_InsertNode(TopModel*, double x, double y, double z);
 
@@ -124,7 +151,19 @@ TopElement topModel_GetElemAtId(TopModel*,TopID);
 void* topNode_GetAttrib(TopModel*, TopNode);
 
 /** Get element attribute */
-void* topElem_GetAttrib(TopModel*, TopElement);
+void* topElement_GetAttrib(TopModel*, TopElement);
+
+
+TopNode topElement_GetNode(TopModel*,TopElement,int idx);
+
+int topNode_GetId(TopModel* m, TopNode n);
+
+
+int topModel_GetNNodes(TopModel *model);
+
+int topElement_GetNNodes(TopModel* model, TopElement elem);
+
+void topNode_GetPosition(TopModel*model, TopNode node,double*x,double*y,double*z);
 
 /** Create Iterator for nodes */
 TopNodeItr*  topModel_CreateNodeItr(TopModel*);
@@ -164,4 +203,4 @@ void topElemItr_Next(TopElemItr*);
 TopElement topElemItr_GetCurr(TopElemItr*);
 
 
-
+#endif
index edffc198b6226dcdf789e465ad35fd44592f8b19..b13f5a2624796f09b87df0a9617ceb3d835e9a50 100644 (file)
@@ -1,5 +1,3 @@
-
-
 #include "ParFUM_TOPS.h"
 
 /**************************************************************************