waves
Basic FE playground
katoptron::DiscreteProblem< scalar > Class Template Reference

Class which is used to store all the information related to the discretized problem: More...

#include <DiscreteProblem.h>

Public Types

typedef Map::local_ordinal_type local_ordinal_type
 
typedef Map::global_ordinal_type global_ordinal_type
 
typedef Map::node_type node_type
 
typedef Tpetra::Export< local_ordinal_type, global_ordinal_typeexport_type
 
typedef Map::tpetra_map_type tpetra_map_type
 
typedef Map::xpetra_map_type xpetra_map_type
 
typedef Map::xpetra_tmap_type xpetra_tmap_type
 
typedef Map::xpetra_bmap_type xpetra_bmap_type
 
typedef Vectors< scalar >::tpetra_vector_type tpetra_vector_type
 
typedef Vectors< scalar >::tpetra_mvector_type tpetra_mvector_type
 
typedef Vectors< scalar >::xpetra_bmvector_type xpetra_bmvector_type
 
typedef Vectors< scalar >::xpetra_mvector_type xpetra_mvector_type
 
typedef Vectors< scalar >::xpetra_tmvector_type xpetra_tmvector_type
 
typedef Matrices< scalar >::tpetra_crs_type tpetra_crs_type
 
typedef Matrices< scalar >::xpetra_crs_type xpetra_crs_type
 
typedef Matrices< scalar >::xpetra_wcrs_type xpetra_wcrs_type
 
typedef Matrices< scalar >::xpetra_bcrs_type xpetra_bcrs_type
 
typedef Matrices< scalar >::xpetra_tcrs_type xpetra_tcrs_type
 

Public Member Functions

 DiscreteProblem (Problem &pbl, size_t _numPrimalDPN, Teuchos::RCP< Teuchos::ParameterList > randomParams, Kokkos::View< scalar *, Kokkos::LayoutLeft > m_rv_values)
 DiscreteProblem constructor. More...
 
 ~DiscreteProblem ()
 
void createBlockMatrix (scalar gamma, bool write, bool merge)
 Create the block matrix. More...
 
void createBlockMVector (bool write)
 Create the block vectors. More...
 
void computeMatrices (void)
 Compute the primal matrix. More...
 
void computeContactMatrices (MPI_Comm comm)
 Compute the contacts matrices. More...
 
void computeLoads (bool scaled=false)
 Compute the rhs. More...
 
Mask< scalar > updateActivity (int active_set_iteration)
 Update the activity of the Lagrange multipliers and return a Mask which stores true for the converged samples. More...
 

Public Attributes

Teuchos::RCP< Domain< scalar > > domain
 
Teuchos::RCP< Loads< scalar > > loads
 
Teuchos::RCP< Algebraic< scalar > > algebraic
 
size_t numPrimalDPN
 

Private Attributes

Kokkos::View< scalar *, Kokkos::LayoutRight > old_old_activity
 
Kokkos::View< scalar *, Kokkos::LayoutRight > old_activity
 

Detailed Description

template<typename scalar>
class katoptron::DiscreteProblem< scalar >

Class which is used to store all the information related to the discretized problem:

  • the information related to the activity of the Lagrange multipliers,
  • the discretized domain,
  • the algebraic information.

Member Typedef Documentation

◆ export_type

template<typename scalar >
typedef Tpetra::Export<local_ordinal_type, global_ordinal_type> katoptron::DiscreteProblem< scalar >::export_type

◆ global_ordinal_type

template<typename scalar >
typedef Map::global_ordinal_type katoptron::DiscreteProblem< scalar >::global_ordinal_type

◆ local_ordinal_type

template<typename scalar >
typedef Map::local_ordinal_type katoptron::DiscreteProblem< scalar >::local_ordinal_type

◆ node_type

template<typename scalar >
typedef Map::node_type katoptron::DiscreteProblem< scalar >::node_type

◆ tpetra_crs_type

template<typename scalar >
typedef Matrices<scalar>::tpetra_crs_type katoptron::DiscreteProblem< scalar >::tpetra_crs_type

◆ tpetra_map_type

template<typename scalar >
typedef Map::tpetra_map_type katoptron::DiscreteProblem< scalar >::tpetra_map_type

◆ tpetra_mvector_type

template<typename scalar >
typedef Vectors<scalar>::tpetra_mvector_type katoptron::DiscreteProblem< scalar >::tpetra_mvector_type

◆ tpetra_vector_type

template<typename scalar >
typedef Vectors<scalar>::tpetra_vector_type katoptron::DiscreteProblem< scalar >::tpetra_vector_type

◆ xpetra_bcrs_type

template<typename scalar >
typedef Matrices<scalar>::xpetra_bcrs_type katoptron::DiscreteProblem< scalar >::xpetra_bcrs_type

◆ xpetra_bmap_type

template<typename scalar >
typedef Map::xpetra_bmap_type katoptron::DiscreteProblem< scalar >::xpetra_bmap_type

◆ xpetra_bmvector_type

