DOLFIN
DOLFIN C++ interface
Public Member Functions | List of all members
dolfin::Scalar Class Reference

#include <Scalar.h>

Inheritance diagram for dolfin::Scalar:
Inheritance graph
[legend]
Collaboration diagram for dolfin::Scalar:
Collaboration graph
[legend]

Public Member Functions

 Scalar ()
 Create zero scalar.
 
 Scalar (MPI_Comm comm)
 Create zero scalar.
 
virtual ~Scalar ()
 Destructor.
 
virtual void init (const TensorLayout &tensor_layout)
 Initialize zero tensor using sparsity pattern. More...
 
virtual bool empty () const
 Return true if empty. More...
 
virtual std::size_t rank () const
 Return tensor rank (number of dimensions) More...
 
virtual std::size_t size (std::size_t dim) const
 Return size of given dimension. More...
 
virtual std::pair< std::int64_t, std::int64_t > local_range (std::size_t dim) const
 Return local ownership range. More...
 
virtual void get (double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) const
 Get block of values. More...
 
virtual void set (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)
 Set block of values using global indices. More...
 
virtual void set_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)
 Set block of values using local indices. More...
 
virtual void add (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)
 Add block of values using global indices. More...
 
virtual void add_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)
 Add block of values using local indices. More...
 
virtual void add (const double *block, const std::vector< ArrayView< const dolfin::la_index > > &rows)
 Add block of values using global indices. More...
 
virtual void add_local (const double *block, const std::vector< ArrayView< const dolfin::la_index > > &rows)
 Add block of values using local indices. More...
 
virtual void zero ()
 Set all entries to zero and keep any sparse structure. More...
 
virtual void apply (std::string mode)
 Finalize assembly of tensor. More...
 
virtual MPI_Comm mpi_comm () const
 Return MPI communicator. More...
 
virtual std::string str (bool verbose) const
 Return informal string representation (pretty-print) More...
 
virtual std::shared_ptr< Scalarcopy () const
 Return copy of scalar.
 
virtual GenericLinearAlgebraFactoryfactory () const
 Return a factory for the default linear algebra backend. More...
 
double get_scalar_value () const
 
void add_local_value (double value)
 
- Public Member Functions inherited from dolfin::GenericTensor
virtual ~GenericTensor ()
 Destructor.
 
virtual void init (const TensorLayout &tensor_layout)=0
 Initialize zero tensor using tensor layout. More...
 
virtual bool empty () const =0
 Return true if empty. More...
 
virtual std::size_t rank () const =0
 Return tensor rank (number of dimensions) More...
 
virtual std::size_t size (std::size_t dim) const =0
 Return size of given dimension. More...
 
virtual std::pair< std::int64_t, std::int64_t > local_range (std::size_t dim) const =0
 Return local ownership range. More...
 
virtual void get (double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) const =0
 Get block of values. More...
 
virtual void set (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)=0
 Set block of values using global indices. More...
 
virtual void set_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)=0
 Set block of values using local indices. More...
 
virtual void add (const double *block, const std::vector< ArrayView< const dolfin::la_index > > &rows)=0
 Add block of values using global indices. More...
 
virtual void add_local (const double *block, const std::vector< ArrayView< const dolfin::la_index > > &rows)=0
 Add block of values using local indices. More...
 
virtual void add (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)=0
 Add block of values using global indices. More...
 
virtual void add_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows)=0
 Add block of values using local indices. More...
 
virtual void zero ()=0
 Set all entries to zero and keep any sparse structure. More...
 
virtual void apply (std::string mode)=0
 Finalize assembly of tensor. More...
 
virtual std::string str (bool verbose) const =0
 Return MPI communicator. More...
 
virtual GenericLinearAlgebraFactoryfactory () const =0
 Return linear algebra backend factory. More...
 
- Public Member Functions inherited from dolfin::LinearAlgebraObject
virtual const LinearAlgebraObjectinstance () const
 Return concrete instance / unwrap (const version) More...
 
virtual LinearAlgebraObjectinstance ()
 Return concrete instance / unwrap (non-const version) More...
 
virtual std::shared_ptr< const LinearAlgebraObjectshared_instance () const
 Return concrete shared ptr instance / unwrap (const version) More...
 
virtual std::shared_ptr< LinearAlgebraObjectshared_instance ()
 Return concrete shared ptr instance / unwrap (non-const version) More...
 
virtual MPI_Comm mpi_comm () const =0
 Return MPI communicator. More...
 
- Public Member Functions inherited from dolfin::Variable
 Variable ()
 Create unnamed variable.
 
 Variable (const std::string name, const std::string label)
 Create variable with given name and label.
 
 Variable (const Variable &variable)
 Copy constructor.
 
