MFEM  v4.3.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | List of all members
mfem::DenseTensor Class Reference

Rank 3 tensor (array of matrices) More...

#include <densemat.hpp>

Public Member Functions

 DenseTensor ()
 
 DenseTensor (int i, int j, int k)
 
 DenseTensor (int i, int j, int k, MemoryType mt)
 
 DenseTensor (const DenseTensor &other)
 Copy constructor: deep copy. More...
 
int SizeI () const
 
int SizeJ () const
 
int SizeK () const
 
int TotalSize () const
 
void SetSize (int i, int j, int k, MemoryType mt_=MemoryType::PRESERVE)
 
void UseExternalData (double *ext_data, int i, int j, int k)
 
DenseTensoroperator= (double c)
 Sets the tensor elements equal to constant c. More...
 
DenseTensoroperator= (const DenseTensor &other)
 Copy assignment operator (performs a deep copy) More...
 
DenseMatrixoperator() (int k)
 
const DenseMatrixoperator() (int k) const
 
double & operator() (int i, int j, int k)
 
const double & operator() (int i, int j, int k) const
 
double * GetData (int k)
 
double * Data ()
 
const double * Data () const
 
Memory< double > & GetMemory ()
 
const Memory< double > & GetMemory () const
 
void AddMult (const Table &elem_dof, const Vector &x, Vector &y) const
 
void Clear ()
 
long MemoryUsage () const
 
const double * Read (bool on_dev=true) const
 Shortcut for mfem::Read( GetMemory(), TotalSize(), on_dev). More...
 
const double * HostRead () const
 Shortcut for mfem::Read(GetMemory(), TotalSize(), false). More...
 
double * Write (bool on_dev=true)
 Shortcut for mfem::Write(GetMemory(), TotalSize(), on_dev). More...
 
double * HostWrite ()
 Shortcut for mfem::Write(GetMemory(), TotalSize(), false). More...
 
double * ReadWrite (bool on_dev=true)
 Shortcut for mfem::ReadWrite(GetMemory(), TotalSize(), on_dev). More...
 
double * HostReadWrite ()
 Shortcut for mfem::ReadWrite(GetMemory(), TotalSize(), false). More...
 
void Swap (DenseTensor &t)
 
 ~DenseTensor ()
 

Detailed Description

Rank 3 tensor (array of matrices)

Definition at line 745 of file densemat.hpp.

Constructor & Destructor Documentation

mfem::DenseTensor::DenseTensor ( )
inline

Definition at line 753 of file densemat.hpp.

mfem::DenseTensor::DenseTensor ( int  i,
int  j,
int  k 
)
inline

Definition at line 759 of file densemat.hpp.

mfem::DenseTensor::DenseTensor ( int  i,
int  j,
int  k,
MemoryType  mt 
)
inline

Definition at line 766 of file densemat.hpp.

mfem::DenseTensor::DenseTensor ( const DenseTensor other)
inline

Copy constructor: deep copy.

Definition at line 774 of file densemat.hpp.

mfem::DenseTensor::~DenseTensor ( )
inline

Definition at line 896 of file densemat.hpp.

Member Function Documentation

void mfem::DenseTensor::AddMult ( const Table elem_dof,
const Vector x,
Vector y 
) const

Matrix-vector product from unassembled element matrices, assuming both 'x' and 'y' use the same elem_dof table.

Definition at line 3447 of file densemat.cpp.

void mfem::DenseTensor::Clear ( )
inline

Definition at line 860 of file densemat.hpp.

double* mfem::DenseTensor::Data ( )
inline

Definition at line 849 of file densemat.hpp.

const double* mfem::DenseTensor::Data ( ) const
inline

Definition at line 851 of file densemat.hpp.

double* mfem::DenseTensor::GetData ( int  k)
inline

Definition at line 843 of file densemat.hpp.

Memory<double>& mfem::DenseTensor::GetMemory ( )
inline

Definition at line 853 of file densemat.hpp.

const Memory<double>& mfem::DenseTensor::GetMemory ( ) const
inline

Definition at line 854 of file densemat.hpp.

const double* mfem::DenseTensor::HostRead ( ) const
inline

Shortcut for mfem::Read(GetMemory(), TotalSize(), false).

Definition at line 870 of file densemat.hpp.

double* mfem::DenseTensor::HostReadWrite ( )
inline

Shortcut for mfem::ReadWrite(GetMemory(), TotalSize(), false).

Definition at line 886 of file densemat.hpp.

double* mfem::DenseTensor::HostWrite ( )
inline

Shortcut for mfem::Write(GetMemory(), TotalSize(), false).

Definition at line 878 of file densemat.hpp.

long mfem::DenseTensor::MemoryUsage ( ) const
inline

Definition at line 863 of file densemat.hpp.

DenseMatrix& mfem::DenseTensor::operator() ( int  k)
inline

Definition at line 818 of file densemat.hpp.

const DenseMatrix& mfem::DenseTensor::operator() ( int  k) const
inline

Definition at line 824 of file densemat.hpp.

double& mfem::DenseTensor::operator() ( int  i,
int  j,
int  k 
)
inline

Definition at line 827 of file densemat.hpp.

const double& mfem::DenseTensor::operator() ( int  i,
int  j,
int  k 
) const
inline

Definition at line 835 of file densemat.hpp.

DenseTensor & mfem::DenseTensor::operator= ( double  c)

Sets the tensor elements equal to constant c.

Definition at line 3502 of file densemat.cpp.

DenseTensor & mfem::DenseTensor::operator= ( const DenseTensor other)

Copy assignment operator (performs a deep copy)

Definition at line 3512 of file densemat.cpp.

const double* mfem::DenseTensor::Read ( bool  on_dev = true) const
inline

Shortcut for mfem::Read( GetMemory(), TotalSize(), on_dev).

Definition at line 866 of file densemat.hpp.

double* mfem::DenseTensor::ReadWrite ( bool  on_dev = true)
inline

Shortcut for mfem::ReadWrite(GetMemory(), TotalSize(), on_dev).

Definition at line 882 of file densemat.hpp.

void mfem::DenseTensor::SetSize ( int  i,
int  j,
int  k,
MemoryType  mt_ = MemoryType::PRESERVE 
)
inline

Definition at line 795 of file densemat.hpp.

int mfem::DenseTensor::SizeI ( ) const
inline

Definition at line 789 of file densemat.hpp.

int mfem::DenseTensor::SizeJ ( ) const
inline

Definition at line 790 of file densemat.hpp.

int mfem::DenseTensor::SizeK ( ) const
inline

Definition at line 791 of file densemat.hpp.

void mfem::DenseTensor::Swap ( DenseTensor t)
inline

Definition at line 889 of file densemat.hpp.

int mfem::DenseTensor::TotalSize ( ) const
inline

Definition at line 793 of file densemat.hpp.

void mfem::DenseTensor::UseExternalData ( double *  ext_data,
int  i,
int  j,
int  k 
)
inline

Definition at line 804 of file densemat.hpp.

double* mfem::DenseTensor::Write ( bool  on_dev = true)
inline

Shortcut for mfem::Write(GetMemory(), TotalSize(), on_dev).

Definition at line 874 of file densemat.hpp.


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