/[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 6214 by caltinay, Thu May 12 23:05:56 2016 UTC revision 6215 by caltinay, Mon May 23 02:58:03 2016 UTC
# Line 14  Line 14 
14  *  *
15  *****************************************************************************/  *****************************************************************************/
16    
   
17  /****************************************************************************  /****************************************************************************
18    
19    Assemblage routines: header file    Assemblage routines: header file
# Line 31  Line 30 
30    
31  namespace finley {  namespace finley {
32    
33  struct AssembleParameters {  struct AssembleParameters
34    {
35      AssembleParameters(const NodeFile* nodes, const ElementFile* ef,      AssembleParameters(const NodeFile* nodes, const ElementFile* ef,
36                         escript::ASM_ptr sm, escript::Data& rhs,                         escript::ASM_ptr sm, escript::Data& rhs,
37                         bool reducedOrder);                         bool reducedOrder);
# Line 83  void Assemble_PDE(const NodeFile* nodes, Line 83  void Assemble_PDE(const NodeFile* nodes,
83                    const escript::Data& C, const escript::Data& D,                    const escript::Data& C, const escript::Data& D,
84                    const escript::Data& X, const escript::Data& Y);                    const escript::Data& X, const escript::Data& Y);
85    
86  void Assemble_PDE_Points(const AssembleParameters& p, const escript::Data& d_dirac,  void Assemble_PDE_Points(const AssembleParameters& p,
87                             const escript::Data& d_dirac,
88                           const escript::Data& y_dirac);                           const escript::Data& y_dirac);
89    
90  void Assemble_PDE_Single_1D(const AssembleParameters& p,  void Assemble_PDE_Single_1D(const AssembleParameters& p,
# Line 130  void Assemble_LumpedSystem(const NodeFil Line 131  void Assemble_LumpedSystem(const NodeFil
131                             escript::Data& lumpedMat, const escript::Data& D,                             escript::Data& lumpedMat, const escript::Data& D,
132                             bool useHRZ);                             bool useHRZ);
133    
134    /// averages data
135  void Assemble_AverageElementData(const ElementFile* elements,  void Assemble_AverageElementData(const ElementFile* elements,
136                                   escript::Data& out, const escript::Data& in);                                   escript::Data& out, const escript::Data& in);
137    
138    /// copies data between different types of elements
139  void Assemble_CopyElementData(const ElementFile* elements, escript::Data& out,  void Assemble_CopyElementData(const ElementFile* elements, escript::Data& out,
140                                const escript::Data& in);                                const escript::Data& in);
141    
142    /// copies data between different types of nodal representations
143  void Assemble_CopyNodalData(const NodeFile* nodes, escript::Data& out,  void Assemble_CopyNodalData(const NodeFile* nodes, escript::Data& out,
144                              const escript::Data& in);                              const escript::Data& in);
145    
146  void Assemble_NodeCoordinates(const NodeFile* nodes, escript::Data& out);  /// copies node coordinates into expanded Data object `x`
147    void Assemble_NodeCoordinates(const NodeFile* nodes, escript::Data& x);
148    
149  void Assemble_getNormal(const NodeFile* nodes, const ElementFile* elements,  void Assemble_getNormal(const NodeFile* nodes, const ElementFile* elements,
150                          escript::Data& normals);                          escript::Data& normals);
# Line 150  void Assemble_getSize(const NodeFile* no Line 155  void Assemble_getSize(const NodeFile* no
155  void Assemble_gradient(const NodeFile* nodes, const ElementFile* elements,  void Assemble_gradient(const NodeFile* nodes, const ElementFile* elements,
156                         escript::Data& gradient, const escript::Data& data);                         escript::Data& gradient, const escript::Data& data);
157    
158    /// integrates data on quadrature points
159  void Assemble_integrate(const NodeFile* nodes, const ElementFile* elements,  void Assemble_integrate(const NodeFile* nodes, const ElementFile* elements,
160                          const escript::Data& data, double* integrals);                          const escript::Data& data, double* integrals);
161    
162    /// interpolates nodal data in a data array onto elements (=integration points)
163  void Assemble_interpolate(const NodeFile* nodes, const ElementFile* elements,  void Assemble_interpolate(const NodeFile* nodes, const ElementFile* elements,
164                            const escript::Data& data, escript::Data& output);                            const escript::Data& data, escript::Data& output);
165    
# Line 161  void Assemble_jacobians_1D(const double* Line 168  void Assemble_jacobians_1D(const double*
168                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
169                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
170                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
171    
172  void Assemble_jacobians_2D(const double* coordinates, int numQuad,  void Assemble_jacobians_2D(const double* coordinates, int numQuad,
173                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
174                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
175                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
176                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
177    
178  void Assemble_jacobians_2D_M1D_E1D(const double* coordinates, int numQuad,  void Assemble_jacobians_2D_M1D_E1D(const double* coordinates, int numQuad,
179                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
180                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
181                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
182                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
183    
184  void Assemble_jacobians_2D_M1D_E1D_C(const double* coordinates, int numQuad,  void Assemble_jacobians_2D_M1D_E1D_C(const double* coordinates, int numQuad,
185                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
186                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
187                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
188                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
189    
190  void Assemble_jacobians_2D_M1D_E2D(const double* coordinates, int numQuad,  void Assemble_jacobians_2D_M1D_E2D(const double* coordinates, int numQuad,
191                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
192                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
193                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
194                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
195    
196  void Assemble_jacobians_2D_M1D_E2D_C(const double* coordinates, int numQuad,  void Assemble_jacobians_2D_M1D_E2D_C(const double* coordinates, int numQuad,
197                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
198                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
199                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
200                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
201    
202  void Assemble_jacobians_3D(const double* coordinates, int numQuad,  void Assemble_jacobians_3D(const double* coordinates, int numQuad,
203                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
204                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
205                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
206                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
207    
208  void Assemble_jacobians_3D_M2D_E2D(const double* coordinates, int numQuad,  void Assemble_jacobians_3D_M2D_E2D(const double* coordinates, int numQuad,
209                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
210                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
211                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
212                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
213    
214  void Assemble_jacobians_3D_M2D_E2D_C(const double* coordinates, int numQuad,  void Assemble_jacobians_3D_M2D_E2D_C(const double* coordinates, int numQuad,
215                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
216                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
217                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
218                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
219    
220  void Assemble_jacobians_3D_M2D_E3D(const double* coordinates, int numQuad,  void Assemble_jacobians_3D_M2D_E3D(const double* coordinates, int numQuad,
221                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
222                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,
223                             const double* DSDv, int numTest, const double* DTDv,                             const double* DSDv, int numTest, const double* DTDv,
224                             double* dTdX, double* volume, const index_t* elementId);                             double* dTdX, double* volume, const index_t* elementId);
225    
226  void Assemble_jacobians_3D_M2D_E3D_C(const double* coordinates, int numQuad,  void Assemble_jacobians_3D_M2D_E3D_C(const double* coordinates, int numQuad,
227                             const double* QuadWeights, int numShape,                             const double* QuadWeights, int numShape,
228                             dim_t numElements, int numNodes, const index_t* nodes,                             dim_t numElements, int numNodes, const index_t* nodes,

Legend:
Removed from v.6214  
changed lines
  Added in v.6215

  ViewVC Help
Powered by ViewVC 1.1.26