|
| template<class DataTransferTag = tag::interpolation_datatransfer> |
| | DOFVector (std::shared_ptr< GB > const &basis, DataTransferTag={}) |
| |
| template<class GB_ , class DataTransferTag = tag::interpolation_datatransfer, REQUIRES(Concepts::Similar< GB_, GB >) > |
| | DOFVector (GB_ &&basis, DataTransferTag tag={}) |
| |
| template<class GV , class PBF , class DataTransferTag = tag::interpolation_datatransfer, REQUIRES(Concepts::PreBasisFactory< PBF, GV >) > |
| | DOFVector (GV const &gridView, PBF const &preBasisFactory, DataTransferTag tag={}) |
| |
|
GlobalBasis const & | basis () const |
| | Return the global basis.
|
| |
|
Coefficients const & | coefficients () const |
| |
|
Coefficients & | coefficients () |
| |
|
void | backup (std::string const &filename) |
| | Write DOFVector to file.
|
| |
|
void | restore (std::string const &filename) |
| | Read backup data from file.
|
| |
|
void | resize () |
| |
|
void | resizeZero () |
| |
|
auto const & | dataTransfer () const |
| | Return the associated DataTransfer object.
|
| |
|
auto & | dataTransfer () |
| | Return the associated DataTransfer object.
|
| |
|
void | setDataTransfer (DataTransfer< GB, Coefficients > dataTransfer) |
| | Assign the DataTransfer object.
|
| |
|
template<class DataTransferTag > |
| void | setDataTransfer (DataTransferTag tag) |
| | Create a new DataTransfer object based on the operation type.
|
| |
|
template<class Type > |
| auto | makeDerivative (Type type) const |
| |
|
template<class Basis > |
| void | resize (Basis const &basis) |
| | Resize the vector to the size of the basis.
|
| |
|
template<class Basis > |
| void | resizeZero (Basis const &basis) |
| | Resize the vector to the size of the basis and set to zero.
|
| |
| template<class GlobalBasis , class = std::void_t<decltype(std::declval<GlobalBasis>().indexDistribution())>> |
| | VectorFacade (GlobalBasis const &basis) |
| |
|
Impl const & | impl () const |
| | Return the underlying linear algebra backend.
|
| |
|
Impl & | impl () |
| |
|
std::size_t | localSize () const |
| | Return the number of entries in the local part of the vector.
|
| |
|
std::size_t | globalSize () const |
| | Return the number of entries in the global vector.
|
| |
|
template<class Basis > |
| void | resize (Basis const &basis) |
| | Resize the vector to the size of the basis.
|
| |
|
template<class Basis > |
| void | resizeZero (Basis const &basis) |
| | Resize the vector to the size of the basis and set to zero.
|
| |
| template<class Basis > |
| void | init (Basis const &basis, bool clear) |
| |
|
void | finish () |
| | Finish the insertion of values, see init()
|
| |
| template<class Index , class Assign = Assigner::plus_assign, REQUIRES(Concepts::MultiIndex< Index >) > |
| void | insert (Index const &idx, typename Impl::value_type const &value, Assign assign={}) |
| | Insert a single value into the matrix (add or overwrite to existing value)
|
| |
|
template<class Index , REQUIRES(Concepts::MultiIndex< Index >) > |
| void | set (Index const &idx, typename Impl::value_type const &value) |
| | See insert for assignment operation Assigner::assign.
|
| |
|
template<class Index , REQUIRES(Concepts::MultiIndex< Index >) > |
| void | add (Index const &idx, typename Impl::value_type const &value) |
| | See insert for assignment operation Assigner::plus_assign.
|
| |
|
template<class Index , REQUIRES(Concepts::MultiIndex< Index >) > |
| Impl::value_type | get (Index const &idx) const |
| | Return the value of the vector at the local index idx.
|
| |
| template<class LocalView , class Node , class Buffer , REQUIRES(Concepts::LocalView< LocalView >) , REQUIRES(Concepts::BasisNode< Node >) > |
| void | gather (LocalView const &localView, Node const &node, Buffer &buffer) const |
| | Extract values from the vector referring to the given local indices and store it into a buffer.
|
| |
|
template<class LocalView , class Buffer , REQUIRES(Concepts::LocalView< LocalView >) > |
| void | gather (LocalView const &localView, Buffer &buffer) const |
| |
|
template<class Index , class Buffer , REQUIRES(Concepts::MultiIndex< Index >) > |
| void | gather (std::vector< Index > const &indices, Buffer &buffer) |
| | Call gather the values associated to the indices into the buffer.
|
| |
| template<class LocalView , class Node , class NodeVector , class MaskRange , class Assign , REQUIRES(Concepts::LocalView< LocalView >) , REQUIRES(Concepts::BasisNode< Node >) > |
| void | scatter (LocalView const &localView, Node const &node, NodeVector const &localVector, MaskRange const &mask, Assign assign) |
| | Insert a block of values into the vector (add or overwrite to existing values)
|
| |
|
template<class LocalView , class Node , class NodeVector , class Assign , REQUIRES(Concepts::LocalView< LocalView >) , REQUIRES(Concepts::BasisNode< Node >) > |
| void | scatter (LocalView const &localView, Node const &node, NodeVector const &localVector, Assign assign) |
| | Call scatter with MaskRange set to FakeContainer.
|
| |
|
template<class LocalView , class LocalVector , class Assign , REQUIRES(Concepts::LocalView< LocalView >) > |
| void | scatter (LocalView const &localView, LocalVector const &localVector, Assign assign) |
| | Call scatter with Node given by the tree of the localView.
|
| |
|
template<class Index , class Buffer , REQUIRES(Concepts::MultiIndex< Index >) > |
| void | scatter (std::vector< Index > const &indices, Buffer const &values) |
| | Call scatter the values associated to the indices into the vector.
|
| |
| template<class LocalInd , class Func > |
| void | forEach (LocalInd const &localInd, Func &&func) |
| | Apply func to each value at given indices localInd.
|
| |
| template<class LocalInd , class Func > |
| void | forEach (LocalInd const &localInd, Func &&func) const |
| | Apply func to each value at given indices localInd.
|
| |
| VectorState | state () const |
| | Return the internal state of the vector.
|
| |
|
template<class S , std::enable_if_t< Dune::IsNumber< S >::value, int > = 0> |
| Self & | axpy (const S &alpha, const Self &x) |
| | Implements *this = *this + alpha * x.
|
| |
|
template<class S , std::enable_if_t< Dune::IsNumber< S >::value, int > = 0> |
| Self & | aypx (const S &alpha, const Self &x) |
| | Implements *this = alpha * (*this) + x.
|
| |
|
template<class S , std::enable_if_t< Dune::IsNumber< S >::value, int > = 0> |
| Self & | operator= (const S &alpha) |
| | Set all entries to alpha.
|
| |
|
Self & | operator+= (const Self &x) |
| | return *this += x
|
| |
|
Self & | operator-= (const Self &x) |
| | return *this -= x
|
| |
|
template<class S , std::enable_if_t< Dune::IsNumber< S >::value, int > = 0> |
| Self & | operator*= (const S &alpha) |
| | scale all entries by the factor alpha
|
| |
|
template<class S , std::enable_if_t< Dune::IsNumber< S >::value, int > = 0> |
| Self & | operator/= (const S &alpha) |
| | scale all entries by the factor 1.0/alpha
|
| |
template<class GB, class T = double, class
Traits = BackendTraits>
class AMDiS::DOFVector< GB, T, Traits >
The basic container that stores a base vector and a corresponding basis.
- Template Parameters
-
| GB | Basis of the vector |
| T | Type of the coefficients |
| Traits | Collection of parameter for the linear-algebra backend |