ASL  0.1.7
Advanced Simulation Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
asl::FDStefanMaxwell Class Reference

Numerical method which computes multicomponent transport processes. More...

#include <aslFDStefanMaxwell.h>

Inheritance diagram for asl::FDStefanMaxwell:
Inheritance graph
[legend]
Collaboration diagram for asl::FDStefanMaxwell:
Collaboration graph
[legend]

Public Types

typedef SPDataWithGhostNodesACLData Data
 
typedef
SPAbstractDataWithGhostNodes 
Field
 
typedef acl::VectorOfElements Param
 

Public Member Functions

 FDStefanMaxwell ()
 
 FDStefanMaxwell (Data c1, Data c2, const acl::VectorOfElements &dC, const VectorTemplate *vT)
 
void setDiffusionCoefficient (acl::VectorOfElements d, unsigned int i=0, unsigned int j=1)
 
const ParamgetDiffusionCoefficient (unsigned int i=0, unsigned int j=1) const
 
const ParamgetDustDiffusionCoefficient (unsigned int i=0) const
 
void setDustDiffusionCoefficient (unsigned int i, const Param &dd)
 
void setVectorTemplate (VectorTemplate *vT)
 
const VectorTemplategetVectorTemplate () const
 
void setElectricField (Field phi)
 
Field getElectricField () const
 
const ParamgetCharge (unsigned int i) const
 
void setCharge (unsigned int i, const Param &q)
 
void setVelocity (Field v)
 
Field getVelocity ()
 
std::vector< Data > & getData ()
 
void addComponent (Data c, const Param &dC)
 
void addComponent (Data c, const Param &dC, const Param &q)
 
- Public Member Functions inherited from asl::SingleKernelNM
virtual void execute ()
 Executes the numerical procedure. More...
 
virtual void init ()
 Builds the necesery internal data and kernels. More...
 
virtual ~SingleKernelNM ()
 
- Public Member Functions inherited from asl::NumMethod
virtual ~NumMethod ()
 

Additional Inherited Members

- Protected Member Functions inherited from asl::SingleKernelNM
virtual void preProcessing ()
 the function executed before kernel->compute() More...
 
 SingleKernelNM (const acl::KernelConfiguration &kernelCongig)
 
- Protected Attributes inherited from asl::SingleKernelNM
acl::SPKernel kernel
 

Detailed Description

Numerical method which computes multicomponent transport processes.

\[ \partial_t c_i= - \vec \nabla \cdot \vec J - \vec \nabla \cdot (\vec v c_i) \]

\[ -\nabla c_i = \sum_{j, i\neq j} \frac{c_j\vec J_i-c_i\vec J_j}{c_tD_{ij}} + \frac{\vec J_i}{D_{i,D}}\]

where \(c_i\) is a molar concentration, \( v \) is the flow velocity, \(J_i\) is the molar flux, \(D_{i,D}\) is the component-dust diffusion coefficient, \(D_{ij}\) is the pair diffusion coefficient.

The second equation can be rewritten in the matrix form:

\[ -\vec \nabla c_i = \sum_k A_{ik} \vec J_k,\;\;\; A_{ik} \equiv \delta_{ik} \left(\frac{1}{D_{i,D}} + \Lambda_i + \frac{c_i}{c_tD_{ik}} \right) - \frac{c_i}{c_tD_{ik}},\;\;\; \Lambda_i \equiv \sum_{j, j\neq i} \frac{c_j}{c_tD_{ij}}\]

class parameters are related to the quation ones as follows

Parameters
cDatacorresponds to \(c_i\)
diffusionCoefficientscorresponds to \(D_{ij}\)
velocitycorresponds to \(\vec v\)

Definition at line 68 of file aslFDStefanMaxwell.h.

Member Typedef Documentation

Definition at line 71 of file aslFDStefanMaxwell.h.

Definition at line 72 of file aslFDStefanMaxwell.h.

Definition at line 73 of file aslFDStefanMaxwell.h.

Constructor & Destructor Documentation

asl::FDStefanMaxwell::FDStefanMaxwell ( )
asl::FDStefanMaxwell::FDStefanMaxwell ( Data  c1,
Data  c2,
const acl::VectorOfElements dC,
const VectorTemplate vT 
)

Member Function Documentation

void asl::FDStefanMaxwell::addComponent ( Data  c,
const Param dC 
)
void asl::FDStefanMaxwell::addComponent ( Data  c,
const Param dC,
const Param q 
)
const acl::VectorOfElements & asl::FDStefanMaxwell::getCharge ( unsigned int  i) const
inline

Definition at line 213 of file aslFDStefanMaxwell.h.

std::vector< FDStefanMaxwell::Data > & asl::FDStefanMaxwell::getData ( )
inline

Definition at line 190 of file aslFDStefanMaxwell.h.

const acl::VectorOfElements & asl::FDStefanMaxwell::getDiffusionCoefficient ( unsigned int  i = 0,
unsigned int  j = 1 
) const
inline

Definition at line 201 of file aslFDStefanMaxwell.h.

const acl::VectorOfElements & asl::FDStefanMaxwell::getDustDiffusionCoefficient ( unsigned int  i = 0) const
inline

Definition at line 207 of file aslFDStefanMaxwell.h.

Field asl::FDStefanMaxwell::getElectricField ( ) const
const VectorTemplate * asl::FDStefanMaxwell::getVectorTemplate ( ) const
inline

Definition at line 195 of file aslFDStefanMaxwell.h.

FDStefanMaxwell::Field asl::FDStefanMaxwell::getVelocity ( )
inline

Definition at line 185 of file aslFDStefanMaxwell.h.

void asl::FDStefanMaxwell::setCharge ( unsigned int  i,
const Param q 
)
void asl::FDStefanMaxwell::setDiffusionCoefficient ( acl::VectorOfElements  d,
unsigned int  i = 0,
unsigned int  j = 1 
)
void asl::FDStefanMaxwell::setDustDiffusionCoefficient ( unsigned int  i,
const Param dd 
)
void asl::FDStefanMaxwell::setElectricField ( Field  phi)
void asl::FDStefanMaxwell::setVectorTemplate ( VectorTemplate vT)
void asl::FDStefanMaxwell::setVelocity ( Field  v)

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