5 #ifndef _BATTERYPC_BCS_H_
6 #define _BATTERYPC_BCS_H_
21 template<
class X,
class Diag,
class OffDiag>
74 _is2D(mesh.getDimension()==2)
91 const T_Scalar dRC0dXC1 = dRC0dXC1_orig[v];
98 const T_Scalar dFlux = dFluxdXC1*dXC1;
106 (
_x[c1])[v] = bValue;
115 (
_flux[f])[v] = fluxB;
129 const T_Scalar& specifiedFlux,
const int v)
const
const StorageSite & _cells
const MultiField::ArrayIndex _fluxIndex
NumTypeTraits< X >::T_Scalar T_Scalar
Array< OffDiag > OffDiagArray
void applySingleEquationNeumannBC(const T_Scalar &bFlux, const int v) const
void applySingleEquationDirichletBC(const FloatValEvaluator< T_Scalar > &bValue, const int v) const
const MultiField::ArrayIndex _xIndex
void setCoeffR(const int f, const OffDiag &c)
OffDiag & getCoeff10(const int np)
const Field & _areaMagField
const VectorT3Array & _faceArea
Array< VectorT3 > VectorT3Array
void setCoeffL(const int f, const OffDiag &c)
pair< const Field *, const StorageSite * > ArrayIndex
BatteryPC_BCS(const StorageSite &faces, const Mesh &mesh, const GeomFields &geomFields, Field &varField, Field &fluxField, MultiFieldMatrix &matrix, MultiField &xField, MultiField &rField)
void applySingleEquationNeumannBC(const int f, const T_Scalar &specifiedFlux, const int v) const
OffDiag & getCoeff01(const int np)
void setBoundary(const int nr)
void applySingleEquationDirichletBC(int f, const T_Scalar &bValue, const int v) const
FluxJacobianMatrix< Diag, X > FMatrix
DiagonalMatrix< Diag, X > BBMatrix
const TArray & _faceAreaMag
CRMatrix< Diag, OffDiag, X > CCMatrix
const StorageSite & _faces
const CRConnectivity & _faceCells
CCMatrix::PairWiseAssembler CCAssembler
Vector< T_Scalar, 3 > VectorT3