ASL  0.1.7
Advanced Simulation Library
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

◆ Data

Definition at line 71 of file aslFDStefanMaxwell.h.

◆ Field

Definition at line 72 of file aslFDStefanMaxwell.h.

◆ Param

Definition at line 73 of file aslFDStefanMaxwell.h.

Constructor & Destructor Documentation

◆ FDStefanMaxwell() [1/2]

asl::FDStefanMaxwell::FDStefanMaxwell ( )

◆ FDStefanMaxwell() [2/2]

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

Member Function Documentation

◆ addComponent() [1/2]

void asl::FDStefanMaxwell::addComponent ( Data  c,
const Param dC 
)

◆ addComponent() [2/2]

void asl::FDStefanMaxwell::addComponent ( Data  c,
const Param dC,
const Param q 
)

◆ getCharge()

const acl::VectorOfElements & asl::FDStefanMaxwell::getCharge ( unsigned int  i) const
inline

Definition at line 213 of file aslFDStefanMaxwell.h.

◆ getData()

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

Definition at line 190 of file aslFDStefanMaxwell.h.

◆ getDiffusionCoefficient()

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

Definition at line 201 of file aslFDStefanMaxwell.h.

◆ getDustDiffusionCoefficient()

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

Definition at line 207 of file aslFDStefanMaxwell.h.

◆ getElectricField()

Field asl::FDStefanMaxwell::getElectricField ( ) const

◆ getVectorTemplate()

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

Definition at line 195 of file aslFDStefanMaxwell.h.

◆ getVelocity()

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

Definition at line 185 of file aslFDStefanMaxwell.h.

◆ setCharge()

void asl::FDStefanMaxwell::setCharge ( unsigned int  i,
const Param q 
)

◆ setDiffusionCoefficient()

void asl::FDStefanMaxwell::setDiffusionCoefficient ( acl::VectorOfElements  d,
unsigned int  i = 0,
unsigned int  j = 1 
)

◆ setDustDiffusionCoefficient()

void asl::FDStefanMaxwell::setDustDiffusionCoefficient ( unsigned int  i,
const Param dd 
)

◆ setElectricField()

void asl::FDStefanMaxwell::setElectricField ( Field  phi)

◆ setVectorTemplate()

void asl::FDStefanMaxwell::setVectorTemplate ( VectorTemplate vT)

◆ setVelocity()

void asl::FDStefanMaxwell::setVelocity ( Field  v)

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