ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
asl::FDStefanMaxwell Class Reference

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

#include <aslFDStefanMaxwell.h>

Inheritance diagram for asl::FDStefanMaxwell:
Collaboration diagram for asl::FDStefanMaxwell:

Public Types

typedef SPDataWithGhostNodesACLData Data
typedef SPAbstractDataWithGhostNodes Field
typedef acl::VectorOfElements Param
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)
 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.
virtual void init ()
 Builds the necesery internal data and kernels.
virtual ~SingleKernelNM ()
virtual void execute ()
 Executes the numerical procedure.
virtual void init ()
 Builds the necesery internal data and kernels.
virtual ~SingleKernelNM ()
Public Member Functions inherited from asl::NumMethod
virtual ~NumMethod ()
virtual ~NumMethod ()

Additional Inherited Members

Protected Member Functions inherited from asl::SingleKernelNM
virtual void preProcessing ()
 the function executed before kernel->compute()
 SingleKernelNM (const acl::KernelConfiguration &kernelCongig)
virtual void preProcessing ()
 the function executed before kernel->compute()
 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 [1/2]

◆ Data [2/2]

◆ Field [1/2]

◆ Field [2/2]

◆ Param [1/2]

◆ Param [2/2]

Constructor & Destructor Documentation

◆ FDStefanMaxwell() [1/4]

asl::FDStefanMaxwell::FDStefanMaxwell ( )

◆ FDStefanMaxwell() [2/4]

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

◆ FDStefanMaxwell() [3/4]

asl::FDStefanMaxwell::FDStefanMaxwell ( )

◆ FDStefanMaxwell() [4/4]

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

Member Function Documentation

◆ addComponent() [1/4]

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

◆ addComponent() [2/4]

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

◆ addComponent() [3/4]

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

◆ addComponent() [4/4]

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

◆ getCharge() [1/2]

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

Definition at line 213 of file aslFDStefanMaxwell.h.

◆ getCharge() [2/2]

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

◆ getData() [1/2]

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

Definition at line 190 of file aslFDStefanMaxwell.h.

◆ getData() [2/2]

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

◆ getDiffusionCoefficient() [1/2]

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

Definition at line 201 of file aslFDStefanMaxwell.h.

◆ getDiffusionCoefficient() [2/2]

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

◆ getDustDiffusionCoefficient() [1/2]

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

Definition at line 207 of file aslFDStefanMaxwell.h.

◆ getDustDiffusionCoefficient() [2/2]

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

◆ getElectricField() [1/2]

Field asl::FDStefanMaxwell::getElectricField ( ) const

◆ getElectricField() [2/2]

Field asl::FDStefanMaxwell::getElectricField ( ) const

◆ getVectorTemplate() [1/2]

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

Definition at line 195 of file aslFDStefanMaxwell.h.

◆ getVectorTemplate() [2/2]

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

◆ getVelocity() [1/2]

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

Definition at line 185 of file aslFDStefanMaxwell.h.

◆ getVelocity() [2/2]

Field asl::FDStefanMaxwell::getVelocity ( )
inline

◆ setCharge() [1/2]

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

◆ setCharge() [2/2]

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

◆ setDiffusionCoefficient() [1/2]

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

◆ setDiffusionCoefficient() [2/2]

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

◆ setDustDiffusionCoefficient() [1/2]

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

◆ setDustDiffusionCoefficient() [2/2]

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

◆ setElectricField() [1/2]

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

◆ setElectricField() [2/2]

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

◆ setVectorTemplate() [1/2]

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

◆ setVectorTemplate() [2/2]

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

◆ setVelocity() [1/2]

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

◆ setVelocity() [2/2]

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

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