hp2FEM  0.1
include/boundaryconditions/DirichletBC.h
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_
 All Classes Files Functions Variables Typedefs Friends Defines