/[escript]/trunk/finley/src/Assemble.h
ViewVC logotype

Diff of /trunk/finley/src/Assemble.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4430 by caltinay, Thu May 30 06:39:10 2013 UTC revision 4431 by caltinay, Fri May 31 07:09:03 2013 UTC
# Line 23  Line 23 
23  #ifndef INC_FINLEY_ASSEMBLE  #ifndef INC_FINLEY_ASSEMBLE
24  #define INC_FINLEY_ASSEMBLE  #define INC_FINLEY_ASSEMBLE
25    
   
26  #include "ReferenceElements.h"  #include "ReferenceElements.h"
27  #include "Finley.h"  #include "Finley.h"
28  #include "ElementFile.h"  #include "ElementFile.h"
# Line 31  Line 30 
30  #include "escript/DataC.h"  #include "escript/DataC.h"
31  #include "paso/SystemMatrix.h"  #include "paso/SystemMatrix.h"
32    
33    using finley::NodeFile;
34    using finley::ElementFile;
35    using finley::ElementFile_Jacobians;
36    
37  struct Finley_Assemble_Parameters {  struct Finley_Assemble_Parameters {
38      /// total number of quadrature nodes = numQuadSub * numQuadSub      /// total number of quadrature nodes = numQuadSub * numQuadSub
39      int numQuadTotal;      int numQuadTotal;
# Line 50  struct Finley_Assemble_Parameters { Line 53  struct Finley_Assemble_Parameters {
53      int numEqu;      int numEqu;
54      int* row_DOF;      int* row_DOF;
55      int row_DOF_UpperBound;      int row_DOF_UpperBound;
56      Finley_ElementFile_Jacobians* row_jac;      ElementFile_Jacobians* row_jac;
57      int* row_node;      int* row_node;
58      int row_numShapesTotal;      int row_numShapesTotal;
59      int row_numShapes;      int row_numShapes;
   
60      int numComp;      int numComp;
61      int* col_DOF;      int* col_DOF;
62      int col_DOF_UpperBound;      int col_DOF_UpperBound;
63      Finley_ElementFile_Jacobians* col_jac;      ElementFile_Jacobians* col_jac;
64      int* col_node;      int* col_node;
65      int col_numShapesTotal;      int col_numShapesTotal;
66      int col_numShapes;      int col_numShapes;
67  };  };
68    
 typedef struct Finley_Assemble_Parameters Finley_Assemble_Parameters;  
   
   
