MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
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 (real_t *d, int i, int j, int k)
 
 DenseTensor (int i, int j, int k, MemoryType mt)
 
 DenseTensor (const DenseTensor &other)
 Copy constructor: deep copy.
 
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 (real_t *ext_data, int i, int j, int k)
 
DenseTensoroperator= (real_t c)
 Sets the tensor elements equal to constant c.
 
DenseTensoroperator= (const DenseTensor &other)
 Copy assignment operator (performs a deep copy)
 
DenseMatrixoperator() (int k)
 
const DenseMatrixoperator() (int k) const
 
real_toperator() (int i, int j, int k)
 
const real_toperator() (int i, int j, int k) const
 
real_tGetData (int k)
 
const real_tGetData (int k) const
 
real_tData ()
 
const real_tData () const
 
Memory< real_t > & GetMemory ()
 
const Memory< real_t > & GetMemory () const
 
void AddMult (const Table &elem_dof, const Vector &x, Vector &y) const
 
void Clear ()
 
std::size_t MemoryUsage () const
 
const real_tRead (bool on_dev=true) const
 Shortcut for mfem::Read( GetMemory(), TotalSize(), on_dev).
 
const real_tHostRead () const
 Shortcut for mfem::Read(GetMemory(), TotalSize(), false).
 
real_tWrite (bool on_dev=true)
 Shortcut for mfem::Write(GetMemory(), TotalSize(), on_dev).
 
real_tHostWrite ()
 Shortcut for mfem::Write(GetMemory(), TotalSize(), false).
 
real_tReadWrite (bool on_dev=true)
 Shortcut for mfem::ReadWrite(GetMemory(), TotalSize(), on_dev).
 
real_tHostReadWrite ()
 Shortcut for mfem::ReadWrite(GetMemory(), TotalSize(), false).
 
void Swap (DenseTensor &t)
 
 ~DenseTensor ()
 

Detailed Description

Rank 3 tensor (array of matrices)

Definition at line 1103 of file densemat.hpp.

Constructor & Destructor Documentation

◆ DenseTensor() [1/5]

mfem::DenseTensor::DenseTensor ( )
inline

Definition at line 1111 of file densemat.hpp.

◆ DenseTensor() [2/5]

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

Definition at line 1116 of file densemat.hpp.

◆ DenseTensor() [3/5]

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

Definition at line 1123 of file densemat.hpp.

◆ DenseTensor() [4/5]

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

Definition at line 1130 of file densemat.hpp.

◆ DenseTensor() [5/5]

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

Copy constructor: deep copy.

Definition at line 1138 of file densemat.hpp.

◆ ~DenseTensor()

mfem::DenseTensor::~DenseTensor ( )
inline

Definition at line 1267 of file densemat.hpp.

Member Function Documentation

◆ AddMult()

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 4561 of file densemat.cpp.

◆ Clear()

void mfem::DenseTensor::Clear ( )
inline

Definition at line 1231 of file densemat.hpp.

◆ Data() [1/2]

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

Definition at line 1220 of file densemat.hpp.

◆ Data() [2/2]

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

Definition at line 1222 of file densemat.hpp.

◆ GetData() [1/2]

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

Definition at line 1208 of file densemat.hpp.

◆ GetData() [2/2]

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

Definition at line 1214 of file densemat.hpp.

◆ GetMemory() [1/2]

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

Definition at line 1224 of file densemat.hpp.

◆ GetMemory() [2/2]

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

Definition at line 1225 of file densemat.hpp.

◆ HostRead()

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

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

Definition at line 1241 of file densemat.hpp.

◆ HostReadWrite()

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

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

Definition at line 1257 of file densemat.hpp.

◆ HostWrite()

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

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

Definition at line 1249 of file densemat.hpp.

◆ MemoryUsage()

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

Definition at line 1234 of file densemat.hpp.

◆ operator()() [1/4]

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

Definition at line 1192 of file densemat.hpp.

◆ operator()() [2/4]

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

Definition at line 1200 of file densemat.hpp.

◆ operator()() [3/4]

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

Definition at line 1178 of file densemat.hpp.

◆ operator()() [4/4]

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

Definition at line 1184 of file densemat.hpp.

◆ operator=() [1/2]

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

Copy assignment operator (performs a deep copy)

Definition at line 4626 of file densemat.cpp.

◆ operator=() [2/2]

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

Sets the tensor elements equal to constant c.

Definition at line 4616 of file densemat.cpp.

◆ Read()

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

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

Definition at line 1237 of file densemat.hpp.

◆ ReadWrite()

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

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

Definition at line 1253 of file densemat.hpp.

◆ SetSize()

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

Definition at line 1155 of file densemat.hpp.

◆ SizeI()

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

Definition at line 1149 of file densemat.hpp.

◆ SizeJ()

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

Definition at line 1150 of file densemat.hpp.

◆ SizeK()

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

Definition at line 1151 of file densemat.hpp.

◆ Swap()

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

Definition at line 1260 of file densemat.hpp.

◆ TotalSize()

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

Definition at line 1153 of file densemat.hpp.

◆ UseExternalData()

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

Definition at line 1164 of file densemat.hpp.

◆ Write()

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

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

Definition at line 1245 of file densemat.hpp.


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