hp2FEM  0.1
include/meshtopology/NodeEquationTable.h
00001 #ifndef _NODEEQUATIONTABLE_H_
00002 #define _NODEEQUATIONTABLE_H_
00003 // ---------------------------------------------
00004 // company   : 
00005 // user      : 
00006 // date      : 22 Mar 2015 17:25
00007 // file      : NodeEquationTable.h
00008 // markers   : Full
00009 // language  : C++
00010 // generator : Metamill 6.0
00011 // ---------------------------------------------
00012 
00013 //#UBLK-BEG-HEADERH
00014 //==============================================================
00015 // Description : 
00016 //--------------------------------------------------------------
00017 // Author      : Gilberto Luis
00018 // Created     : 18 Jul 2011
00019 //--------------------------------------------------------------
00020 // Change history : 
00021 //   18 Jul 2011 (Gilberto Luis) Initial version generated
00022 //
00023 //==============================================================
00024 //#UBLK-END-HEADERH
00025 
00026 /*=================================================================================================
00027 =                                                                                                 =
00028 =       Copyright 2010-2015  Marco Lucio Bittencourt / Fabiano Fernandes Bargos                       =
00029 =                        Gilberto Luis Valente / Jorge Luis Suzuki / Allan Patrick Cordeiro Dias  =
00030 =                                                                                                 =
00031 =       Licensed under the Apache License, Version 2.0 (the "License");                               =
00032 =       you may not use this file except in compliance with the License.                              =
00033 =       You may obtain a copy of the License at                                                       =
00034 =                                                                                                 =
00035 =               http://www.apache.org/licenses/LICENSE-2.0                                                =
00036 =                                                                                                 =
00037 =       Unless required by applicable law or agreed to in writing, software                           =
00038 =       distributed under the License is distributed on an "AS IS" BASIS,                             =
00039 =       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                      =
00040 =       See the License for the specific language governing permissions and                           =
00041 =       limitations under the License.                                                                =
00042 =                                                                                                 =
00043 =================================================================================================*/
00044 
00045 
00046 #include "ds/OneIndexTable.h"
00047 #include "model/Equations.h"
00048 #include "meshtopology/NodeNodeTable.h"
00049 
00050 
00060 class NodeEquationTable
00061 {
00062 //#UBLK-BEG-CLASSDEF mm:2381a906-f742-11df-9a4b-85986e853626
00063 //#UBLK-END-CLASSDEF
00064 
00065  public:
00066 
00067    // METHOD=mm:0b117e0a-f742-11df-9a4b-85986e853626
00068    NodeEquationTable();
00069 
00070    // METHOD=mm:b42b65b5-5e39-11e0-8e9e-d80bb329630b
00071    NodeEquationTable(NodeEquationTable& Instance);
00072 
00073    // METHOD=mm:9958e1b3-5e39-11e0-8e9e-d80bb329630b
00074    ~NodeEquationTable();
00075 
00076    // METHOD=mm:d32a06bf-5e39-11e0-8e9e-d80bb329630b
00077    NodeEquationTable& operator=(NodeEquationTable& Instance);
00078 
00079    // METHOD=mm:0b117ea4-f742-11df-9a4b-85986e853626
00080    void BuildEquationEquationTable(unsigned long TotalNumberNodes, NodeNodeTable& NoNoTab, Equations& Eqs);
00081 
00082    // METHOD=mm:0b117ea5-f742-11df-9a4b-85986e853626
00083    unsigned long GetNumberNeighbourDOFs(unsigned long EquationNumber);
00084 
00085    // METHOD=mm:0b117ea6-f742-11df-9a4b-85986e853626
00086    unsigned long*const GetEquationNeighbours(unsigned long EquationNumber, unsigned long& NumberNeighbourEquations);
00087 
00088    // METHOD=mm:0b117e0b-f742-11df-9a4b-85986e853626
00089    void Print(FILE* File, char* Message = "");
00090 
00091    // METHOD=mm:0b117e0c-f742-11df-9a4b-85986e853626
00092    void Save(char* Tabname, int Version, char* Filename);
00093 
00094    // METHOD=mm:a41c7f17-5e4b-11e0-8e9e-d80bb329630b
00095    void Save(FILE* File);
00096 
00097    // METHOD=mm:b860764f-5e4b-11e0-8e9e-d80bb329630b
00098    void Restore(char* Tabname, int Version, char* Filename);
00099 
00100    // METHOD=mm:0b117e0d-f742-11df-9a4b-85986e853626
00101    void Restore(FILE* File);
00102 
00103    // METHOD=mm:0b117e0e-f742-11df-9a4b-85986e853626
00104    void Free();
00105 
00106 
00107  protected:
00108 
00112    // attr=mm:0b117e09-f742-11df-9a4b-85986e853626
00113    OneIndexTable<unsigned long> NoEqTable;
00114 
00115 
00116  private:
00117 
00118 //#UBLK-BEG-CLASSMEMB mm:2381a906-f742-11df-9a4b-85986e853626
00119 //#UBLK-END-CLASSMEMB
00120 };
00121 
00122 //#UBLK-BEG-GLOBALH
00123 //*** Removed methods: 15 Aug 2011 10:39
00124 //---
00125 //uuid=mm:a021cdbd-ad83-11e0-92b7-ede8da26d7bd
00126 //   int Compare(const void* a, const void* b);
00127 
00128 //#UBLK-END-GLOBALH
00129 
00130 
00131 #endif // _NODEEQUATIONTABLE_H_
 All Classes Files Functions Variables Typedefs Friends Defines