hp2FEM
0.1
|
00001 #ifndef _FEGROUPS_H_ 00002 #define _FEGROUPS_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:22 00007 // file : FEGroups.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 : 30 May 2011 00019 //-------------------------------------------------------------- 00020 // Change history : 00021 // 30 May 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 <cstdio> 00047 #include <cmath> 00048 #include "ds/Array.h" 00049 #include "model/DOFs.h" 00050 #include "fegroups/FiniteElementGroup.h" 00051 #include "interpolation/shapefunctions/ShapeFunctions.h" 00052 #include "enumerations/PostProcessorProgram_E.h" 00053 00054 00065 class FEGroups 00066 { 00067 //#UBLK-BEG-CLASSDEF mm:6e8efab6-f98c-11df-8309-d7f93716487b 00068 //#UBLK-END-CLASSDEF 00069 00070 public: 00071 00072 // METHOD=mm:6b85b8cd-0133-11e0-8a8b-de0e0e40dc59 00073 FEGroups(); 00074 00075 // METHOD=mm:6cc530c2-f98c-11df-8309-d7f93716487b 00076 FEGroups(unsigned long TotalNumberElements, unsigned long NumberGroups, unsigned long MaxSolutionOrder, unsigned long MaxMappingOrder); 00077 00078 // METHOD=mm:b81afc7b-02f9-11e0-89cb-b0660132333d 00079 FEGroups(FEGroups& Instance); 00080 00081 // METHOD=mm:fc25ca91-015e-11e0-8a8b-de0e0e40dc59 00082 ~FEGroups(); 00083 00084 // METHOD=mm:5ed0e481-2ece-11e0-84ed-a641fe67a57a 00085 FEGroups& operator=(FEGroups& Instance); 00086 00087 // METHOD=mm:7e6803bf-2ece-11e0-84ed-a641fe67a57a 00088 FiniteElementGroup& operator[](unsigned long GroupNumber); 00089 00090 // METHOD=mm:6cc530c4-f98c-11df-8309-d7f93716487b 00091 unsigned long GetNumberFEGroups(); 00092 00093 // METHOD=mm:6cc530c5-f98c-11df-8309-d7f93716487b 00094 unsigned long GetTotalNumberElements(); 00095 00096 // METHOD=mm:d7ae06ac-faf1-4069-b4f6-9f7b14728c22 00097 unsigned long GetTotalNumberDOFs(); 00098 00099 // METHOD=mm:6cc530cc-f98c-11df-8309-d7f93716487b 00100 void SetMaxSolutionOrder(unsigned long MaxPolyOrder); 00101 00102 // METHOD=mm:6cc530cd-f98c-11df-8309-d7f93716487b 00103 unsigned long GetMaxSolutionOrder(); 00104 00105 // METHOD=mm:9eedacf4-5948-11e0-8e1d-d62c684a44a5 00106 void SetMaxMappingOrder(unsigned long MaxPolyOrder); 00107 00108 // METHOD=mm:bc22728b-5948-11e0-8e1d-d62c684a44a5 00109 unsigned long GetMaxMappingOrder(); 00110 00111 // METHOD=mm:4a175224-d43b-49c2-ab9b-ef4a4cbcba2e 00112 unsigned long GetMaxNumberDOFsGroup(unsigned short& MaxNumPrimDOFs); 00113 00114 // METHOD=mm:6cc530c7-f98c-11df-8309-d7f93716487b 00115 unsigned long LocalToGlobalNumbering(unsigned long GroupNumber, unsigned long LocalNumber); 00116 00117 // METHOD=mm:6cc530c6-f98c-11df-8309-d7f93716487b 00118 unsigned long GlobalToLocalNumbering(unsigned long GlobalNumber, unsigned long& GroupNumber); 00119 00120 // METHOD=mm:bc69c1cd-a813-11e0-8674-c580764ee309 00121 unsigned long GetGroupNumber(unsigned long Element); 00122 00123 // METHOD=mm:216c51aa-2ece-11e0-84ed-a641fe67a57a 00124 void Save(char* Tabname, int Version, char* Filename); 00125 00126 // METHOD=mm:1c0f111e-2ece-11e0-84ed-a641fe67a57a 00127 void Save(FILE* File); 00128 00129 // METHOD=mm:e10cec58-2ecd-11e0-84ed-a641fe67a57a 00130 void Restore(char* Tabname, int Version, char* Filename); 00131 00132 // METHOD=mm:ccc8d111-2ecd-11e0-84ed-a641fe67a57a 00133 void Restore(FILE* File); 00134 00135 // METHOD=mm:6cc53109-f98c-11df-8309-d7f93716487b 00136 void Read(FILE* FEMFile, FILE* DEFFile, DOFs& DOFsNames, unsigned long Dimension, unsigned long TheoSolIntegOrder = 0); 00137 00138 // METHOD=mm:6cc53112-f98c-11df-8309-d7f93716487b 00139 void Print(FILE* File, char* Message = ""); 00140 00141 // METHOD=mm:6cc53113-f98c-11df-8309-d7f93716487b 00142 void Free(); 00143 00144 00145 // asse=mm:3005af16-4bc0-4f27-8201-1d7e6dadac9c 00146 FiniteElementGroup * theFiniteElementGroup; 00147 00148 00149 protected: 00150 00154 // attr=mm:6cc530ba-f98c-11df-8309-d7f93716487b 00155 Array< FiniteElementGroup > Groups; 00156 00160 // attr=mm:6cc530bb-f98c-11df-8309-d7f93716487b 00161 unsigned long TotNumElem; 00162 00166 // attr=mm:6cc530bc-f98c-11df-8309-d7f93716487b 00167 unsigned long NmbrGrps; 00168 00172 // attr=mm:6cc530bd-f98c-11df-8309-d7f93716487b 00173 unsigned long MaxSolOrder; 00174 00178 // attr=mm:7cef0091-2e3e-11e0-8f65-9f8d7c30bf70 00179 unsigned long MaxMapOrder; 00180 00184 // attr=mm:bd60794c-d10c-46c2-9ac8-08442595854e 00185 PostProcessorProgram_E PostProcProgram; 00186 00187 00188 private: 00189 00190 //#UBLK-BEG-CLASSMEMB mm:6e8efab6-f98c-11df-8309-d7f93716487b 00191 //#UBLK-END-CLASSMEMB 00192 }; 00193 00194 //#UBLK-BEG-GLOBALH 00195 //*** Removed methods: 13 Jun 2011 17:53 00196 //--- 00197 //uuid=mm:23411b91-594b-11e0-8e1d-d62c684a44a5 00198 // operator Mesh&(); 00199 00200 //*** Removed methods: 14 Jun 2011 14:40 00201 //--- 00202 //uuid=mm:4660ceb3-2ece-11e0-84ed-a641fe67a57a 00203 // void PrintTit(FILE* File); 00204 00205 //#UBLK-END-GLOBALH 00206 00207 00208 #endif // _FEGROUPS_H_