Memosa-FVM  0.2
BatteryPCDiffusionDiscretization.h File Reference
#include "CRMatrix.h"
#include "Field.h"
#include "MultiField.h"
#include "MultiFieldMatrix.h"
#include "Mesh.h"
#include "Discretization.h"
#include "StorageSite.h"
#include "DiagonalMatrix.h"
#include "Gradient.h"
#include "DiagonalTensor.h"
Include dependency graph for BatteryPCDiffusionDiscretization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BatteryPCDiffusionDiscretization< X, Diag, OffDiag >
 

Functions

template<class T >
harmonicAverageVector (const T &x0, const T &x1)
 

Function Documentation

template<class T >
T harmonicAverageVector ( const T &  x0,
const T &  x1 
)
inline

Definition at line 20 of file BatteryPCDiffusionDiscretization.h.

Referenced by BatteryPCDiffusionDiscretization< X, Diag, OffDiag >::discretize().

21 {
22  const T sum = x0+x1;
23  T harmAvg = sum;
24  int vectorLength = 0;
25  NumTypeTraits<T>::getShape(&vectorLength);
26  for (int v=0; v<vectorLength; v++)
27  {
28  if (sum[v] != 0.0)
29  harmAvg[v] = 2.0*x0[v]*x1[v]/sum[v];
30  }
31  return harmAvg;
32 }