NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Public Member Functions | List of all members
NeoN::dsl::Expression< ValueType > Class Template Reference

#include <expression.hpp>

Public Member Functions

 Expression (const Executor &exec)
 
 Expression (const Expression &exp)
 
void read (const Dictionary &input)
 
Vector< ValueType > explicitOperation (localIdx nCells) const
 
Vector< ValueType > explicitOperation (Vector< ValueType > &source) const
 
Vector< ValueType > explicitOperation (Vector< ValueType > &source, scalar t, scalar dt) const
 
void assembleSpatialOperator (la::LinearSystem< ValueType, localIdx > &ls) const
 
void assembleTemporalOperator (la::LinearSystem< ValueType, localIdx > &ls, scalar t, scalar dt) const
 
std::tuple< la::SparsityPattern, la::LinearSystem< ValueType, localIdx > > assemble (const UnstructuredMesh &mesh, scalar t, scalar dt, std::span< const PostAssemblyBase< ValueType > > ps={}) const
 
void assemble (scalar t, scalar dt, const la::SparsityPattern &sp, la::LinearSystem< ValueType, localIdx > &ls, std::span< const PostAssemblyBase< ValueType > > ps={}) const
 
void addOperator (const SpatialOperator< ValueType > &oper)
 
void addOperator (const TemporalOperator< ValueType > &oper)
 
void addExpression (const Expression &equation)
 
localIdx size () const
 
const std::vector< TemporalOperator< ValueType > > & temporalOperators () const
 
const std::vector< SpatialOperator< ValueType > > & spatialOperators () const
 
std::vector< TemporalOperator< ValueType > > & temporalOperators ()
 
std::vector< SpatialOperator< ValueType > > & spatialOperators ()
 
const Executorexec () const
 

Detailed Description

template<typename ValueType>
class NeoN::dsl::Expression< ValueType >

Definition at line 31 of file expression.hpp.

Constructor & Destructor Documentation

◆ Expression() [1/2]

template<typename ValueType >
NeoN::dsl::Expression< ValueType >::Expression ( const Executor exec)
inline

Definition at line 35 of file expression.hpp.

◆ Expression() [2/2]

template<typename ValueType >
NeoN::dsl::Expression< ValueType >::Expression ( const Expression< ValueType > &  exp)
inline

Definition at line 37 of file expression.hpp.

Member Function Documentation

◆ addExpression()

template<typename ValueType >
void NeoN::dsl::Expression< ValueType >::addExpression ( const Expression< ValueType > &  equation)
inline

Definition at line 161 of file expression.hpp.

◆ addOperator() [1/2]

template<typename ValueType >
void NeoN::dsl::Expression< ValueType >::addOperator ( const SpatialOperator< ValueType > &  oper)
inline

Definition at line 154 of file expression.hpp.

◆ addOperator() [2/2]

template<typename ValueType >
void NeoN::dsl::Expression< ValueType >::addOperator ( const TemporalOperator< ValueType > &  oper)
inline

Definition at line 156 of file expression.hpp.

◆ assemble() [1/2]

template<typename ValueType >
std::tuple< la::SparsityPattern, la::LinearSystem< ValueType, localIdx > > NeoN::dsl::Expression< ValueType >::assemble ( const UnstructuredMesh mesh,
scalar  t,
scalar  dt,
std::span< const PostAssemblyBase< ValueType > >  ps = {} 
) const
inline

Definition at line 119 of file expression.hpp.

◆ assemble() [2/2]

template<typename ValueType >
void NeoN::dsl::Expression< ValueType >::assemble ( scalar  t,
scalar  dt,
const la::SparsityPattern sp,
la::LinearSystem< ValueType, localIdx > &  ls,
std::span< const PostAssemblyBase< ValueType > >  ps = {} 
) const
inline

Definition at line 136 of file expression.hpp.

◆ assembleSpatialOperator()

template<typename ValueType >
void NeoN::dsl::Expression< ValueType >::assembleSpatialOperator ( la::LinearSystem< ValueType, localIdx > &  ls) const
inline

Definition at line 88 of file expression.hpp.

◆ assembleTemporalOperator()

template<typename ValueType >
void NeoN::dsl::Expression< ValueType >::assembleTemporalOperator ( la::LinearSystem< ValueType, localIdx > &  ls,
scalar  t,
scalar  dt 
) const
inline

Definition at line 103 of file expression.hpp.

◆ exec()

template<typename ValueType >
const Executor & NeoN::dsl::Expression< ValueType >::exec ( ) const
inline

Definition at line 195 of file expression.hpp.

◆ explicitOperation() [1/3]

template<typename ValueType >
Vector< ValueType > NeoN::dsl::Expression< ValueType >::explicitOperation ( localIdx  nCells) const
inline

Definition at line 56 of file expression.hpp.

◆ explicitOperation() [2/3]

template<typename ValueType >
Vector< ValueType > NeoN::dsl::Expression< ValueType >::explicitOperation ( Vector< ValueType > &  source) const
inline

Definition at line 63 of file expression.hpp.

◆ explicitOperation() [3/3]

template<typename ValueType >
Vector< ValueType > NeoN::dsl::Expression< ValueType >::explicitOperation ( Vector< ValueType > &  source,
scalar  t,
scalar  dt 
) const
inline

Definition at line 75 of file expression.hpp.

◆ read()

template<typename ValueType >
void NeoN::dsl::Expression< ValueType >::read ( const Dictionary input)
inline

Definition at line 43 of file expression.hpp.

◆ size()

template<typename ValueType >
localIdx NeoN::dsl::Expression< ValueType >::size ( ) const
inline

Definition at line 175 of file expression.hpp.

◆ spatialOperators() [1/2]

template<typename ValueType >
std::vector< SpatialOperator< ValueType > > & NeoN::dsl::Expression< ValueType >::spatialOperators ( )
inline

Definition at line 193 of file expression.hpp.

◆ spatialOperators() [2/2]

template<typename ValueType >
const std::vector< SpatialOperator< ValueType > > & NeoN::dsl::Expression< ValueType >::spatialOperators ( ) const
inline

Definition at line 186 of file expression.hpp.

◆ temporalOperators() [1/2]

template<typename ValueType >
std::vector< TemporalOperator< ValueType > > & NeoN::dsl::Expression< ValueType >::temporalOperators ( )
inline

Definition at line 191 of file expression.hpp.

◆ temporalOperators() [2/2]

template<typename ValueType >
const std::vector< TemporalOperator< ValueType > > & NeoN::dsl::Expression< ValueType >::temporalOperators ( ) const
inline

Definition at line 181 of file expression.hpp.


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