template<typename scalar >
typedef Vectors<scalar>::xpetra_bmvector_type katoptron::DiscreteProblem< scalar >::xpetra_bmvector_type

◆ xpetra_crs_type

template<typename scalar >
typedef Matrices<scalar>::xpetra_crs_type katoptron::DiscreteProblem< scalar >::xpetra_crs_type

◆ xpetra_map_type

template<typename scalar >
typedef Map::xpetra_map_type katoptron::DiscreteProblem< scalar >::xpetra_map_type

◆ xpetra_mvector_type

template<typename scalar >
typedef Vectors<scalar>::xpetra_mvector_type katoptron::DiscreteProblem< scalar >::xpetra_mvector_type

◆ xpetra_tcrs_type

template<typename scalar >
typedef Matrices<scalar>::xpetra_tcrs_type katoptron::DiscreteProblem< scalar >::xpetra_tcrs_type

◆ xpetra_tmap_type

template<typename scalar >
typedef Map::xpetra_tmap_type katoptron::DiscreteProblem< scalar >::xpetra_tmap_type

◆ xpetra_tmvector_type

template<typename scalar >
typedef Vectors<scalar>::xpetra_tmvector_type katoptron::DiscreteProblem< scalar >::xpetra_tmvector_type

◆ xpetra_wcrs_type

template<typename scalar >
typedef Matrices<scalar>::xpetra_wcrs_type katoptron::DiscreteProblem< scalar >::xpetra_wcrs_type

Constructor & Destructor Documentation

◆ DiscreteProblem()

template<typename scalar >
katoptron::DiscreteProblem< scalar >::DiscreteProblem ( Problem pbl,
size_t  _numPrimalDPN,
Teuchos::RCP< Teuchos::ParameterList >  randomParams,
Kokkos::View< scalar *, Kokkos::LayoutLeft >  m_rv_values 
)

DiscreteProblem constructor.

This constructor constructs a katoptron::Map, a katoptron::Domain, a katoptron::Loads, and a katoptron::Algebraic. The last three objects are stored as member data of the katoptron::DiscreteProblem object and include all the information related to the problem to solve. See the documentation of the member data for more information on the purpose of each class.

Arguments:

  • A problem object,
  • An RCP to a ParameterList object which describes the random fields,
  • A Kokkos View of the values used in the discretization of the random fields.

◆ ~DiscreteProblem()

template<typename scalar >
katoptron::DiscreteProblem< scalar >::~DiscreteProblem ( )
inline

Member Function Documentation

◆ computeContactMatrices()

template<typename scalar >
void katoptron::DiscreteProblem< scalar >::computeContactMatrices ( MPI_Comm  comm)

Compute the contacts matrices.

Argument:

  • comm: the used MPI communicator.

◆ computeLoads()

template<typename scalar >
void katoptron::DiscreteProblem< scalar >::computeLoads ( bool  scaled = false)

Compute the rhs.

Argument:

  • scaled: a boolean which describes whether the system is scaled or not.

◆ computeMatrices()

template<typename scalar >
void katoptron::DiscreteProblem< scalar >::computeMatrices ( void  )

Compute the primal matrix.

◆ createBlockMatrix()

template<typename scalar >
void katoptron::DiscreteProblem< scalar >::createBlockMatrix ( scalar  gamma,
bool  write,
bool  merge 
)

Create the block matrix.

Arguments:

  • gamma: the value used for the Augmented Lagrangian formulation,
  • write: a boolean which is used to write matrices on disk or not.

◆ createBlockMVector()

template<typename scalar >
void katoptron::DiscreteProblem< scalar >::createBlockMVector ( bool  write)

Create the block vectors.

Argument:

  • write: a boolean which is used to write vectors on disk or not.

◆ updateActivity()

template<typename scalar >
Mask< scalar > katoptron::DiscreteProblem< scalar >::updateActivity ( int  active_set_iteration)

Update the activity of the Lagrange multipliers and return a Mask which stores true for the converged samples.

Argument:

  • active_set_iteration: ID of the current active set iteration.

Member Data Documentation

◆ algebraic

template<typename scalar >
Teuchos::RCP<Algebraic<scalar> > katoptron::DiscreteProblem< scalar >::algebraic

◆ domain

template<typename scalar >
Teuchos::RCP<Domain<scalar> > katoptron::DiscreteProblem< scalar >::domain

◆ loads

template<typename scalar >
Teuchos::RCP<Loads<scalar> > katoptron::DiscreteProblem< scalar >::loads

◆ numPrimalDPN

template<typename scalar >
size_t katoptron::DiscreteProblem< scalar >::numPrimalDPN

◆ old_activity

template<typename scalar >
Kokkos::View<scalar *, Kokkos::LayoutRight> katoptron::DiscreteProblem< scalar >::old_activity
private

◆ old_old_activity

template<typename scalar >
Kokkos::View<scalar *, Kokkos::LayoutRight> katoptron::DiscreteProblem< scalar >::old_old_activity
private

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