FrictionQPotFEM 0.23.3
Loading...
Searching...
No Matches
GooseFEM::MatrixPartitionedTyingsBase< D > Class Template Reference

CRTP base class for a partitioned matrix with tying. More...

#include <include/GooseFEM/Matrix.h>

Inheritance diagram for GooseFEM::MatrixPartitionedTyingsBase< D >:
Collaboration diagram for GooseFEM::MatrixPartitionedTyingsBase< D >:

Public Types

using derived_type = D
 Underlying type. More...
 
- Public Types inherited from GooseFEM::MatrixPartitionedBase< D >
using derived_type = D
 Underlying type. More...
 
- Public Types inherited from GooseFEM::MatrixBase< D >
using derived_type = D
 Underlying type. More...
 

Public Member Functions

size_t nni () const
 Number of independent DOFs. More...
 
size_t nnd () const
 Number of dependent DOFs. More...
 
const array_type::tensor< size_t, 1 > & iii () const
 Independent DOFs. More...
 
const array_type::tensor< size_t, 1 > & iid () const
 Dependent DOFs. More...
 
- Public Member Functions inherited from GooseFEM::MatrixPartitionedBase< D >
size_t nnu () const
 Number of unknown DOFs. More...
 
size_t nnp () const
 Number of prescribed DOFs. More...
 
const array_type::tensor< size_t, 1 > & iiu () const
 Unknown DOFs. More...
 
const array_type::tensor< size_t, 1 > & iip () const
 Prescribed DOFs. More...
 
array_type::tensor< double, 2 > Reaction (const array_type::tensor< double, 2 > &x, const array_type::tensor< double, 2 > &b) const
 Right-hand-size for corresponding to the prescribed DOFs: More...
 
array_type::tensor< double, 1 > Reaction (const array_type::tensor< double, 1 > &x, const array_type::tensor< double, 1 > &b) const
 Same as Reaction(const array_type::tensor<double, 2>&, const array_type::tensor<double, 2>&), but of "dofval" input and output. More...
 
void reaction (const array_type::tensor< double, 2 > &x, array_type::tensor< double, 2 > &b) const
 Same as Reaction(const array_type::tensor<double, 2>&, const array_type::tensor<double, 2>&), but inserting in-place. More...
 
void reaction (const array_type::tensor< double, 1 > &x, array_type::tensor< double, 1 > &b) const
 Same as Reaction(const array_type::tensor<double, 1>&, const array_type::tensor<double, 1>&), but inserting in-place. More...
 
array_type::tensor< double, 1 > Reaction_p (const array_type::tensor< double, 1 > &x_u, const array_type::tensor< double, 1 > &x_p) const
 Same as Reaction(const array_type::tensor<double, 1>&, const array_type::tensor<double, 1>&), but with partitioned input and output. More...
 
void reaction_p (const array_type::tensor< double, 1 > &x_u, const array_type::tensor< double, 1 > &x_p, array_type::tensor< double, 1 > &b_p) const
 Same as Reaction_p(const array_type::tensor<double, 1>&, const array_type::tensor<double, 1>&), but writing to preallocated output. More...
 
- Public Member Functions inherited from GooseFEM::MatrixBase< D >
size_t nelem () const
 Number of elements. More...
 
size_t nne () const
 Number of nodes per element. More...
 
size_t nnode () const
 Number of nodes. More...
 
size_t ndim () const
 Number of dimensions. More...
 
size_t ndof () const
 Number of DOFs. More...
 
const array_type::tensor< size_t, 2 > & dofs () const
 DOFs per node. More...
 
const array_type::tensor< size_t, 2 > & conn () const
 Connectivity. More...
 
std::array< size_t, 1 > shape_dofval () const
 Shape of "dofval". More...
 
std::array< size_t, 2 > shape_nodevec () const
 Shape of "nodevec". More...
 
std::array< size_t, 3 > shape_elemmat () const
 Shape of "elemmat". More...
 
template<class T >
void assemble (const T &elemmat)
 Assemble from "elemmat". More...
 
array_type::tensor< double, 2 > Todense () const
 Copy as dense matrix. More...
 
template<class T >
void todense (T &ret) const
 Copy to dense matrix. More...
 
