Memosa-FVM  0.2
VacancyModel.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 _VACANCYMODEL_H_
6 #define _VACANCYMODEL_H_
7 
8 #include "Model.h"
9 
10 #include "GeomFields.h"
11 #include "VacancyFields.h"
12 
13 #include "Mesh.h"
14 
15 
16 #include "VacancyBC.h"
17 
18 template<class T>
19 class VacancyModel : public Model
20 {
21 public:
22 
23  typedef std::map<int,VacancyBC<T>*> VacancyBCMap;
24  typedef std::map<int,VacancyVC<T>*> VacancyVCMap;
25  class Impl;
26 
27 
28  VacancyModel(const GeomFields& geomFields,
29  VacancyFields& vacancyFields, const MeshList& meshes);
30 
31  virtual ~VacancyModel();
32 
33  virtual void init();
34 
35  virtual void computePlasticStrainRate();
36 
39 
40  VacancyBC<T>& getBC(const int id);
41 
43 
44  void computeIBFaceConcentration(const StorageSite& particles);
45 
46  T getVacaFluxIntegral(const Mesh& mesh, const int faceGroupId);
47 
48  void printBCs();
49 #if !(defined(USING_ATYPE_TANGENT) || defined(USING_ATYPE_PC))
50  void dumpMatrix(const string fileBase);
51 #endif
52  void advance(const int niter);
53 
54  void updateTime();
55 private:
56  shared_ptr<Impl> _impl;
57 };
58 
59 #endif
60 
void computeIBFaceConcentration(const StorageSite &particles)
virtual void computePlasticStrainRate()
void dumpMatrix(const string fileBase)
T getVacaFluxIntegral(const Mesh &mesh, const int faceGroupId)
Definition: Mesh.h:49
VacancyBC< T > & getBC(const int id)
virtual void init()
VacancyModel(const GeomFields &geomFields, VacancyFields &vacancyFields, const MeshList &meshes)
void advance(const int niter)
Definition: Model.h:13
std::map< int, VacancyVC< T > * > VacancyVCMap
Definition: VacancyModel.h:24
VacancyBCMap & getBCMap()
virtual ~VacancyModel()
std::map< int, VacancyBC< T > * > VacancyBCMap
Definition: VacancyModel.h:23
shared_ptr< Impl > _impl
Definition: VacancyModel.h:56
VacancyVCMap & getVCMap()
VacancyModelOptions< T > & getOptions()
vector< Mesh * > MeshList
Definition: Mesh.h:439