MFEM  v4.5.1
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 (double *d, 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)
 
const double * GetData (int k) const
 
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 ()
 
std::size_t 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 953 of file densemat.hpp.

Constructor & Destructor Documentation

mfem::DenseTensor::DenseTensor ( )
inline

Definition at line 961 of file densemat.hpp.

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

Definition at line 966 of file densemat.hpp.

mfem::DenseTensor::DenseTensor ( double *  d,
int  i,
int  j,
int  k 
)
inline

Definition at line 973 of file densemat.hpp.

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

Definition at line 980 of file densemat.hpp.

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

Copy constructor: deep copy.

Definition at line 988 of file densemat.hpp.

mfem::DenseTensor::~DenseTensor ( )
inline

Definition at line 1117 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 4188 of file densemat.cpp.

void mfem::DenseTensor::Clear ( )
inline

Definition at line 1081 of file densemat.hpp.

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

Definition at line 1070 of file densemat.hpp.

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

Definition at line 1072 of file densemat.hpp.

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

Definition at line 1058 of file densemat.hpp.

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

Definition at line 1064 of file densemat.hpp.

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

Definition at line 1074 of file densemat.hpp.

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

Definition at line 1075 of file densemat.hpp.

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

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

Definition at line 1091 of file densemat.hpp.

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

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

Definition at line 1107 of file densemat.hpp.

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

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

Definition at line 1099 of file densemat.hpp.

std::size_t mfem::DenseTensor::MemoryUsage ( ) const
inline

Definition at line 1084 of file densemat.hpp.

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

Definition at line 1028 of file densemat.hpp.

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

Definition at line 1034 of file densemat.hpp.

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

Definition at line 1042 of file densemat.hpp.

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

Definition at line 1050 of file densemat.hpp.

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

Sets the tensor elements equal to constant c.

Definition at line 4243 of file densemat.cpp.

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

Copy assignment operator (performs a deep copy)

Definition at line 4253 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 1087 of file densemat.hpp.

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

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

Definition at line 1103 of file densemat.hpp.

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

Definition at line 1005 of file densemat.hpp.

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

Definition at line 999 of file densemat.hpp.

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

Definition at line 1000 of file densemat.hpp.

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

Definition at line 1001 of file densemat.hpp.

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

Definition at line 1110 of file densemat.hpp.

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

Definition at line 1003 of file densemat.hpp.

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

Definition at line 1014 of file densemat.hpp.

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

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

Definition at line 1095 of file densemat.hpp.


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