hp2FEM
0.1
|
00001 #ifndef _DIRICHLETBC_H_ 00002 #define _DIRICHLETBC_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:21 00007 // file : DirichletBC.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 Jun 2011 00019 //-------------------------------------------------------------- 00020 // Change history : 00021 // 30 Jun 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 "ds/Array.h" 00048 #include "enumerations/DBC_E.h" 00049 #include "enumerations/Entity_E.h" 00050 #include "loadsets/LoadIntensity.h" 00051 #include "model/DOFs.h" 00052 00053 00063 class DirichletBC 00064 { 00065 //#UBLK-BEG-CLASSDEF mm:2e1b8135-f964-11df-95ab-e492b5386a89 00066 //#UBLK-END-CLASSDEF 00067 00068 public: 00069 00070 // METHOD=mm:2e1b84dc-f964-11df-95ab-e492b5386a89 00071 DirichletBC(); 00072 00073 // METHOD=mm:0afcde87-f97c-11df-8309-d7f93716487b 00074 DirichletBC(DirichletBC& Instance); 00075 00076 // METHOD=mm:a42bd97d-f97c-11df-8309-d7f93716487b 00077 ~DirichletBC(); 00078 00079 // METHOD=mm:cbd39910-5a45-11e0-8ae7-a0e7caa9ceb2 00080 DirichletBC& operator=(DirichletBC& Instance); 00081 00082 // METHOD=mm:2e1b857a-f964-11df-95ab-e492b5386a89 00083 unsigned long GetNumberDBCNodes(); 00084 00085 // METHOD=mm:43a1ced9-5a46-11e0-8ae7-a0e7caa9ceb2 00086 unsigned long GetNumberDBCEdges(); 00087 00088 // METHOD=mm:616f3695-5a46-11e0-8ae7-a0e7caa9ceb2 00089 unsigned long GetNumberDBCFaces(); 00090 00091 // METHOD=mm:764bdeab-5a46-11e0-8ae7-a0e7caa9ceb2 00092 unsigned long GetNumberDBCKeypoints(); 00093 00094 // METHOD=mm:91b6e893-5a46-11e0-8ae7-a0e7caa9ceb2 00095 unsigned long GetNumberDBCLines(); 00096 00097 // METHOD=mm:a5fae601-5a46-11e0-8ae7-a0e7caa9ceb2 00098 unsigned long GetNumberDBCSurfaces(); 00099 00100 // METHOD=mm:2e1b86ad-f964-11df-95ab-e492b5386a89 00101 unsigned long GetNumberDBC(Entity_E Entity); 00102 00103 // METHOD=mm:2e1b874a-f964-11df-95ab-e492b5386a89 00104 Array<LoadIntensity>& GetDBCNodes(); 00105 00106 // METHOD=mm:bcedf7a3-5a47-11e0-8ae7-a0e7caa9ceb2 00107 Array<LoadIntensity>& GetDBCEdges(); 00108 00109 // METHOD=mm:a0ea4421-5a47-11e0-8ae7-a0e7caa9ceb2 00110 Array<LoadIntensity>& GetDBCFaces(); 00111 00112 // METHOD=mm:71d3f8d5-5a47-11e0-8ae7-a0e7caa9ceb2 00113 Array<LoadIntensity>& GetDBCKeypoints(); 00114 00115 // METHOD=mm:dd1dbd79-5a47-11e0-8ae7-a0e7caa9ceb2 00116 Array<LoadIntensity>& GetDBCLines(); 00117 00118 // METHOD=mm:fc1c38e5-5a47-11e0-8ae7-a0e7caa9ceb2 00119 Array<LoadIntensity>& GetDBCSurfaces(); 00120 00121 // METHOD=mm:2e1b89b8-f964-11df-95ab-e492b5386a89 00122 Array<LoadIntensity>& GetDBC(Entity_E Entity); 00123 00124 // METHOD=mm:2e1b8578-f964-11df-95ab-e492b5386a89 00125 void SetNumberDBCNodes(unsigned long NumberDBCNodes); 00126 00127 // METHOD=mm:2e1b857e-f964-11df-95ab-e492b5386a89 00128 void SetNumberDBCEdges(unsigned long NumberDBCEdges); 00129 00130 // METHOD=mm:2e1b8619-f964-11df-95ab-e492b5386a89 00131 void SetNumberDBCFaces(unsigned long NumberDBCFaces); 00132 00133 // METHOD=mm:2e1b857b-f964-11df-95ab-e492b5386a89 00134 void SetNumberDBCKeypoints(unsigned long NumberDBCKeypoints); 00135 00136 // METHOD=mm:2e1b8616-f964-11df-95ab-e492b5386a89 00137 void SetNumberDBCLines(unsigned long NumberDBCLines); 00138 00139 // METHOD=mm:2e1b861c-f964-11df-95ab-e492b5386a89 00140 void SetNumberDBCSurfaces(unsigned long NumberDBCSurfaces); 00141 00142 // METHOD=mm:2e1b86aa-f964-11df-95ab-e492b5386a89 00143 void SetNumberDBCEntity(Entity_E Entity, unsigned long NumberDBCEntity); 00144 00145 // METHOD=mm:2e1b86af-f964-11df-95ab-e492b5386a89 00146 void SetDBCNodes(unsigned long DBCIndex, unsigned long NodeNumber, unsigned long NumberDOFs, char** DOFNames, DBC_E DBCFlag = HDBC, double* Intensity = 0); 00147 00148 // METHOD=mm:2e1b8752-f964-11df-95ab-e492b5386a89 00149 void SetDBCEdges(unsigned long DBCIndex, unsigned long ElementNumber, unsigned long EdgeNumber, unsigned long NumberDOFs, char** DOFNames, DBC_E DBCFlag = HDBC, double* NumericIntensity = 0); 00150 00151 // METHOD=mm:b745d8ac-5a4a-11e0-8ae7-a0e7caa9ceb2 00152 void SetDBCFaces(unsigned long DBCIndex, unsigned long ElementNumber, unsigned long FaceNumber, unsigned long NumberDOFs, char** DOFNames, DBC_E DBCFlag = HDBC, double* NumericIntensity = 0); 00153 00154 // METHOD=mm:2e1b874b-f964-11df-95ab-e492b5386a89 00155 void SetDBCKeypoints(unsigned long DBCIndex, unsigned long KeypointNumber, unsigned long NumberDOFs, char** DOFNames, DBC_E DBCFlag = HDBC, double* Intensity = 0); 00156 00157 // METHOD=mm:2e1b87ef-f964-11df-95ab-e492b5386a89 00158 void SetDBCLines(unsigned long DBCIndex, unsigned long LineNumber, unsigned long NumberDOFs, char** DOFNames, DBC_E DBCFlag = HDBC, double* NumericIntensity = 0); 00159 00160 // METHOD=mm:730711a4-5a4b-11e0-8ae7-a0e7caa9ceb2 00161 void SetDBCSurfaces(unsigned long DBCIndex, unsigned long SurfaceNumber, unsigned long NumberDOFs, char** DOFNames, DBC_E DBCFlag = HDBC, double* NumericIntensity = 0); 00162 00163 // METHOD=mm:916d0b95-5a4b-11e0-8ae7-a0e7caa9ceb2 00164 void SetDBCEntity(Entity_E Entity, unsigned long DBCIndex, unsigned long EntityNumber, unsigned long LocalEntityNumber, unsigned long NumberDOFs, char** DOFNames, DBC_E DBCFlag = HDBC, double* NumericIntensity = 0); 00165 00166 // METHOD=mm:2e1b84dd-f964-11df-95ab-e492b5386a89 00167 void Read(FILE* DEFFile, DOFs& DOFsAttributes, DBC_E DBCFlag); 00168 00169 // METHOD=mm:2e1b8575-f964-11df-95ab-e492b5386a89 00170 void Print(FILE* File, char* Message = "", DBC_E DBCFlag = NHDBC); 00171 00172 00173 protected: 00174 00179 // attr=mm:2e1b84d5-f964-11df-95ab-e492b5386a89 00180 Array<LoadIntensity> DBCNodes; 00181 00186 // attr=mm:2e1b84d7-f964-11df-95ab-e492b5386a89 00187 Array<LoadIntensity> DBCEdges; 00188 00192 // attr=mm:2e1b84d9-f964-11df-95ab-e492b5386a89 00193 Array<LoadIntensity> DBCFaces; 00194 00199 // attr=mm:2e1b84d6-f964-11df-95ab-e492b5386a89 00200 Array<LoadIntensity> DBCKeypoints; 00201 00206 // attr=mm:2e1b84d8-f964-11df-95ab-e492b5386a89 00207 Array<LoadIntensity> DBCLines; 00208 00212 // attr=mm:2e1b84da-f964-11df-95ab-e492b5386a89 00213 Array<LoadIntensity> DBCSurfaces; 00214 00215 00216 private: 00217 00218 //#UBLK-BEG-CLASSMEMB mm:2e1b8135-f964-11df-95ab-e492b5386a89 00219 //#UBLK-END-CLASSMEMB 00220 }; 00221 00222 //#UBLK-BEG-GLOBALH 00223 //#UBLK-END-GLOBALH 00224 00225 00226 #endif // _DIRICHLETBC_H_