7fd59977 |
1 | -- File: FEmTool_Assembly.cdl |
2 | -- Created: Wed Oct 29 16:51:32 1997 |
3 | -- Author: Roman BORISOV |
4 | -- <rbv@velox.nnov.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1997 |
6 | |
7 | class Assembly from FEmTool |
8 | |
9 | ---Purpose: Assemble and solve system from (one dimensional) Finite Elements |
10 | |
11 | uses |
12 | Array2OfInteger from TColStd, |
13 | HAssemblyTable from FEmTool, |
14 | Matrix from math, |
15 | Vector from math, |
16 | ProfileMatrix from FEmTool, |
17 | SeqOfLinConstr from FEmTool, |
18 | SequenceOfReal from TColStd |
19 | |
20 | raises |
21 | NotDone from StdFail, |
22 | DimensionError, |
23 | DomainError |
24 | is |
25 | Create(Dependence : Array2OfInteger from TColStd; |
26 | Table : HAssemblyTable from FEmTool) |
27 | returns Assembly from FEmTool; |
28 | |
29 | NullifyMatrix(me : in out); |
30 | ---Purpose: Nullify all Matrix 's Coefficient |
31 | |
32 | AddMatrix(me : in out; |
33 | Element : Integer; |
34 | Dimension1 : Integer; |
35 | Dimension2 : Integer; |
36 | Mat : Matrix from math) |
37 | ---Purpose: Add an elementary Matrix in the assembly Matrix |
38 | raises DomainError; -- if Dependence(Dimension1,Dimension2) is False |
39 | |
40 | NullifyVector(me : in out); |
41 | ---Purpose: Nullify all Coordinate of assembly Vector (second member) |
42 | |
43 | AddVector(me : in out; |
44 | Element : Integer; |
45 | Dimension : Integer; |
46 | Vec : Vector from math); |
47 | ---Purpose: Add an elementary Vector in the assembly Vector (second member) |
48 | |
49 | ResetConstraint(me : in out); |
50 | ---Purpose: Delete all Constraints. |
51 | |
52 | NullifyConstraint(me : in out); |
53 | ---Purpose: Nullify all Constraints. |
54 | |
55 | AddConstraint(me : in out; |
56 | IndexofConstraint : Integer; |
57 | Element : Integer; |
58 | Dimension : Integer; |
59 | LinearForm : Vector from math; |
60 | Value : Real); |
61 | |
62 | |
63 | Solve(me : in out) returns Boolean; |
64 | ---Purpose: Solve the assembly system |
65 | -- Returns Standard_False if the computation failed. |
66 | |
67 | Solution(me; Solution : out Vector from math) |
68 | raises NotDone from StdFail; -- if the system is not solved. |
69 | |
70 | NbGlobVar(me) |
71 | returns Integer; |
72 | |
73 | GetAssemblyTable(me; AssTable : out HAssemblyTable from FEmTool); |
74 | |
75 | fields |
76 | myDepTable : Array2OfInteger; |
77 | myRefTable : HAssemblyTable; |
78 | IsSolved : Boolean; |
79 | H : ProfileMatrix from FEmTool; |
80 | B : Vector from math; |
81 | GHGt : ProfileMatrix from FEmTool; |
82 | G : SeqOfLinConstr from FEmTool; |
83 | C : SequenceOfReal from TColStd; |
84 | end Assembly; |
85 | |