#include <domain_continuum_interface.h>
Inheritance diagram for DomainContinuumInterface:


Public Member Functions | |
| DomainContinuumInterface (MaterialContinuumInterface &m, MechaContinuumInterface &mod, int domaineID, int groupID) | |
| Geometrie & | Geom () |
| return the geometric definition of the domain | |
| MaterialContinuumInterface & | getMaterial () |
| return the material object | |
| MechaContinuumInterface & | getModel () |
| return the model object | |
| virtual | ~DomainContinuumInterface () |
Static Public Member Functions | |
| static DomainContinuumInterface * | build (char *config, unsigned int Dim, Communicator &group, int ID, int GID) |
| static function that allocate and construct a fully valid continuous domain | |
Protected Attributes | |
| Geometrie & | geom |
| geometric object | |
| MaterialContinuumInterface & | material |
| material object | |
| MechaContinuumInterface & | model |
| model object | |
| int | multi_time_step |
| step frequency for multi time step scheme | |
Definition at line 56 of file domain_continuum_interface.h.
| DomainContinuumInterface::DomainContinuumInterface | ( | MaterialContinuumInterface & | m, | |
| MechaContinuumInterface & | mod, | |||
| int | domaineID, | |||
| int | groupID | |||
| ) | [inline] |
Definition at line 60 of file domain_continuum_interface.h.
References CONTINUTYPE, and DomainInterface::type.
00060 : 00061 DomainInterface(m.GetDomainName(),domaineID,groupID), 00062 material(m),geom(*GeometryManager::GetGeometry(m.getGeometrie())),model(mod), 00063 multi_time_step(1) 00064 { 00065 type = CONTINUTYPE; 00066 };
| virtual DomainContinuumInterface::~DomainContinuumInterface | ( | ) | [inline, virtual] |
| DomainContinuumInterface * DomainContinuumInterface::build | ( | char * | config, | |
| unsigned int | Dim, | |||
| Communicator & | group, | |||
| int | ID, | |||
| int | GID | |||
| ) | [static] |
static function that allocate and construct a fully valid continuous domain
Definition at line 58 of file domain_continuum_interface.cpp.
References Communicator::amIinGroup(), fargc, fargv, FATAL, Communicator::GetMpiGroup(), MaterialLibMesh< Dim >::LoadConfigFile(), and model.
Referenced by DomainMultiScale::ParseLine().
00058 { 00059 00060 /* si il le faut initialisation de la libmesh */ 00061 if (groups.amIinGroup(GID) && libMesh::initialized() == false) 00062 libMesh::init(fargc,fargv,groups.GetMpiGroup(GID)); 00063 00064 DomainContinuumInterface * ret; 00065 00066 switch (Dim){ 00067 case 1: 00068 { 00069 MaterialLibMesh<1> & mat(*(new MaterialLibMesh<1>())); 00070 mat.LoadConfigFile(config); 00071 00072 MechaContLibMesh<1> * model; 00073 // if (mat.ArlequinMode()) 00074 // model = new MechaContLibMeshArlequin(); 00075 // else 00076 model = new MechaContLibMesh<1>(); 00077 00078 DOFLibMesh * dof = NULL; 00079 00080 if (groups.amIinGroup(GID)) 00081 dof = model->Init(mat); 00082 00083 ret = new DomainLibMesh<1>(mat,*model,*dof,groups,ID,GID); 00084 } 00085 break; 00086 00087 case 2: 00088 { 00089 MaterialLibMesh<2> & mat(*(new MaterialLibMesh<2>())); 00090 mat.LoadConfigFile(config); 00091 00092 MechaContLibMesh<2> & model(*(new MechaContLibMesh<2>())); 00093 00094 DOFLibMesh * dof = NULL; 00095 00096 if (groups.amIinGroup(GID)) 00097 dof = model.Init(mat); 00098 00099 ret = new DomainLibMesh<2>(mat,model,*dof,groups,ID,GID); 00100 } 00101 break; 00102 00103 case 3: 00104 { 00105 MaterialLibMesh<3> & mat(*(new MaterialLibMesh<3>())); 00106 mat.LoadConfigFile(config); 00107 00108 MechaContLibMesh<3> & model(*(new MechaContLibMesh<3>())); 00109 00110 DOFLibMesh * dof = NULL; 00111 00112 if (groups.amIinGroup(GID)) 00113 dof = model.Init(mat); 00114 00115 ret = new DomainLibMesh<3>(mat,model,*dof,groups,ID,GID); 00116 } 00117 break; 00118 00119 00120 default: 00121 FATAL("Pas encore implemente de construction de domaine continu pour la dimension " << Dim); 00122 00123 } 00124 00125 return (ret); 00126 00127 }
Here is the call graph for this function:

| Geometrie& DomainContinuumInterface::Geom | ( | ) | [inline] |
return the geometric definition of the domain
Definition at line 82 of file domain_continuum_interface.h.
References geom.
00082 {return geom;};
| MaterialContinuumInterface& DomainContinuumInterface::getMaterial | ( | ) | [inline] |
return the material object
the material classes provide ways to load the domains by readind various config files
Definition at line 80 of file domain_continuum_interface.h.
References material.
Referenced by DomainMultiScale::ParseLine().
00080 {return material;};
| MechaContinuumInterface& DomainContinuumInterface::getModel | ( | ) | [inline] |
return the model object
The model should provide the interpolation method as well as boundary conditions ways
Definition at line 76 of file domain_continuum_interface.h.
References model.
00076 {return model;};
Geometrie& DomainContinuumInterface::geom [protected] |
material object
Definition at line 91 of file domain_continuum_interface.h.
Referenced by DomainLibMesh< Dim >::DomainLibMesh(), getMaterial(), and ~DomainContinuumInterface().
MechaContinuumInterface& DomainContinuumInterface::model [protected] |
model object
Definition at line 95 of file domain_continuum_interface.h.
Referenced by build(), DomainLibMesh< Dim >::getContenerElems(), DomainLibMesh< Dim >::getContenerNodes(), getModel(), DomainLibMesh< Dim >::SaveSituation(), and ~DomainContinuumInterface().
int DomainContinuumInterface::multi_time_step [protected] |
step frequency for multi time step scheme
Definition at line 98 of file domain_continuum_interface.h.
1.5.2