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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 474 - (show annotations)
Mon Jan 30 04:23:44 2006 UTC (13 years, 9 months ago) by jgs
File MIME type: text/plain
File size: 5847 byte(s)
restructure escript source tree
move src/Data/* -> src
remove inc
modify #includes and cpppath settings accordingly

1 /*
2 ******************************************************************************
3 * *
4 * COPYRIGHT ACcESS 2003,2004,2005 - All Rights Reserved *
5 * *
6 * This software is the property of ACcESS. No part of this code *
7 * may be copied in any form or by any means without the expressed written *
8 * consent of ACcESS. Copying, use or modification of this software *
9 * by any unauthorised person is illegal unless that person has a software *
10 * license agreement with ACcESS. *
11 * *
12 ******************************************************************************
13 */
14
15 /**************************************************************/
16
17 /* assemblage routines: header file */
18
19 /**************************************************************/
20
21 /* Copyrights by ACcESS Australia 2003,2004,2005 */
22 /* Author: gross@access.edu.au */
23 /* Version: $Id$ */
24
25 /**************************************************************/
26
27 #ifndef INC_FINLEY_ASSEMBLE
28 #define INC_FINLEY_ASSEMBLE
29
30 /**************************************************************/
31
32 #include "ReferenceElements.h"
33 #include "Finley.h"
34 #include "ElementFile.h"
35 #include "NodeFile.h"
36 #include "DataC.h"
37 #include "SystemMatrix.h"
38
39 struct Assemble_Parameters {
40 dim_t numQuad;
41 dim_t numDim;
42 dim_t numElementDim;
43
44 dim_t NN;
45 dim_t NS;
46 Finley_RefElement* referenceElement;
47
48 dim_t numEqu;
49 index_t* label_row;
50 Finley_RefElement* referenceElement_row;
51 index_t* row_node;
52 dim_t NN_row;
53 dim_t NS_row;
54
55 dim_t numComp;
56 index_t * label_col;
57 Finley_RefElement* referenceElement_col;
58 index_t* col_node;
59 dim_t NN_col;
60 dim_t NS_col;
61
62 index_t id[MAX_numNodes]; /* used to hold a reordering vector, referenced by row_node and col_node */
63 };
64
65 typedef struct Assemble_Parameters Assemble_Parameters;
66
67
68 typedef void (Finley_Assemble_handelShapeMissMatch) (dim_t, dim_t,dim_t, double*,dim_t, dim_t);
69
70 void Finley_Assemble_PDE(Finley_NodeFile*,Finley_ElementFile*,Paso_SystemMatrix*,escriptDataC*,
71 escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*, escriptDataC*) ;
72 void Finley_Assemble_PDE_RHS(Finley_NodeFile*,Finley_ElementFile*,escriptDataC*,escriptDataC*,escriptDataC*) ;
73 void Finley_Assemble_RobinCondition(Finley_NodeFile*,Finley_ElementFile*,Paso_SystemMatrix*,escriptDataC*,
74 escriptDataC*,escriptDataC*,Finley_Assemble_handelShapeMissMatch) ;
75 void Finley_Assemble_RobinCondition_RHS(Finley_NodeFile*,Finley_ElementFile*,escriptDataC*,escriptDataC*,Finley_Assemble_handelShapeMissMatch);
76 /* void Finley_Assemble_Points(Finley_Mesh*,Paso_SystemMatrix*,escriptDataC*,escriptDataC*,escriptDataC*) ;*/
77 void Finley_Assemble_NodeCoordinates(Finley_NodeFile*,escriptDataC*);
78 void Finley_Assemble_setNormal(Finley_NodeFile*, Finley_ElementFile*, escriptDataC*);
79 void Finley_Assemble_interpolate(Finley_NodeFile*,Finley_ElementFile*,escriptDataC*, escriptDataC*);
80 void Finley_Assemble_gradient(Finley_NodeFile*, Finley_ElementFile*,escriptDataC*, escriptDataC*);
81 void Finley_Assemble_integrate(Finley_NodeFile*,Finley_ElementFile*,escriptDataC*,double*) ;
82 void Finley_Assemble_getSize(Finley_NodeFile*,Finley_ElementFile*, escriptDataC*);
83 void Finley_Assemble_CopyNodalData(Finley_NodeFile* nodes,escriptDataC* out,escriptDataC* in);
84 void Finley_Assemble_CopyElementData(Finley_ElementFile* elements,escriptDataC* out,escriptDataC* in);
85 void Finley_Assemble_PDEMatrix_System2(dim_t,dim_t,dim_t,dim_t,dim_t,double*,double*, double*,dim_t, double*, double*,dim_t, double*,dim_t,double*,dim_t,double*,dim_t);
86 void Finley_Assemble_PDEMatrix_Single2(dim_t,dim_t,dim_t,double*,double*, double*,dim_t, double*, double*,dim_t, double*,dim_t,double*,dim_t,double*,dim_t);
87 void Finley_Assemble_RHSMatrix_System(dim_t,dim_t,dim_t,dim_t,double*,double*,double*,dim_t, double*,double*,dim_t,double*,dim_t);
88 void Finley_Assemble_RHSMatrix_Single(dim_t,dim_t,dim_t,double*,double*,double*,dim_t, double*,double*,dim_t,double*,dim_t);
89
90
91 void Assemble_getAssembleParameters(Finley_NodeFile*,Finley_ElementFile*,Paso_SystemMatrix*,escriptDataC*,Assemble_Parameters*);
92 Finley_Assemble_handelShapeMissMatch Finley_Assemble_handelShapeMissMatch_Step_out;
93 Finley_Assemble_handelShapeMissMatch Finley_Assemble_handelShapeMissMatch_Step_in;
94 Finley_Assemble_handelShapeMissMatch Finley_Assemble_handelShapeMissMatch_Mean_out;
95 Finley_Assemble_handelShapeMissMatch Finley_Assemble_handelShapeMissMatch_Mean_in;
96 void Finley_Assemble_addToSystemMatrix(Paso_SystemMatrix*,dim_t,index_t*, dim_t,dim_t,index_t*,dim_t, double*);
97
98 #endif /* #ifndef INC_FINLEY_ASSEMBLE */
99
100 /*
101 * $Log$
102 * Revision 1.4 2005/09/15 03:44:21 jgs
103 * Merge of development branch dev-02 back to main trunk on 2005-09-15
104 *
105 * Revision 1.3 2005/08/12 01:45:42 jgs
106 * erge of development branch dev-02 back to main trunk on 2005-08-12
107 *
108 * Revision 1.2.2.2 2005/09/07 06:26:17 gross
109 * the solver from finley are put into the standalone package paso now
110 *
111 * Revision 1.2.2.1 2005/08/04 22:41:11 gross
112 * some extra routines for finley that might speed-up RHS assembling in some cases (not actived right now)
113 *
114 * Revision 1.2 2005/07/08 04:07:45 jgs
115 * Merge of development branch back to main trunk on 2005-07-08
116 *
117 * Revision 1.1.1.1.2.1 2005/06/29 02:34:46 gross
118 * some changes towards 64 integers in finley
119 *
120 * Revision 1.1.1.1 2004/10/26 06:53:56 jgs
121 * initial import of project esys2
122 *
123 * Revision 1.1 2004/07/02 04:21:13 gross
124 * Finley C code has been included
125 *
126 *
127 */

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26