1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "ATC_Transfer.h"
#include "WeakEquationDiffusion.h"
#include "Material.h"
#include <iostream>
#include <fstream>
namespace ATC {
//==============================================================
// Class WeakEquationDiffusion
//==============================================================
//--------------------------------------------------------------
// Constructor
//--------------------------------------------------------------
WeakEquationDiffusion::WeakEquationDiffusion()
: WeakEquation(DYNAMIC_PDE,SPECIES_CONCENTRATION,1)
{}
//--------------------------------------------------------------
// Destructor
//--------------------------------------------------------------
WeakEquationDiffusion::~WeakEquationDiffusion(void)
{}
//---------------------------------------------------------------------
// compute capacity
//---------------------------------------------------------------------
void WeakEquationDiffusion::M_integrand(
const FIELD_MATS &fields,
const Material * material,
DENS_MAT & capacity ) const
{
FIELD_MATS::const_iterator rhoField = fields.find(SPECIES_CONCENTRATION);
const DENS_MAT & rho = rhoField->second;
capacity.reset(rho.nRows(),rho.nCols());
capacity = 1.;
}
//--------------------------------------------------------------
// compute flux
//--------------------------------------------------------------
void WeakEquationDiffusion::B_integrand(
const FIELD_MATS &fields,
const GRAD_FIELD_MATS &grad_fields,
const Material * material,
DENS_MAT_VEC &flux) const
{
// material->diffusion_flux(fields, grad_fields, flux[SPECIES_CONCENTRATION]);
}
}; // end namespace