MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
MeshEntry.h
Go to the documentation of this file.
1 /**********************************************************************
2 ** This program is part of 'MOOSE', the
3 ** Messaging Object Oriented Simulation Environment.
4 ** Copyright (C) 2003-2010 Upinder S. Bhalla. and NCBS
5 ** It is made available under the terms of the
6 ** GNU Lesser General Public License version 2.1
7 ** See the file COPYING.LIB for the full notice.
8 **********************************************************************/
9 
10 #ifndef _MESH_ENTRY_H
11 #define _MESH_ENTRY_H
12 
17 enum MeshType {
18  BAD,
23 };
24 
25 class ChemCompt;
26 
33 class MeshEntry
34 {
35  public:
36  MeshEntry();
37  MeshEntry( const ChemCompt* parent );
39  // Field assignment stuff
41 
42  // volume of this MeshEntry
43  double getVolume( const Eref& e ) const;
44 
48  unsigned int getDimensions( const Eref& e ) const;
49 
63  unsigned int getMeshType( const Eref& e ) const;
64 
70  vector< double > getCoordinates( const Eref& e )
71  const;
75  vector< unsigned int > getNeighbors( const Eref& e )
76  const;
77 
81  vector< double > getDiffusionArea( const Eref& e ) const;
85  vector< double > getDiffusionScaling( const Eref& e) const;
86 
87  /*
90  vector< double > coordinates() const;
91 
94  vector< unsigned int > connected() const;
95 
97  vector< double > diffusionArea() const;
98 
100  vector< double > diffusionScaling() const;
101  */
102 
104  // Dest funcs
106 
107  void extent( DataId di, double volume, double area, double perimeter );
108 
109  void process( const Eref& e, ProcPtr info );
110  void reinit( const Eref& e, ProcPtr info );
112  // Utility func
114  void triggerRemesh( const Eref& e,
115  double oldvol,
116  unsigned int startEntry,
117  const vector< unsigned int >& localIndices,
118  const vector< double >& vols );
119 
121  // Lookup funcs for Boundary
123 
124  static const Cinfo* initCinfo();
125  private:
126  double volume_;
128 };
129 
130 #endif // _MESH_ENTRY_H
MeshType
Definition: MeshEntry.h:17
const ChemCompt * parent_
Volume or area.
Definition: MeshEntry.h:127
double volume_
Definition: MeshEntry.h:126
void extent(DataId di, double volume, double area, double perimeter)
void reinit(const Eref &e, ProcPtr info)
Definition: MeshEntry.cpp:213
Definition: MeshEntry.h:22
double getVolume(const Eref &e) const
Definition: MeshEntry.cpp:226
vector< unsigned int > getNeighbors(const Eref &e) const
Definition: MeshEntry.cpp:247
Definition: MeshEntry.h:20
Definition: MeshEntry.h:22
Definition: Eref.h:26
unsigned int getDimensions(const Eref &e) const
Definition: MeshEntry.cpp:232
void triggerRemesh(const Eref &e, double oldvol, unsigned int startEntry, const vector< unsigned int > &localIndices, const vector< double > &vols)
Definition: MeshEntry.cpp:267
void process(const Eref &e, ProcPtr info)
Definition: MeshEntry.cpp:204
vector< double > getCoordinates(const Eref &e) const
Definition: MeshEntry.cpp:242
vector< double > getDiffusionArea(const Eref &e) const
Definition: MeshEntry.cpp:253
vector< double > getDiffusionScaling(const Eref &e) const
Definition: MeshEntry.cpp:259
static const Cinfo * initCinfo()
Definition: MeshEntry.cpp:47
unsigned int getMeshType(const Eref &e) const
Definition: MeshEntry.cpp:237
Definition: MeshEntry.h:18
unsigned int DataId
Definition: header.h:47
Definition: Cinfo.h:18