Memosa-FVM  0.2
BatteryPCHeatSourceDiscretization< X > Class Template Reference

#include <BatteryPCHeatSourceDiscretization.h>

Inheritance diagram for BatteryPCHeatSourceDiscretization< X >:
Collaboration diagram for BatteryPCHeatSourceDiscretization< X >:

Public Types

typedef NumTypeTraits< X >
::T_Scalar 
T_Scalar
 
typedef Array< X > XArray
 
typedef Array< T_ScalarTArray
 

Public Member Functions

 BatteryPCHeatSourceDiscretization (const MeshList &meshes, const GeomFields &geomFields, const Field &varField, const Field &sourceField)
 
void discretize (const Mesh &mesh, MultiFieldMatrix &mfmatrix, MultiField &, MultiField &rField)
 
- Public Member Functions inherited from Discretization
 Discretization (const MeshList &meshes)
 
virtual ~Discretization ()
 
 DEFINE_TYPENAME ("Discretization")
 

Private Attributes

const GeomFields_geomFields
 
const Field_varField
 
const Field_sourceField
 

Additional Inherited Members

- Protected Attributes inherited from Discretization
const MeshList_meshes
 

Detailed Description

template<class X>
class BatteryPCHeatSourceDiscretization< X >

Definition at line 18 of file BatteryPCHeatSourceDiscretization.h.

Member Typedef Documentation

template<class X >
typedef NumTypeTraits<X>::T_Scalar BatteryPCHeatSourceDiscretization< X >::T_Scalar

Definition at line 22 of file BatteryPCHeatSourceDiscretization.h.

template<class X >
typedef Array<T_Scalar> BatteryPCHeatSourceDiscretization< X >::TArray

Definition at line 26 of file BatteryPCHeatSourceDiscretization.h.

template<class X >
typedef Array<X> BatteryPCHeatSourceDiscretization< X >::XArray

Definition at line 24 of file BatteryPCHeatSourceDiscretization.h.

Constructor & Destructor Documentation

template<class X >
BatteryPCHeatSourceDiscretization< X >::BatteryPCHeatSourceDiscretization ( const MeshList meshes,
const GeomFields geomFields,
const Field varField,
const Field sourceField 
)
inline

Definition at line 28 of file BatteryPCHeatSourceDiscretization.h.

31  :
32  Discretization(meshes),
33  _geomFields(geomFields),
34  _varField(varField),
35  _sourceField(sourceField)
36  {}
Discretization(const MeshList &meshes)

Member Function Documentation

template<class X >
void BatteryPCHeatSourceDiscretization< X >::discretize ( const Mesh mesh,
MultiFieldMatrix mfmatrix,
MultiField ,
MultiField rField 
)
inlinevirtual

Implements Discretization.

Definition at line 39 of file BatteryPCHeatSourceDiscretization.h.

References BatteryPCHeatSourceDiscretization< X >::_geomFields, BatteryPCHeatSourceDiscretization< X >::_sourceField, BatteryPCHeatSourceDiscretization< X >::_varField, Mesh::getCells(), StorageSite::getSelfCount(), and GeomFields::volume.

41  {
42  const StorageSite& cells = mesh.getCells();
43 
44  const TArray& cellVolume = dynamic_cast<const TArray&>(_geomFields.volume[cells]);
45 
46  const TArray& source = dynamic_cast<const TArray&>(_sourceField[cells]);
47 
48  const MultiField::ArrayIndex cVarIndex(&_varField, &cells);
49 
50  XArray& rCell = dynamic_cast<XArray&>(rField[cVarIndex]);
51 
52  const int nCells = cells.getSelfCount();
53 
54  for(int c=0; c<nCells; c++)
55  {
56  (rCell[c])[2] += cellVolume[c]*source[c];
57  }
58  }
int getSelfCount() const
Definition: StorageSite.h:40
pair< const Field *, const StorageSite * > ArrayIndex
Definition: MultiField.h:21
const StorageSite & getCells() const
Definition: Mesh.h:109
Field volume
Definition: GeomFields.h:26

Member Data Documentation

template<class X >
const GeomFields& BatteryPCHeatSourceDiscretization< X >::_geomFields
private
template<class X >
const Field& BatteryPCHeatSourceDiscretization< X >::_sourceField
private
template<class X >
const Field& BatteryPCHeatSourceDiscretization< X >::_varField
private

The documentation for this class was generated from the following file: