DomainContinuumInterface Class Reference

#include <domain_continuum_interface.h>

Inheritance diagram for DomainContinuumInterface:

Inheritance graph
[legend]
Collaboration diagram for DomainContinuumInterface:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DomainContinuumInterface (MaterialContinuumInterface &m, MechaContinuumInterface &mod, int domaineID, int groupID)
GeometrieGeom ()
 return the geometric definition of the domain
MaterialContinuumInterfacegetMaterial ()
 return the material object
MechaContinuumInterfacegetModel ()
 return the model object
virtual ~DomainContinuumInterface ()

Static Public Member Functions

static DomainContinuumInterfacebuild (char *config, unsigned int Dim, Communicator &group, int ID, int GID)
 static function that allocate and construct a fully valid continuous domain

Protected Attributes

Geometriegeom
 geometric object
MaterialContinuumInterfacematerial
 material object
MechaContinuumInterfacemodel
 model object
int multi_time_step
 step frequency for multi time step scheme

Detailed Description

Class DomainContinuumInterface Class interface to FE/Meshless domains

Definition at line 56 of file domain_continuum_interface.h.


Constructor & Destructor Documentation

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]

Definition at line 68 of file domain_continuum_interface.h.

References material, and model.

00068                                      {
00069     delete &material;
00070     delete &model;
00071   }


Member Function Documentation

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;};


Member Data Documentation

Geometrie& DomainContinuumInterface::geom [protected]

geometric object

Definition at line 93 of file domain_continuum_interface.h.

Referenced by Geom().

MaterialContinuumInterface& DomainContinuumInterface::material [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.


The documentation for this class was generated from the following files:
Generated on Fri Sep 7 13:13:11 2007 for LibMultiScale by  doxygen 1.5.2