virtual ~Variable ()
 Destructor.
 
const Variableoperator= (const Variable &variable)
 Assignment operator.
 
void rename (const std::string name, const std::string label)
 Rename variable.
 
std::string name () const
 Return name.
 
std::string label () const
 Return label (description)
 
std::size_t id () const
 
virtual std::string str (bool verbose) const
 Return informal string representation (pretty-print) More...
 

Additional Inherited Members

- Public Attributes inherited from dolfin::Variable
Parameters parameters
 Parameters.
 

Detailed Description

This class represents a real-valued scalar quantity and implements the GenericTensor interface for scalars.

Member Function Documentation

◆ add() [1/2]

virtual void dolfin::Scalar::add ( const double *  block,
const dolfin::la_index num_rows,
const dolfin::la_index *const *  rows 
)
inlinevirtual

Add block of values using global indices.

Implements dolfin::GenericTensor.

◆ add() [2/2]

virtual void dolfin::Scalar::add ( const double *  block,
const std::vector< ArrayView< const dolfin::la_index > > &  rows 
)
inlinevirtual

Add block of values using global indices.

Implements dolfin::GenericTensor.

◆ add_local() [1/2]

virtual void dolfin::Scalar::add_local ( const double *  block,
const dolfin::la_index num_rows,
const dolfin::la_index *const *  rows 
)
inlinevirtual

Add block of values using local indices.

Implements dolfin::GenericTensor.

◆ add_local() [2/2]

virtual void dolfin::Scalar::add_local ( const double *  block,
const std::vector< ArrayView< const dolfin::la_index > > &  rows 
)
inlinevirtual

Add block of values using local indices.

Implements dolfin::GenericTensor.

◆ add_local_value()

void dolfin::Scalar::add_local_value ( double  value)
inline

Add to local increment (added for testing, remove if we add a better way from python)

◆ apply()

virtual void dolfin::Scalar::apply ( std::string  mode)
inlinevirtual

Finalize assembly of tensor.

Implements dolfin::GenericTensor.

◆ empty()

virtual bool dolfin::Scalar::empty ( ) const
inlinevirtual

Return true if empty.

Implements dolfin::GenericTensor.

◆ factory()

virtual GenericLinearAlgebraFactory & dolfin::Scalar::factory ( ) const
inlinevirtual

Return a factory for the default linear algebra backend.

Implements dolfin::GenericTensor.

◆ get()

virtual void dolfin::Scalar::get ( double *  block,
const dolfin::la_index num_rows,
const dolfin::la_index *const *  rows 
) const
inlinevirtual

Get block of values.

Implements dolfin::GenericTensor.

◆ get_scalar_value()

double dolfin::Scalar::get_scalar_value ( ) const
inline

Get final value (assumes prior apply(), not part of GenericTensor interface)

◆ init()

virtual void dolfin::Scalar::init ( const TensorLayout tensor_layout)
inlinevirtual

Initialize zero tensor using sparsity pattern.

Implements dolfin::GenericTensor.

◆ local_range()

virtual std::pair< std::int64_t, std::int64_t > dolfin::Scalar::local_range ( std::size_t  dim) const
inlinevirtual

Return local ownership range.

Implements dolfin::GenericTensor.

◆ mpi_comm()

virtual MPI_Comm dolfin::Scalar::mpi_comm ( ) const
inlinevirtual

Return MPI communicator.

Implements dolfin::LinearAlgebraObject.

◆ rank()

virtual std::size_t dolfin::Scalar::rank ( ) const
inlinevirtual

Return tensor rank (number of dimensions)

Implements dolfin::GenericTensor.

◆ set()

virtual void dolfin::Scalar::set ( const double *  block,
const dolfin::la_index num_rows,
const dolfin::la_index *const *  rows 
)
inlinevirtual

Set block of values using global indices.

Implements dolfin::GenericTensor.

◆ set_local()

virtual void dolfin::Scalar::set_local ( const double *  block,
const dolfin::la_index num_rows,
const dolfin::la_index *const *  rows 
)
inlinevirtual

Set block of values using local indices.

Implements dolfin::GenericTensor.

◆ size()

virtual std::size_t dolfin::Scalar::size ( std::size_t  dim) const
inlinevirtual

Return size of given dimension.

Implements dolfin::GenericTensor.

◆ str()

virtual std::string dolfin::Scalar::str ( bool  verbose) const
inlinevirtual

Return informal string representation (pretty-print)

Implements dolfin::GenericTensor.

◆ zero()

virtual void dolfin::Scalar::zero ( )
inlinevirtual

Set all entries to zero and keep any sparse structure.

Implements dolfin::GenericTensor.


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