Memosa-FVM  0.2
ThermalModel.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 _THERMALMODEL_H_
6 #define _THERMALMODEL_H_
7 
8 #include "Model.h"
9 
10 #include "GeomFields.h"
11 #include "ThermalFields.h"
12 
13 #include "Mesh.h"
14 
15 
16 #include "ThermalBC.h"
17 
18 template<class T>
19 class ThermalModel : public Model
20 {
21 public:
22 
23  typedef std::map<int,ThermalBC<T>*> ThermalBCMap;
24  typedef std::map<int,ThermalVC<T>*> ThermalVCMap;
25  class Impl;
26 
27 
28  ThermalModel(const GeomFields& geomFields,
29  ThermalFields& thermalFields, const MeshList& meshes);
30 
31  virtual ~ThermalModel();
32 
33  virtual void init();
34 
37 
38  ThermalBC<T>& getBC(const int id);
39 
41 
42  void computeIBFaceTemperature(const StorageSite& particles);
43 
44  T getHeatFluxIntegral(const Mesh& mesh, const int faceGroupId);
45 
46  void printBCs();
47 #if !(defined(USING_ATYPE_TANGENT) || defined(USING_ATYPE_PC))
48  void dumpMatrix(const string fileBase);
49 #endif
50  void advance(const int niter);
51 
52  void updateTime();
53 private:
54  shared_ptr<Impl> _impl;
55 };
56 
57 #endif
58 
void advance(const int niter)
T getHeatFluxIntegral(const Mesh &mesh, const int faceGroupId)
ThermalBCMap & getBCMap()
ThermalModelOptions< T > & getOptions()
ThermalModel(const GeomFields &geomFields, ThermalFields &thermalFields, const MeshList &meshes)
shared_ptr< Impl > _impl
Definition: ThermalModel.h:54
Definition: Mesh.h:49
ThermalVCMap & getVCMap()
std::map< int, ThermalBC< T > * > ThermalBCMap
Definition: ThermalModel.h:23
void dumpMatrix(const string fileBase)
std::map< int, ThermalVC< T > * > ThermalVCMap
Definition: ThermalModel.h:24
Definition: Model.h:13
virtual void init()
void computeIBFaceTemperature(const StorageSite &particles)
ThermalBC< T > & getBC(const int id)
virtual ~ThermalModel()
vector< Mesh * > MeshList
Definition: Mesh.h:439