COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Classes | Namespaces | Typedefs | Functions
BlockAccumulator.hpp File Reference
#include <boost/mpl/assert.hpp>
#include <boost/proto/core.hpp>
#include <boost/proto/traits.hpp>
#include "math/MatrixTypes.hpp"
#include "math/LSS/System.hpp"
#include "math/LSS/BlockAccumulator.hpp"
#include "math/LSS/Matrix.hpp"
#include "LSSWrapper.hpp"
#include "Terminals.hpp"

Go to the source code of this file.

Classes

struct  SafeNbNodes< I >
 Helper to get the number of LSS nodes, avoiding static divide-by-zero. More...
 
struct  SafeNbNodes< 0 >
 
struct  SystemMatrixTag
 Tag for system matrix. More...
 
struct  SystemRHSTag
 Tag for RHS. More...
 
struct  BlockLhsGrammar< TagT >
 Grammar matching the LHS of an assignment op. More...
 
struct  MatrixAssignOpsCases< SystemTagT >
 Allowed block assignment operations. More...
 
struct  MatrixAssignOpsCases< SystemTagT >::case_< Tag, Dummy >
 
struct  MatrixAssignOpsCases< SystemTagT >::case_< boost::proto::tag::assign, Dummy >
 
struct  MatrixAssignOpsCases< SystemTagT >::case_< boost::proto::tag::plus_assign, Dummy >
 
struct  MatrixAssignOpsCases< SystemTagT >::case_< boost::proto::tag::minus_assign, Dummy >
 
struct  BlockAssignmentOp< SystemTagT, OpTagT >
 Helper struct for assignment to a matrix or RHS. More...
 
struct  BlockAssignmentOp< SystemMatrixTag, OpTagT >
 
struct  BlockAssignmentOp< SystemRHSTag, OpTagT >
 
struct  BlockAccumulator
 Primitive transform to handle assignment to an LSS matrix. More...
 
struct  BlockAccumulator::impl< ExprT, State, DataT >
 
struct  RHSAccumulator
 
struct  RHSAccumulator::impl< ExprT, State, DataT >
 
struct  BlockAccumulation< GrammarT >
 Grammar matching block accumulation expressions. More...
 

Namespaces

 cf3
 Top-level namespace for coolfluid.
 
 cf3::solver
 Basic Classes for Solver applications used by CF.
 
 cf3::solver::actions
 
 cf3::solver::actions::Proto
 
 cf3::solver::actions::Proto::detail
 

Typedefs

typedef LSSWrapper< SystemMatrixTag > SystemMatrix
 Represents a system matrix. More...
 
typedef LSSWrapper< SystemRHSTag > SystemRHS
 Represents an RHS. More...
 

Functions

template<Uint I>
void assert_nb_nodes ()
 
template<>
void assert_nb_nodes< 0 > ()
 
void do_assign_op_matrix (boost::proto::tag::assign, math::LSS::Matrix &lss_matrix, const math::LSS::BlockAccumulator &block_accumulator)
 Translate tag to operator. More...
 
void do_assign_op_matrix (boost::proto::tag::plus_assign, math::LSS::Matrix &lss_matrix, const math::LSS::BlockAccumulator &block_accumulator)
 Translate tag to operator. More...
 
void do_assign_op_rhs (boost::proto::tag::assign, math::LSS::Vector &lss_rhs, const math::LSS::BlockAccumulator &block_accumulator)
 Translate tag to operator. More...
 
void do_assign_op_rhs (boost::proto::tag::plus_assign, math::LSS::Vector &lss_rhs, const math::LSS::BlockAccumulator &block_accumulator)
 Translate tag to operator. More...
 
template<typename TagT , typename TargetT >
void do_assign_op (TagT, Real &lhs, TargetT &lss_matrix, const math::LSS::BlockAccumulator &block_accumulator)
 Translate tag to operator. More...
 

Detailed Description

System matrix block accumulation.

Definition in file BlockAccumulator.hpp.

Send comments to:
COOLFluiD Web Admin