69  #define Finley_Assemble_reducedIntegrationOrder(__in__) ( (getFunctionSpaceType(__in__) == FINLEY_REDUCED_ELEMENTS) || (getFunctionSpaceType(__in__) == FINLEY_REDUCED_FACE_ELEMENTS) || (getFunctionSpaceType(__in__) == FINLEY_REDUCED_CONTACT_ELEMENTS_1) || (getFunctionSpaceType(__in__) == FINLEY_REDUCED_CONTACT_ELEMENTS_2) )  #define Finley_Assemble_reducedIntegrationOrder(__in__) ( (getFunctionSpaceType(__in__) == FINLEY_REDUCED_ELEMENTS) || (getFunctionSpaceType(__in__) == FINLEY_REDUCED_FACE_ELEMENTS) || (getFunctionSpaceType(__in__) == FINLEY_REDUCED_CONTACT_ELEMENTS_1) || (getFunctionSpaceType(__in__) == FINLEY_REDUCED_CONTACT_ELEMENTS_2) )
70    
71  void Finley_Assemble_PDE(finley::NodeFile*, Finley_ElementFile*,  void Finley_Assemble_PDE(NodeFile*, ElementFile*,
72          Paso_SystemMatrix*, escriptDataC*, escriptDataC*, escriptDataC*,          Paso_SystemMatrix*, escriptDataC*, escriptDataC*, escriptDataC*,
73          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*);
74    
75  void Finley_Assemble_getAssembleParameters(finley::NodeFile*,  void Finley_Assemble_getAssembleParameters(NodeFile*,
76          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*, bool_t,          ElementFile*, Paso_SystemMatrix*, escriptDataC*, bool_t,
77          Finley_Assemble_Parameters*);          Finley_Assemble_Parameters*);
78    
79  void Finley_Assemble_PDE_System2_3D(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_System2_3D(Finley_Assemble_Parameters,
80          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
81          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,
82          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
83    
84  void Finley_Assemble_PDE_System2_2D(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_System2_2D(Finley_Assemble_Parameters,
85          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
86          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,
87          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
88    
89  void Finley_Assemble_PDE_System2_1D(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_System2_1D(Finley_Assemble_Parameters,
90          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
91          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,
92          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
93    
94  void Finley_Assemble_PDE_System2_C(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_System2_C(Finley_Assemble_Parameters,
95          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
96          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
97    
98  void Finley_Assemble_PDE_Single2_3D(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_Single2_3D(Finley_Assemble_Parameters,
99          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
100          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,
101          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
102    
103  void Finley_Assemble_PDE_Single2_2D(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_Single2_2D(Finley_Assemble_Parameters,
104          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
105          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,
106          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
107    
108  void Finley_Assemble_PDE_Single2_1D(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_Single2_1D(Finley_Assemble_Parameters,
109          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
110          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,          escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*,
111          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
112    
113  void Finley_Assemble_PDE_Single2_C(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_Single2_C(Finley_Assemble_Parameters,
114          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
115          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
116    
117  void Finley_Assemble_PDE_Points(Finley_Assemble_Parameters,  void Finley_Assemble_PDE_Points(Finley_Assemble_Parameters,
118          Finley_ElementFile*, Paso_SystemMatrix*, escriptDataC*,          ElementFile*, Paso_SystemMatrix*, escriptDataC*,
119          escriptDataC*, escriptDataC*);          escriptDataC*, escriptDataC*);
120    
121  void Finley_Assemble_NodeCoordinates(finley::NodeFile*, escriptDataC*);  void Finley_Assemble_NodeCoordinates(NodeFile*, escriptDataC*);
122    
123  void Finley_Assemble_setNormal(finley::NodeFile*, Finley_ElementFile*, escriptDataC*);  void Finley_Assemble_setNormal(NodeFile*, ElementFile*, escriptDataC*);
124  void Finley_Assemble_interpolate(finley::NodeFile*, Finley_ElementFile*, escriptDataC*, escriptDataC*);  void Finley_Assemble_interpolate(NodeFile*, ElementFile*, escriptDataC*, escriptDataC*);
125  void Finley_Assemble_gradient(finley::NodeFile*, Finley_ElementFile*, escriptDataC*, escriptDataC*);  void Finley_Assemble_gradient(NodeFile*, ElementFile*, escriptDataC*, escriptDataC*);
126  void Finley_Assemble_integrate(finley::NodeFile*, Finley_ElementFile*, escriptDataC*, double*);  void Finley_Assemble_integrate(NodeFile*, ElementFile*, escriptDataC*, double*);
127  void Finley_Assemble_getSize(finley::NodeFile*, Finley_ElementFile*, escriptDataC*);  void Finley_Assemble_getSize(NodeFile*, ElementFile*, escriptDataC*);
128  void Finley_Assemble_CopyNodalData(finley::NodeFile*, escriptDataC*, escriptDataC*);  void Finley_Assemble_CopyNodalData(NodeFile*, escriptDataC*, escriptDataC*);
129  void Finley_Assemble_CopyElementData(Finley_ElementFile*, escriptDataC*, escriptDataC*);  void Finley_Assemble_CopyElementData(ElementFile*, escriptDataC*, escriptDataC*);
130  void Finley_Assemble_AverageElementData(Finley_ElementFile*, escriptDataC*, escriptDataC*);  void Finley_Assemble_AverageElementData(ElementFile*, escriptDataC*, escriptDataC*);
131    
132  void Finley_Assemble_addToSystemMatrix(Paso_SystemMatrix*, const int NN_Equa,  void Finley_Assemble_addToSystemMatrix(Paso_SystemMatrix*, const int NN_Equa,
133          const int* Nodes_Equa, const int num_Equa, const int NN_Sol,          const int* Nodes_Equa, const int num_Equa, const int NN_Sol,
134          const int* Nodes_Sol, const int num_Sol, const double* array);          const int* Nodes_Sol, const int num_Sol, const double* array);
135    
136  void Finley_Assemble_LumpedSystem(finley::NodeFile*, Finley_ElementFile*,  void Finley_Assemble_LumpedSystem(NodeFile*, ElementFile*,
137          escriptDataC* lumpedMat, escriptDataC* D, const bool_t useHRZ);          escriptDataC* lumpedMat, escriptDataC* D, const bool_t useHRZ);
138    
139  void Finley_Assemble_jacobians_1D(double*, int, double*, int, int, int,  void Finley_Assemble_jacobians_1D(double*, int, double*, int, int, int,

Legend:
Removed from v.4430  
changed lines
  Added in v.4431

  ViewVC Help
Powered by ViewVC 1.1.26