/[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 4441 by caltinay, Fri Jun 7 02:23:49 2013 UTC revision 4442 by caltinay, Fri Jun 7 07:04:44 2013 UTC
# Line 32  Line 32 
32  namespace finley {  namespace finley {
33    
34  struct AssembleParameters {  struct AssembleParameters {
35        AssembleParameters(const NodeFile* nodes, const ElementFile* ef,
36                           Paso_SystemMatrix* sm, escript::Data& rhs,
37                           bool reducedOrder);
38    
39        /// element file these parameters apply to
40        const ElementFile* elements;
41        /// system matrix to be updated
42        Paso_SystemMatrix* S;
43        /// right-hand side to be updated
44        escript::Data& F;
45      /// total number of quadrature nodes = numQuadSub * numQuadSub      /// total number of quadrature nodes = numQuadSub * numQuadSub
46      int numQuadTotal;      int numQuadTotal;
47      /// number of quadrature nodes per subelements      /// number of quadrature nodes per subelements
# Line 40  struct AssembleParameters { Line 50  struct AssembleParameters {
50      int numSides;      int numSides;
51      /// number of sub-elements      /// number of sub-elements
52      int numSub;      int numSub;
53      /// spatial dimension      /// number of spatial dimensions
54      int numDim;      int numDim;
55      /// leading dimension of element node table      /// leading dimension of element node table
56      int NN;      int NN;
# Line 63  struct AssembleParameters { Line 73  struct AssembleParameters {
73      int col_numShapes;      int col_numShapes;
74  };  };
75    
76  void Assemble_PDE(NodeFile*, ElementFile*, Paso_SystemMatrix*,  
77    /// Entry point for PDE assembly. Checks arguments, populates an
78    /// AssembleParameters structure and calls appropriate method for the actual
79    /// work.
80    void Assemble_PDE(NodeFile* nodes, ElementFile* elements, Paso_SystemMatrix* S,
81          escript::Data& F, const escript::Data& A, const escript::Data& B,          escript::Data& F, const escript::Data& A, const escript::Data& B,
82          const escript::Data& C, const escript::Data& D, const escript::Data& X,          const escript::Data& C, const escript::Data& D, const escript::Data& X,
83          const escript::Data& Y);          const escript::Data& Y);
84    
85  void Assemble_getAssembleParameters(NodeFile*, ElementFile*,  void Assemble_PDE_Points(const AssembleParameters& p, escript::Data& d_dirac,
86          Paso_SystemMatrix* S, const escript::Data& F, bool,                           escript::Data& y_dirac);
         AssembleParameters*);  
   
 void Assemble_PDE_System2_3D(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&, escript::Data&, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_System2_2D(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&, escript::Data&, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_System2_1D(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&, escript::Data&, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_System2_C(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_Single2_3D(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&, escript::Data&, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_Single2_2D(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&, escript::Data&, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_Single2_1D(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&, escript::Data&, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_Single2_C(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&);  
   
 void Assemble_PDE_Points(AssembleParameters,  
         ElementFile*, Paso_SystemMatrix*, escript::Data&,  
         escript::Data&, escript::Data&);  
87    
88  void Assemble_NodeCoordinates(NodeFile*, escript::Data&);  void Assemble_PDE_Single_1D(const AssembleParameters& p, escript::Data& A,
89            escript::Data& B, escript::Data& C, escript::Data& D, escript::Data& X,
90            escript::Data& Y);
91    
92    void Assemble_PDE_Single_2D(const AssembleParameters& p, escript::Data& A,
93            escript::Data& B, escript::Data& C, escript::Data& D, escript::Data& X,
94            escript::Data& Y);
95    
96    void Assemble_PDE_Single_3D(const AssembleParameters& p, escript::Data& A,
97            escript::Data& B, escript::Data& C, escript::Data& D, escript::Data& X,
98            escript::Data& Y);
99    
100    void Assemble_PDE_Single_C(const AssembleParameters& p, escript::Data& D,
101                               escript::Data& Y);
102    
103    void Assemble_PDE_System_1D(const AssembleParameters& p, escript::Data& A,
104            escript::Data& B, escript::Data& C, escript::Data& D, escript::Data& X,
105            escript::Data& Y);
106    
107    void Assemble_PDE_System_2D(const AssembleParameters& p, escript::Data& A,
108            escript::Data& B, escript::Data& C, escript::Data& D, escript::Data& X,
109            escript::Data& Y);
110    
111    void Assemble_PDE_System_3D(const AssembleParameters& p, escript::Data& A,
112            escript::Data& B, escript::Data& C, escript::Data& D, escript::Data& X,
113            escript::Data& Y);
114    
115  void Assemble_setNormal(NodeFile*, ElementFile*, escript::Data&);  void Assemble_PDE_System_C(const AssembleParameters& p, escript::Data& D,
116  void Assemble_interpolate(NodeFile*, ElementFile*, const escript::Data&, escript::Data&);                             escript::Data& Y);
 void Assemble_gradient(NodeFile*, ElementFile*, escript::Data&, const escript::Data&);  
 void Assemble_integrate(NodeFile*, ElementFile*, const escript::Data&, double*);  
 void Assemble_getSize(NodeFile*, ElementFile*, escript::Data&);  
 void Assemble_CopyNodalData(NodeFile*, escript::Data&, const escript::Data&);  
 void Assemble_CopyElementData(ElementFile*, escript::Data&, const escript::Data&);  
 void Assemble_AverageElementData(ElementFile*, escript::Data&, const escript::Data&);  
117    
118  void Assemble_addToSystemMatrix(Paso_SystemMatrix*, const int NN_Equa,  void Assemble_addToSystemMatrix(Paso_SystemMatrix*, const int NN_Equa,
119          const int* Nodes_Equa, const int num_Equa, const int NN_Sol,          const int* Nodes_Equa, const int num_Equa, const int NN_Sol,
120          const int* Nodes_Sol, const int num_Sol, const double* array);          const int* Nodes_Sol, const int num_Sol, const double* array);
121    
122  void Assemble_LumpedSystem(NodeFile*, ElementFile*,  void Assemble_LumpedSystem(NodeFile* nodes, ElementFile* elements,
123          escript::Data& lumpedMat, const escript::Data& D, bool useHRZ);          escript::Data& lumpedMat, const escript::Data& D, bool useHRZ);
124    
125  void Assemble_jacobians_1D(double*, int, double*, int, int, int,  void Assemble_AverageElementData(ElementFile*, escript::Data&, const escript::Data&);
126          int*, double*, int, double*, double*, double*, int*);  void Assemble_CopyElementData(ElementFile*, escript::Data&, const escript::Data&);
127  void Assemble_jacobians_2D(double*, int, double*, int, int, int,  void Assemble_CopyNodalData(NodeFile*, escript::Data&, const escript::Data&);
128          int*, double*, int, double*, double*, double*, int*);  void Assemble_NodeCoordinates(NodeFile*, escript::Data&);
129  void Assemble_jacobians_2D_M1D_E2D(double*, int, double*, int, int,  
130          int, int*, double*, int, double*, double*, double*, int*);  void Assemble_gradient(NodeFile*, ElementFile*, escript::Data&, const escript::Data&);
131  void Assemble_jacobians_2D_M1D_E2D_C(double*, int, double*, int,  void Assemble_integrate(NodeFile*, ElementFile*, const escript::Data&, double*);
132          int, int, int*, double*, int, double*, double*, double*,  void Assemble_interpolate(NodeFile*, ElementFile*, const escript::Data&, escript::Data&);
133          int*);  void Assemble_setNormal(NodeFile*, ElementFile*, escript::Data&);
134  void Assemble_jacobians_2D_M1D_E1D(double*, int, double*, int, int,  void Assemble_getSize(NodeFile*, ElementFile*, escript::Data&);
135          int, int*, double*, int, double*, double*, double*, int*);  
136  void Assemble_jacobians_2D_M1D_E1D_C(double*, int, double*, int,  void Assemble_jacobians_1D(double*, int, double*, int, int, int, int*, double*,
137          int, int, int*, double*, int, double*, double*, double*, int*);                             int, double*, double*, double*, int*);
138  void Assemble_jacobians_3D(double*, int, double*, int, int, int,  void Assemble_jacobians_2D(double*, int, double*, int, int, int, int*, double*,
139          int*, double*, int, double*, double*, double*, int*);                             int, double*, double*, double*, int*);
140  void Assemble_jacobians_3D_M2D_E3D(double*, int, double*, int, int,  void Assemble_jacobians_2D_M1D_E2D(double*, int, double*, int, int, int, int*,
141          int, int*, double*, int, double*, double*, double*, int*);                                  double*, int, double*, double*, double*, int*);
142  void Assemble_jacobians_3D_M2D_E3D_C(double*, int, double*, int,  void Assemble_jacobians_2D_M1D_E2D_C(double*, int, double*, int, int, int,
143          int, int, int*, double*, int, double*, double*, double*, int*);                            int*, double*, int, double*, double*, double*, int*);
144  void Assemble_jacobians_3D_M2D_E2D(double*, int, double*, int, int,  void Assemble_jacobians_2D_M1D_E1D(double*, int, double*, int, int, int, int*,
145          int, int*, double*, int, double*, double*, double*, int*);                                  double*, int, double*, double*, double*, int*);
146  void Assemble_jacobians_3D_M2D_E2D_C(double*, int, double*, int,  void Assemble_jacobians_2D_M1D_E1D_C(double*, int, double*, int, int, int,
147          int, int, int*, double*, int, double*, double*, double*, int*);                            int*, double*, int, double*, double*, double*, int*);
148    void Assemble_jacobians_3D(double*, int, double*, int, int, int, int*, double*,
149                               int, double*, double*, double*, int*);
150    void Assemble_jacobians_3D_M2D_E3D(double*, int, double*, int, int, int, int*,
151                                    double*, int, double*, double*, double*, int*);
152    void Assemble_jacobians_3D_M2D_E3D_C(double*, int, double*, int, int, int,
153                              int*, double*, int, double*, double*, double*, int*);
154    void Assemble_jacobians_3D_M2D_E2D(double*, int, double*, int, int, int, int*,
155                                    double*, int, double*, double*, double*, int*);
156    void Assemble_jacobians_3D_M2D_E2D_C(double*, int, double*, int, int, int,
157                              int*, double*, int, double*, double*, double*, int*);
158    
159  } // namespace finley  } // namespace finley
160    

Legend:
Removed from v.4441  
changed lines
  Added in v.4442

  ViewVC Help
Powered by ViewVC 1.1.26