NeoFOAM
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
Namespaces | Classes | Concepts | Functions
NeoFOAM::dsl Namespace Reference

Namespaces

namespace  detail
 
namespace  exp
 
namespace  imp
 
namespace  temporal
 

Classes

class  Coeff
 A class that represents a coefficient for the NeoFOAM dsl. More...
 
class  Expression
 
class  Operator
 
class  OperatorMixin
 

Concepts

concept  HasTemporalOperator
 
concept  HasExplicitOperator
 

Functions

Coeff operator* (const Coeff &lhs, const Coeff &rhs)
 
Expression operator+ (Expression lhs, const Expression &rhs)
 
Expression operator+ (Expression lhs, const Operator &rhs)
 
Expression operator+ (const Operator &lhs, const Operator &rhs)
 
Expression operator* (scalar scale, const Expression &es)
 
Expression operator- (Expression lhs, const Expression &rhs)
 
Expression operator- (Expression lhs, const Operator &rhs)
 
Expression operator- (const Operator &lhs, const Operator &rhs)
 
Operator operator* (scalar scalarCoeff, Operator rhs)
 
Operator operator* (const Field< scalar > &coeffField, Operator rhs)
 
Operator operator* (const Coeff &coeff, Operator rhs)
 
template<typename CoeffFunction >
requires std::invocable<CoeffFunction&, size_t>
Operator operator* (CoeffFunction coeffFunc, const Operator &lhs)
 
template<typename FieldType >
void solve (Expression &exp, FieldType &solution, scalar t, scalar dt, const Dictionary &fvSchemes, const Dictionary &fvSolution)
 

Function Documentation

◆ operator*() [1/6]

template<typename CoeffFunction >
requires std::invocable<CoeffFunction&, size_t>
Operator NeoFOAM::dsl::operator* ( CoeffFunction  coeffFunc,
const Operator lhs 
)

Definition at line 176 of file operator.hpp.

◆ operator*() [2/6]

Operator NeoFOAM::dsl::operator* ( const Coeff coeff,
Operator  rhs 
)

◆ operator*() [3/6]

Coeff NeoFOAM::dsl::operator* ( const Coeff lhs,
const Coeff rhs 
)
inline

Definition at line 57 of file coeff.hpp.

◆ operator*() [4/6]

Operator NeoFOAM::dsl::operator* ( const Field< scalar > &  coeffField,
Operator  rhs 
)

◆ operator*() [5/6]

Operator NeoFOAM::dsl::operator* ( scalar  scalarCoeff,
Operator  rhs 
)

◆ operator*() [6/6]

Expression NeoFOAM::dsl::operator* ( scalar  scale,
const Expression es 
)
inline

Definition at line 149 of file expression.hpp.

◆ operator+() [1/3]

Expression NeoFOAM::dsl::operator+ ( const Operator lhs,
const Operator rhs 
)
inline

Definition at line 141 of file expression.hpp.

◆ operator+() [2/3]

Expression NeoFOAM::dsl::operator+ ( Expression  lhs,
const Expression rhs 
)
inline

Definition at line 129 of file expression.hpp.

◆ operator+() [3/3]

Expression NeoFOAM::dsl::operator+ ( Expression  lhs,
const Operator rhs 
)
inline

Definition at line 135 of file expression.hpp.

◆ operator-() [1/3]

Expression NeoFOAM::dsl::operator- ( const Operator lhs,
const Operator rhs 
)
inline

Definition at line 179 of file expression.hpp.

◆ operator-() [2/3]

Expression NeoFOAM::dsl::operator- ( Expression  lhs,
const Expression rhs 
)
inline

Definition at line 167 of file expression.hpp.

◆ operator-() [3/3]

Expression NeoFOAM::dsl::operator- ( Expression  lhs,
const Operator rhs 
)
inline

Definition at line 173 of file expression.hpp.

◆ solve()

template<typename FieldType >
void NeoFOAM::dsl::solve ( Expression exp,
FieldType &  solution,
scalar  t,
scalar  dt,
const Dictionary fvSchemes,
const Dictionary fvSolution 
)

Definition at line 31 of file solver.hpp.