array_type::tensor< double, 2 > Dot (const array_type::tensor< double, 2 > &x) const
 Dot-product \( b_i = A_{ij} x_j \). More...
 
array_type::tensor< double, 1 > Dot (const array_type::tensor< double, 1 > &x) const
 Dot-product \( b_i = A_{ij} x_j \). More...
 
void dot (const array_type::tensor< double, 2 > &x, array_type::tensor< double, 2 > &b) const
 Dot-product \( b_i = A_{ij} x_j \). More...
 
void dot (const array_type::tensor< double, 1 > &x, array_type::tensor< double, 1 > &b) const
 Dot-product \( b_i = A_{ij} x_j \). More...
 

Protected Attributes

array_type::tensor< size_t, 1 > m_iii
 See iii() More...
 
array_type::tensor< size_t, 1 > m_iid
 See iid() More...
 
size_t m_nni
 See nni. More...
 
size_t m_nnd
 See nnd. More...
 
- Protected Attributes inherited from GooseFEM::MatrixPartitionedBase< D >
array_type::tensor< size_t, 1 > m_iiu
 See iiu() More...
 
array_type::tensor< size_t, 1 > m_iip
 See iip() More...
 
size_t m_nnu
 See nnu. More...
 
size_t m_nnp
 See nnp. More...
 
- Protected Attributes inherited from GooseFEM::MatrixBase< D >
array_type::tensor< size_t, 2 > m_conn
 Connectivity [nelem, nne]. More...
 
array_type::tensor< size_t, 2 > m_dofs
 DOF-numbers per node [nnode, ndim]. More...
 
size_t m_nelem
 See nelem(). More...
 
size_t m_nne
 See nne(). More...
 
size_t m_nnode
 See nnode(). More...
 
size_t m_ndim
 See ndim(). More...
 
size_t m_ndof
 See ndof(). More...
 
bool m_changed = true
 Signal changes to data. More...
 

Detailed Description

template<class D>
class GooseFEM::MatrixPartitionedTyingsBase< D >

CRTP base class for a partitioned matrix with tying.

Definition at line 582 of file Matrix.h.

Member Typedef Documentation

◆ derived_type

template<class D >
using GooseFEM::MatrixPartitionedTyingsBase< D >::derived_type = D

Underlying type.

Definition at line 594 of file Matrix.h.

Member Function Documentation

◆ iid()

template<class D >
const array_type::tensor< size_t, 1 > & GooseFEM::MatrixPartitionedTyingsBase< D >::iid ( ) const
inline

Dependent DOFs.

Returns
[nnp].

Definition at line 639 of file Matrix.h.

◆ iii()

template<class D >
const array_type::tensor< size_t, 1 > & GooseFEM::MatrixPartitionedTyingsBase< D >::iii ( ) const
inline

Independent DOFs.

Returns
[nnu].

Definition at line 630 of file Matrix.h.

◆ nnd()

template<class D >
size_t GooseFEM::MatrixPartitionedTyingsBase< D >::nnd ( ) const
inline

Number of dependent DOFs.

Returns
Unsigned integer.

Definition at line 621 of file Matrix.h.

◆ nni()

template<class D >
size_t GooseFEM::MatrixPartitionedTyingsBase< D >::nni ( ) const
inline

Number of independent DOFs.

Returns
Unsigned integer.

Definition at line 612 of file Matrix.h.

Member Data Documentation

◆ m_iid

template<class D >
array_type::tensor<size_t, 1> GooseFEM::MatrixPartitionedTyingsBase< D >::m_iid
protected

See iid()

Definition at line 585 of file Matrix.h.

◆ m_iii

template<class D >
array_type::tensor<size_t, 1> GooseFEM::MatrixPartitionedTyingsBase< D >::m_iii
protected

See iii()

Definition at line 584 of file Matrix.h.

◆ m_nnd

template<class D >
size_t GooseFEM::MatrixPartitionedTyingsBase< D >::m_nnd
protected

See nnd.

Definition at line 588 of file Matrix.h.

◆ m_nni

template<class D >
size_t GooseFEM::MatrixPartitionedTyingsBase< D >::m_nni
protected

See nni.

Definition at line 587 of file Matrix.h.


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