Escript  Revision_4320
finley/src/Assemble.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15 
16 
17 /************************************************************************************/
18 
19 /* assemblage routines: header file */
20 
21 /************************************************************************************/
22 
23 #ifndef INC_FINLEY_ASSEMBLE
24 #define INC_FINLEY_ASSEMBLE
25 
26 /************************************************************************************/
27 
28 #include "ReferenceElements.h"
29 #include "Finley.h"
30 #include "ElementFile.h"
31 #include "NodeFile.h"
32 #include "escript/DataC.h"
33 #include "paso/SystemMatrix.h"
34 
36  dim_t numQuadTotal; /* total number of quadrature nodes = numQuadSub * numQuadSub */
37  dim_t numQuadSub; /* number of quadrature nodes per subelements */
38  dim_t numSides; /* number of sides */
39  dim_t numSub; /* number of subelements */
40  dim_t numDim; /* spatial dimension */
41  dim_t NN; /* leading dimension of element node table */
42  dim_t numElements; /* number of elements */
43 
51 
59 };
60 
62 
63 
64 #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) )
65 
68 
85 
86 
96 void Finley_Assemble_addToSystemMatrix(Paso_SystemMatrix* in, const dim_t NN_Equa, const index_t* Nodes_Equa, const dim_t num_Equa,
97  const dim_t NN_Sol, const index_t* Nodes_Sol, const dim_t num_Sol, const double* array);
98 
99 void Finley_Assemble_jacobeans_1D(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
100 void Finley_Assemble_jacobeans_2D(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
101 void Finley_Assemble_jacobeans_2D_M1D_E2D(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
102 void Finley_Assemble_jacobeans_2D_M1D_E2D_C(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
103 void Finley_Assemble_jacobeans_2D_M1D_E1D(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
104 void Finley_Assemble_jacobeans_2D_M1D_E1D_C(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
105 void Finley_Assemble_jacobeans_3D(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
106 void Finley_Assemble_jacobeans_3D_M2D_E3D(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
107 void Finley_Assemble_jacobeans_3D_M2D_E3D_C(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
108 void Finley_Assemble_jacobeans_3D_M2D_E2D(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
109 void Finley_Assemble_jacobeans_3D_M2D_E2D_C(double*, dim_t, double*, dim_t, dim_t, dim_t, index_t*, double*, dim_t, double*, double*, double*, index_t*);
110 
111 
112 void Finley_Assemble_LumpedSystem(Finley_NodeFile* nodes,Finley_ElementFile* elements, escriptDataC* lumpedMat, escriptDataC* D, const bool_t useHRZ);
113 #endif /* #ifndef INC_FINLEY_ASSEMBLE */
114