ASL  0.1.7
Advanced Simulation Library
Functions
Differential Operrators

Functions

acl::VectorOfElements asl::laplas (const TemplateVE &a)
 differential operator \( \Delta a \) More...
 
acl::VectorOfElements asl::gradient (const TemplateVE &a)
 differential operator \( \vec\nabla a \) More...
 
acl::VectorOfElements asl::dx (const TemplateVE &a)
 differential operator \( \partial_x a \) More...
 
acl::VectorOfElements asl::dy (const TemplateVE &a)
 differential operator \( \partial_y a \) More...
 
acl::VectorOfElements asl::dz (const TemplateVE &a)
 differential operator \( \partial_z a \) More...
 
acl::VectorOfElements asl::dxi (const TemplateVE &a, unsigned int i)
 differential operator \( \partial_{i} a \) More...
 
acl::VectorOfElements asl::divAgradB (const TemplateVE &a, const TemplateVE &b)
 differential operator \( \nabla(a \nabla b) \) More...
 
acl::VectorOfElements asl::div (const vector< TemplateVE > &a)
 differential operator \( \nabla \cdot \vec a \) More...
 
acl::VectorOfElements asl::divProduct (const vector< TemplateVE > &a, const TemplateVE &c)
 differential operator \( \nabla \cdot (\vec a c) \) More...
 
acl::VectorOfElements asl::div (const TemplateVE &ax, const TemplateVE &ay)
 differential operator \( \nabla \cdot \vec a \) More...
 
acl::VectorOfElements asl::div (const TemplateVE &ax, const TemplateVE &ay, const TemplateVE &az)
 differential operator \( \nabla \cdot \vec a \) More...
 
acl::VectorOfElements asl::dIdJ (unsigned int i, unsigned int j, const TemplateVE &a)
 differential operator \( \nabla_i \nabla_j a \) More...
 
acl::VectorOfElements asl::cellValues (const TemplateVE &a, unsigned int iEl)
 returns VectorOfElements containing values in cell corners More...
 
acl::VectorOfElements asl::gradient (const TemplateVE &a, unsigned int iEl)
 differential operator \( \vec\nabla a \) within a cell More...
 
vector< acl::Elementasl::gcGradientAllCells (const TemplateVE &a, vector< acl::VectorOfElements > &values)
 differential operator \( \vec\nabla a \) within all cells More...
 

Detailed Description

Function Documentation

◆ cellValues()

acl::VectorOfElements asl::cellValues ( const TemplateVE a,
unsigned int  iEl 
)

returns VectorOfElements containing values in cell corners

◆ dIdJ()

acl::VectorOfElements asl::dIdJ ( unsigned int  i,
unsigned int  j,
const TemplateVE a 
)

differential operator \( \nabla_i \nabla_j a \)

◆ div() [1/3]

acl::VectorOfElements asl::div ( const vector< TemplateVE > &  a)

differential operator \( \nabla \cdot \vec a \)

◆ div() [2/3]

acl::VectorOfElements asl::div ( const TemplateVE ax,
const TemplateVE ay 
)

differential operator \( \nabla \cdot \vec a \)

◆ div() [3/3]

acl::VectorOfElements asl::div ( const TemplateVE ax,
const TemplateVE ay,
const TemplateVE az 
)

differential operator \( \nabla \cdot \vec a \)

◆ divAgradB()

acl::VectorOfElements asl::divAgradB ( const TemplateVE a,
const TemplateVE b 
)

differential operator \( \nabla(a \nabla b) \)

◆ divProduct()

acl::VectorOfElements asl::divProduct ( const vector< TemplateVE > &  a,
const TemplateVE c 
)

differential operator \( \nabla \cdot (\vec a c) \)

This is a discret approximation discribef by the following expression:

\[ \nabla_\alpha (v_\alpha c) = \frac{1}{2}\sum_i w_i a_{i\alpha} (v_{0\alpha}+v_{i\alpha})(c_0+c_i) ) \]

where \( w_i \) are coefficients corresponding to a gradient ones

◆ dx()

acl::VectorOfElements asl::dx ( const TemplateVE a)

◆ dxi()

acl::VectorOfElements asl::dxi ( const TemplateVE a,
unsigned int  i 
)

differential operator \( \partial_{i} a \)

◆ dy()

acl::VectorOfElements asl::dy ( const TemplateVE a)

differential operator \( \partial_y a \)

◆ dz()

acl::VectorOfElements asl::dz ( const TemplateVE a)

differential operator \( \partial_z a \)

◆ gcGradientAllCells()

vector<acl::Element> asl::gcGradientAllCells ( const TemplateVE a,
vector< acl::VectorOfElements > &  values 
)

differential operator \( \vec\nabla a \) within all cells

The function generates code that computes the gradient values in each cell. The gradient values are written in values which are private variables. The corresponding amount of variables are automaticaly generated.

◆ gradient() [1/2]

acl::VectorOfElements asl::gradient ( const TemplateVE a,
unsigned int  iEl 
)

differential operator \( \vec\nabla a \) within a cell

◆ gradient() [2/2]

acl::VectorOfElements asl::gradient ( const TemplateVE a)

differential operator \( \vec\nabla a \)

◆ laplas()

acl::VectorOfElements asl::laplas ( const TemplateVE a)

differential operator \( \Delta a \)