Advanced Multi-Physics (AMP)
On-Line Documentation
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
AMP::LinearAlgebra::VS_MultiVariable Class Referenceabstract

A class for selecting multi-variables. More...

#include <MultiVariable.h>

Inheritance diagram for AMP::LinearAlgebra::VS_MultiVariable:
Inheritance graph
[legend]

Public Member Functions

virtual AMP_MPI communicator (const Vector &vec) const
 Returns the communicator for the subset.
 
std::string getName () const
 
bool isSelected (const Vector &) const override
 Returns true if Vector grossly matches a selection condition.
 
virtual std::shared_ptr< Vectorsubset (std::shared_ptr< Vector > vec) const =0
 Subset the given vector.
 
Vector::shared_ptr subset (Vector::shared_ptr vec) const override
 
 VS_MultiVariable (const std::shared_ptr< MultiVariable > &var)
 Constructor.
 

Static Public Member Functions

static std::shared_ptr< VectorSelectorcreate (const std::vector< std::shared_ptr< VectorSelector > > &selectors)
 Create a VectorSelector.
 

Protected Attributes

std::shared_ptr< MultiVariabled_var
 

Detailed Description

A class for selecting multi-variables.

This class provides a selector for a multivariable

Definition at line 146 of file MultiVariable.h.

Constructor & Destructor Documentation

◆ VS_MultiVariable()

AMP::LinearAlgebra::VS_MultiVariable::VS_MultiVariable ( const std::shared_ptr< MultiVariable > &  var)
explicit

Constructor.

Parameters
[in]varThe variable to subset on

Member Function Documentation

◆ communicator()

virtual AMP_MPI AMP::LinearAlgebra::VectorSelector::communicator ( const Vector vec) const
virtualinherited

Returns the communicator for the subset.

Parameters
[in]vecThe Vector to match

This function will return the proper communicator given the current vector. For most subsetters, this will be the same communicator as the current vector, however some subsetters (MeshSelector) may opperate on a different (smaller) comm.

Reimplemented in AMP::LinearAlgebra::VS_Comm, and AMP::LinearAlgebra::VS_Mesh.

◆ create()

static std::shared_ptr< VectorSelector > AMP::LinearAlgebra::VectorSelector::create ( const std::vector< std::shared_ptr< VectorSelector > > &  selectors)
staticinherited

Create a VectorSelector.

Create a VectorSelector that applies a set of selectors which all must be met for the subset operation

Parameters
[in]selectorsA list of subsequent selectors to apply

◆ getName()

std::string AMP::LinearAlgebra::VS_MultiVariable::getName ( ) const

◆ isSelected()

bool AMP::LinearAlgebra::VS_MultiVariable::isSelected ( const Vector vec) const
overridevirtual

Returns true if Vector grossly matches a selection condition.

Parameters
[in]vecThe Vector to match

Base class defaults to accepting all vectors.

Implements AMP::LinearAlgebra::VectorSelector.

◆ subset() [1/2]

virtual std::shared_ptr< Vector > AMP::LinearAlgebra::VectorSelector::subset ( std::shared_ptr< Vector vec) const
pure virtualinherited

◆ subset() [2/2]

Vector::shared_ptr AMP::LinearAlgebra::VS_MultiVariable::subset ( Vector::shared_ptr  vec) const
override

Member Data Documentation

◆ d_var

std::shared_ptr<MultiVariable> AMP::LinearAlgebra::VS_MultiVariable::d_var
protected

Definition at line 162 of file MultiVariable.h.


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



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:43.
Comments on this page