hp2FEM  0.1
include/model/DOFs.h
00001 #ifndef _DOFS_H_
00002 #define _DOFS_H_
00003 // ---------------------------------------------
00004 // company   : 
00005 // user      : 
00006 // date      : 22 Mar 2015 17:25
00007 // file      : DOFs.h
00008 // markers   : Full
00009 // language  : C++
00010 // generator : Metamill 6.0
00011 // ---------------------------------------------
00012 
00013 //#UBLK-BEG-HEADERH
00014 //#UBLK-END-HEADERH
00015 
00016 /*=================================================================================================
00017 =                                                                                                 =
00018 =       Copyright 2010-2015  Marco Lucio Bittencourt / Fabiano Fernandes Bargos                       =
00019 =                        Gilberto Luis Valente / Jorge Luis Suzuki / Allan Patrick Cordeiro Dias  =
00020 =                                                                                                 =
00021 =       Licensed under the Apache License, Version 2.0 (the "License");                               =
00022 =       you may not use this file except in compliance with the License.                              =
00023 =       You may obtain a copy of the License at                                                       =
00024 =                                                                                                 =
00025 =               http://www.apache.org/licenses/LICENSE-2.0                                                =
00026 =                                                                                                 =
00027 =       Unless required by applicable law or agreed to in writing, software                           =
00028 =       distributed under the License is distributed on an "AS IS" BASIS,                             =
00029 =       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                      =
00030 =       See the License for the specific language governing permissions and                           =
00031 =       limitations under the License.                                                                =
00032 =                                                                                                 =
00033 =================================================================================================*/
00034 
00035 
00036 #include <cstdio>
00037 #include "model/Solver_defs.h"
00038 
00039 
00047 class DOFs
00048 {
00049 //#UBLK-BEG-CLASSDEF mm:4527a730-f997-11df-9ddc-963be5e4332b
00050 //#UBLK-END-CLASSDEF
00051 
00052  public:
00053 
00054    // METHOD=mm:3c36c2c2-f997-11df-9ddc-963be5e4332b
00055    DOFs();
00056 
00057    // METHOD=mm:71330aa9-0305-11e0-843e-b9717acb62a7
00058    DOFs(DOFs& Instance);
00059 
00060    // METHOD=mm:7133121f-0305-11e0-843e-b9717acb62a7
00061    ~DOFs();
00062 
00063    // METHOD=mm:3c36c2c5-f997-11df-9ddc-963be5e4332b
00064    unsigned long GetNumberPrimaryDOF();
00065 
00066    // METHOD=mm:09d15b20-014b-11e0-9503-bdd33c3b382f
00067    unsigned long GetNumberMixedDOF();
00068 
00069    // METHOD=mm:3c36c35f-f997-11df-9ddc-963be5e4332b
00070    unsigned long GetNumberSecondaryGradientDOF();
00071 
00072    // METHOD=mm:3c36c364-f997-11df-9ddc-963be5e4332b
00073    unsigned long GetNumberSecondaryStressDOF();
00074 
00075    // METHOD=mm:3c36c3f9-f997-11df-9ddc-963be5e4332b
00076    unsigned long GetNumberExtraGradientDOF();
00077 
00078    // METHOD=mm:3c36c3f4-f997-11df-9ddc-963be5e4332b
00079    unsigned long GetNumberExtraStressDOF();
00080 
00081    // METHOD=mm:3c36c493-f997-11df-9ddc-963be5e4332b
00082    unsigned long GetNumberExtraGeneralDOF();
00083 
00084    // METHOD=mm:3c36c35c-f997-11df-9ddc-963be5e4332b
00085    char* GetPrimaryDOFName(unsigned long Cardinality);
00086 
00087    // METHOD=mm:777d76a5-014b-11e0-9503-bdd33c3b382f
00088    char* GetMixedDOFName(unsigned long Cardinality);
00089 
00090    // METHOD=mm:3c36c361-f997-11df-9ddc-963be5e4332b
00091    char* GetSecondaryGradientDOFName(unsigned long Cardinality);
00092 
00093    // METHOD=mm:3c36c366-f997-11df-9ddc-963be5e4332b
00094    char* GetSecondaryStressDOFName(unsigned long Cardinality);
00095 
00096    // METHOD=mm:3c36c3fb-f997-11df-9ddc-963be5e4332b
00097    char* GetNameExtraGradientDOF(unsigned long Cardinality);
00098 
00099    // METHOD=mm:3c36c3f6-f997-11df-9ddc-963be5e4332b
00100    char* GetExtraStressDOFName(unsigned long Cardinality);
00101 
00102    // METHOD=mm:3c36c495-f997-11df-9ddc-963be5e4332b
00103    char* GetExtraGeneralDOFName(unsigned long Cardinality);
00104 
00105    // METHOD=mm:3c36c35d-f997-11df-9ddc-963be5e4332b
00106    unsigned long GetCardinalityPrimaryDOF(char* PrimaryDOFName);
00107 
00108    // METHOD=mm:a0058f30-014b-11e0-9503-bdd33c3b382f
00109    unsigned long GetCardinalityMixedDOF(char* MixedDOFName);
00110 
00111    // METHOD=mm:3c36c362-f997-11df-9ddc-963be5e4332b
00112    unsigned long GetCardinalitySecondaryGradientDOF(char* SecondaryGradientDOFName);
00113 
00114    // METHOD=mm:3c36c3f2-f997-11df-9ddc-963be5e4332b
00115    unsigned long GetCardinalitySecondaryStressDOF(char* SecondaryStressDOFName);
00116 
00117    // METHOD=mm:3c36c3fc-f997-11df-9ddc-963be5e4332b
00118    unsigned long GetCardinalityExtraGradientDOF(char* ExtraGradientDOFName);
00119 
00120    // METHOD=mm:3c36c3f7-f997-11df-9ddc-963be5e4332b
00121    unsigned long GetCardinalityExtraStressDOF(char* ExtraStressDOFName);
00122 
00123    // METHOD=mm:3c36c496-f997-11df-9ddc-963be5e4332b
00124    unsigned long GetCardinalityExtraGeneralDOF(char* ExtraGeneralDOFName);
00125 
00126    // METHOD=mm:3c36c2c4-f997-11df-9ddc-963be5e4332b
00127    void SeNumberPrimaryDOF(unsigned long NumberPrimaryDOF);
00128 
00129    // METHOD=mm:6c761437-014a-11e0-9503-bdd33c3b382f
00130    void SetNumberMixedDOF(unsigned long NumberMixedDOF);
00131 
00132    // METHOD=mm:3c36c35e-f997-11df-9ddc-963be5e4332b
00133    void SetNumberSecondaryGradientDOF(unsigned long NumberSecondaryGradientDOF);
00134 
00135    // METHOD=mm:3c36c363-f997-11df-9ddc-963be5e4332b
00136    void SetNumberSecondaryStressDOF(unsigned long NumberSecondaryStressDOF);
00137 
00138    // METHOD=mm:3c36c3f8-f997-11df-9ddc-963be5e4332b
00139    void SetNumberExtraGradientDOF(unsigned long NumberExtraGradientDOF);
00140 
00141    // METHOD=mm:3c36c3f3-f997-11df-9ddc-963be5e4332b
00142    void SetNumberExtraStressDOF(unsigned long NumberExtraStressDOF);
00143 
00144    // METHOD=mm:3c36c492-f997-11df-9ddc-963be5e4332b
00145    void SetNumberExtraGeneralDOF(unsigned long NumberExtraGeneralDOF);
00146 
00147    // METHOD=mm:3c36c2c6-f997-11df-9ddc-963be5e4332b
00148    void SetPrimaryDOFName(unsigned long Cardinality, char* PrimaryDOFName);
00149 
00150    // METHOD=mm:d5857d3b-6ab6-11e0-97a7-e035795630c1
00151    void SetMixedDOFName(unsigned long Cardinality, char* MixedDOFName);
00152 
00153    // METHOD=mm:3c36c360-f997-11df-9ddc-963be5e4332b
00154    void SetSecondaryGradientDOFName(unsigned long Cardinality, char* SecondaryGradientDOFName);
00155 
00156    // METHOD=mm:3c36c365-f997-11df-9ddc-963be5e4332b
00157    void SetSecondaryStressDOFName(unsigned long Cardinality, char* SecondaryStressDOFName);
00158 
00159    // METHOD=mm:3c36c3fa-f997-11df-9ddc-963be5e4332b
00160    void SetExtraGradientDOFName(unsigned long Cardinality, char* ExtraGradientDOFName);
00161 
00162    // METHOD=mm:3c36c3f5-f997-11df-9ddc-963be5e4332b
00163    void SetExtraStressDOFName(unsigned long Cardinality, char* ExtraStressDOFName);
00164 
00165    // METHOD=mm:3c36c494-f997-11df-9ddc-963be5e4332b
00166    void SetExtraGeneralDOFName(unsigned long Cardinality, char* ExtraGeneralDOFName);
00167 
00168    // METHOD=mm:3c36c497-f997-11df-9ddc-963be5e4332b
00169    void Save(FILE* File);
00170 
00171    // METHOD=mm:3c36c499-f997-11df-9ddc-963be5e4332b
00172    void Restore(FILE* File);
00173 
00174    // METHOD=mm:3c36c49b-f997-11df-9ddc-963be5e4332b
00175    void Read(FILE* DEFFile);
00176 
00177    // METHOD=mm:3c36c49c-f997-11df-9ddc-963be5e4332b
00178    void Print(FILE* File, char* Message = "");
00179 
00180    // METHOD=mm:3c36c532-f997-11df-9ddc-963be5e4332b
00181    void Free();
00182 
00183 
00184  protected:
00185 
00189    // attr=mm:e671d319-69fc-11e0-8a9a-d3a7a5a7b404
00190    unsigned long NumPrimFields;
00191 
00195    // attr=mm:001307d9-69fd-11e0-8a9a-d3a7a5a7b404
00196    unsigned long NumMixFields;
00197 
00201    // attr=mm:1620b85f-69fd-11e0-8a9a-d3a7a5a7b404
00202    unsigned long NumSecGradFields;
00203 
00207    // attr=mm:2afd4f95-69fd-11e0-8a9a-d3a7a5a7b404
00208    unsigned long NumSecStressFields;
00209 
00213    // attr=mm:3a7ca8e9-69fd-11e0-8a9a-d3a7a5a7b404
00214    unsigned long NumExGradFields;
00215 
00219    // attr=mm:4b2d2cf9-69fd-11e0-8a9a-d3a7a5a7b404
00220    unsigned long NumExStressFields;
00221 
00225    // attr=mm:5aac66a9-69fd-11e0-8a9a-d3a7a5a7b404
00226    unsigned long NumExGenFields;
00227 
00235    // attr=mm:3c36c230-f997-11df-9ddc-963be5e4332b
00236    char PrimFields[MAX_NUMBER_DIRS_DOFS][MAX_NAME_DIRS_DOFS];
00237 
00243    // attr=mm:3c36c2bc-f997-11df-9ddc-963be5e4332b
00244    char MixFields[MAX_NUMBER_DIRS_DOFS][MAX_NAME_DIRS_DOFS];
00245 
00251    // attr=mm:3c36c2bd-f997-11df-9ddc-963be5e4332b
00252    char SecGradFields[MAX_NUMBER_DIRS_DOFS][MAX_NAME_DIRS_DOFS];
00253 
00259    // attr=mm:3c36c2be-f997-11df-9ddc-963be5e4332b
00260    char SecStressFields[MAX_NUMBER_DIRS_DOFS][MAX_NAME_DIRS_DOFS];
00261 
00267    // attr=mm:3c36c2bf-f997-11df-9ddc-963be5e4332b
00268    char ExGradFields[MAX_NUMBER_DIRS_DOFS][MAX_NAME_DIRS_DOFS];
00269 
00275    // attr=mm:3c36c2c0-f997-11df-9ddc-963be5e4332b
00276    char ExStressFields[MAX_NUMBER_DIRS_DOFS][MAX_NAME_DIRS_DOFS];
00277 
00283    // attr=mm:3c36c2c1-f997-11df-9ddc-963be5e4332b
00284    char ExGenFields[MAX_NUMBER_DIRS_DOFS][MAX_NAME_DIRS_DOFS];
00285 
00286 
00287  private:
00288 
00289 //#UBLK-BEG-CLASSMEMB mm:4527a730-f997-11df-9ddc-963be5e4332b
00290 //#UBLK-END-CLASSMEMB
00291 };
00292 
00293 //#UBLK-BEG-GLOBALH
00294 //#UBLK-END-GLOBALH
00295 
00296 
00297 #endif // _DOFS_H_
 All Classes Files Functions Variables Typedefs Friends Defines