Memosa-FVM  0.2
PlateModel.h
Go to the documentation of this file.
1 // This file os part of FVM
2 // Copyright (c) 2012 FVM Authors
3 // See LICENSE file for terms.
4 
5 #ifndef _PLATEMODEL_H_
6 #define _PLATEMODEL_H_
7 
8 #include "Model.h"
9 
10 #include "GeomFields.h"
11 #include "PlateFields.h"
12 
13 #include "Mesh.h"
14 #include "LinearSolver.h"
15 
16 #include "PlateBC.h"
17 
18 template<class T>
19 class PlateModel : public Model
20 {
21 public:
22 
23  typedef std::map<int,PlateBC<T>*> PlateBCMap;
24  typedef std::map<int,PlateVC<T>*> PlateVCMap;
25 
26  class Impl;
27 
28 
29  PlateModel(const GeomFields& geomFields,
30  PlateFields& plateFields, const MeshList& meshes);
31 
32  virtual ~PlateModel();
33 
34  virtual void init();
35 
36  virtual map<string,shared_ptr<ArrayBase> >&
38 
39  virtual void restart();
40 
43 
45 
46  void printBCs();
47 
48  // do the specified number of iterations, return true if converged
49  bool advance(const int niter);
50 
51  void updateTime();
52  void getMoment(const Mesh& mesh);
53 
54  void dumpMatrix(const string fileBase);
55 private:
56  shared_ptr<Impl> _impl;
57 };
58 
59 #endif
60 
PlateModel(const GeomFields &geomFields, PlateFields &plateFields, const MeshList &meshes)
virtual ~PlateModel()
std::map< int, PlateBC< T > * > PlateBCMap
Definition: PlateModel.h:23
Definition: Mesh.h:49
virtual map< string, shared_ptr< ArrayBase > > & getPersistenceData()
std::map< int, PlateVC< T > * > PlateVCMap
Definition: PlateModel.h:24
PlateVCMap & getVCMap()
PlateModelOptions< T > & getOptions()
Definition: Model.h:13
shared_ptr< Impl > _impl
Definition: PlateModel.h:56
virtual void init()
virtual void restart()
void getMoment(const Mesh &mesh)
PlateBCMap & getBCMap()
void dumpMatrix(const string fileBase)
bool advance(const int niter)
vector< Mesh * > MeshList
Definition: Mesh.h:439