 |
waves
Basic FE playground
|
Go to the documentation of this file. 1 #ifndef KATOPTRON_DISCRETEPROBLEM_H
2 #define KATOPTRON_DISCRETEPROBLEM_H
12 #include <Xpetra_Map.hpp>
13 #include <Xpetra_TpetraMap.hpp>
14 #include <Xpetra_BlockedMap.hpp>
15 #include <Xpetra_BlockedCrsMatrix.hpp>
16 #include <Xpetra_BlockedMultiVector.hpp>
17 #include <Xpetra_TpetraCrsMatrix.hpp>
18 #include <Xpetra_TpetraMultiVector.hpp>
19 #include <Xpetra_CrsMatrixWrap.hpp>
39 template <
typename scalar>
53 typedef Tpetra::Export<local_ordinal_type, global_ordinal_type>
export_type;
73 Teuchos::RCP<Loads<scalar>>
loads;
79 Teuchos::RCP<Teuchos::ParameterList> randomParams,
80 Kokkos::View<scalar *, Kokkos::LayoutLeft> m_rv_values);
84 std::cout <<
"~DiscreteProblem()\n";
99 #endif //KATOPTRON_DISCRETEPROBLEM_H
int local_ordinal_type
Definition: Map.h:27
Map::xpetra_bmap_type xpetra_bmap_type
Definition: DiscreteProblem.h:58
Xpetra::CrsMatrixWrap< scalar, local_ordinal_type, global_ordinal_type, node_type > xpetra_wcrs_type
Definition: Matrices.h:62
Xpetra::TpetraCrsMatrix< scalar, local_ordinal_type, global_ordinal_type, node_type > xpetra_tcrs_type
Definition: Matrices.h:64
Matrices< scalar >::xpetra_tcrs_type xpetra_tcrs_type
Definition: DiscreteProblem.h:70
Matrices< scalar >::xpetra_wcrs_type xpetra_wcrs_type
Definition: DiscreteProblem.h:68
Teuchos::RCP< Algebraic< scalar > > algebraic
Definition: DiscreteProblem.h:74
int global_ordinal_type
Definition: Map.h:28
Map::global_ordinal_type global_ordinal_type
Definition: DiscreteProblem.h:51
Vectors< scalar >::xpetra_tmvector_type xpetra_tmvector_type
Definition: DiscreteProblem.h:64
Kokkos::View< scalar *, Kokkos::LayoutRight > old_activity
Definition: DiscreteProblem.h:44
Vectors< scalar >::xpetra_bmvector_type xpetra_bmvector_type
Definition: DiscreteProblem.h:62
size_t numPrimalDPN
Definition: DiscreteProblem.h:76
Matrices< scalar >::tpetra_crs_type tpetra_crs_type
Definition: DiscreteProblem.h:66
Map::xpetra_tmap_type xpetra_tmap_type
Definition: DiscreteProblem.h:57
Xpetra::CrsMatrix< scalar, local_ordinal_type, global_ordinal_type, node_type > xpetra_crs_type
Definition: Matrices.h:61
Xpetra::Map< local_ordinal_type, global_ordinal_type, node_type > xpetra_map_type
Definition: Map.h:31
Kokkos::View< scalar *, Kokkos::LayoutRight > old_old_activity
Definition: DiscreteProblem.h:43
Map::local_ordinal_type local_ordinal_type
Definition: DiscreteProblem.h:50
Map::xpetra_map_type xpetra_map_type
Definition: DiscreteProblem.h:56
Xpetra::MultiVector< scalar, local_ordinal_type, global_ordinal_type, node_type > xpetra_mvector_type
Definition: Vectors.h:38
Matrices< scalar >::xpetra_crs_type xpetra_crs_type
Definition: DiscreteProblem.h:67
Tpetra::Export< local_ordinal_type, global_ordinal_type > export_type
Definition: DiscreteProblem.h:53
Map::tpetra_map_type tpetra_map_type
Definition: DiscreteProblem.h:55
katoptron namespace
Definition: Algebraic.h:18
Vectors< scalar >::xpetra_mvector_type xpetra_mvector_type
Definition: DiscreteProblem.h:63
void computeMatrices(void)
Compute the primal matrix.
Definition: DiscreteProblem.hpp:831
void computeLoads(bool scaled=false)
Compute the rhs.
Definition: DiscreteProblem.hpp:1041
Tpetra::CrsMatrix< scalar, local_ordinal_type, global_ordinal_type, node_type > tpetra_crs_type
Definition: Matrices.h:58
Tpetra::MultiVector< scalar, local_ordinal_type, global_ordinal_type, node_type > tpetra_mvector_type
Definition: Vectors.h:35
~DiscreteProblem()
Definition: DiscreteProblem.h:82
void computeContactMatrices(MPI_Comm comm)
Compute the contacts matrices.
Definition: DiscreteProblem.hpp:818
Xpetra::BlockedMap< local_ordinal_type, global_ordinal_type, node_type > xpetra_bmap_type
Definition: Map.h:33
Tpetra::Map< local_ordinal_type, global_ordinal_type, node_type > tpetra_map_type
Definition: Map.h:30
Vectors< scalar >::tpetra_vector_type tpetra_vector_type
Definition: DiscreteProblem.h:60
KokkosClassic::DefaultNode::DefaultNodeType node_type
Definition: Map.h:29
Xpetra::TpetraMap< local_ordinal_type, global_ordinal_type, node_type > xpetra_tmap_type
Definition: Map.h:32
Xpetra::TpetraMultiVector< scalar, local_ordinal_type, global_ordinal_type, node_type > xpetra_tmvector_type
Definition: Vectors.h:39
Matrices< scalar >::xpetra_bcrs_type xpetra_bcrs_type
Definition: DiscreteProblem.h:69
Class which is used to specify in Python the thermomechanical to solve.
Definition: wProblem.h:19
Teuchos::RCP< Domain< scalar > > domain
Definition: DiscreteProblem.h:72
Vectors< scalar >::tpetra_mvector_type tpetra_mvector_type
Definition: DiscreteProblem.h:61
Map::node_type node_type
Definition: DiscreteProblem.h:52
Xpetra::BlockedMultiVector< scalar, local_ordinal_type, global_ordinal_type, node_type > xpetra_bmvector_type
Definition: Vectors.h:37
Xpetra::BlockedCrsMatrix< scalar, local_ordinal_type, global_ordinal_type, node_type > xpetra_bcrs_type
Definition: Matrices.h:63
void createBlockMVector(bool write)
Create the block vectors.
Definition: DiscreteProblem.hpp:714
Tpetra::Vector< scalar, local_ordinal_type, global_ordinal_type, node_type > tpetra_vector_type
Definition: Vectors.h:34
DiscreteProblem(Problem &pbl, size_t _numPrimalDPN, Teuchos::RCP< Teuchos::ParameterList > randomParams, Kokkos::View< scalar *, Kokkos::LayoutLeft > m_rv_values)
DiscreteProblem constructor.
Definition: DiscreteProblem.hpp:28
Teuchos::RCP< Loads< scalar > > loads
Definition: DiscreteProblem.h:73
Mask< scalar > updateActivity(int active_set_iteration)
Update the activity of the Lagrange multipliers and return a Mask which stores true for the converged...
Definition: DiscreteProblem.hpp:56
Class which is used to store all the information related to the discretized problem:
Definition: DiscreteProblem.h:40
void createBlockMatrix(scalar gamma, bool write, bool merge)
Create the block matrix.
Definition: DiscreteProblem.hpp:479