8 #ifndef UNITTESTLINEARSYSTEM_H 9 #define UNITTESTLINEARSYSTEM_H 42 const stk::mesh::Entity* entities,
47 const char * trace_tag
51 rhs_ = Kokkos::View<double*>(
"rhs_",rhs.dimension(0));
52 for(
size_t i=0; i<rhs.dimension(0); ++i) {
55 lhs_ = Kokkos::View<double**>(
"lhs_",lhs.dimension(0), lhs.dimension(1));
56 for(
size_t i=0; i<lhs.dimension(0); ++i) {
57 for(
size_t j=0; j<lhs.dimension(1); ++j) {
66 const std::vector<stk::mesh::Entity> & sym_meshobj,
67 std::vector<int> &scratchIds,
68 std::vector<double> &scratchVals,
69 const std::vector<double> &
rhs,
70 const std::vector<double> &
lhs,
71 const char *trace_tag=0
76 stk::mesh::FieldBase * solutionField,
77 stk::mesh::FieldBase * bcValuesField,
79 const unsigned beginPos,
80 const unsigned endPos)
84 const unsigned beginPos,
85 const unsigned endPos)
89 virtual int solve(stk::mesh::FieldBase * linearSolutionField) {
return -1; }
92 virtual void writeToFile(
const char * filename,
bool useOwned=
true) {}
96 std::vector<stk::mesh::Entity> nodeList,
97 const unsigned beginPos,
98 const unsigned endPos) {}
TestLinearSystem(sierra::nalu::Realm &realm, const unsigned numDof, sierra::nalu::EquationSystem *eqSys)
Definition: UnitTestLinearSystem.h:20
virtual void buildFaceToNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:28
virtual ~TestLinearSystem()
Definition: UnitTestLinearSystem.h:24
std::vector< Part * > PartVector
Definition: Algorithm.h:16
Definition: ABLForcingAlgorithm.C:26
virtual void buildEdgeToNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:29
virtual void writeSolutionToFile(const char *filename, bool useOwned=true)
Definition: UnitTestLinearSystem.h:93
LinearSystem(Realm &realm, const unsigned numDof, EquationSystem *eqSys, LinearSolver *linearSolver)
Definition: LinearSystem.C:45
virtual void sumInto(unsigned numEntities, const stk::mesh::Entity *entities, const sierra::nalu::SharedMemView< const double * > &rhs, const sierra::nalu::SharedMemView< const double ** > &lhs, const sierra::nalu::SharedMemView< int * > &localIds, const sierra::nalu::SharedMemView< int * > &sortPermutation, const char *trace_tag)
Definition: UnitTestLinearSystem.h:40
virtual void prepareConstraints(const unsigned beginPos, const unsigned endPos)
Definition: UnitTestLinearSystem.h:83
virtual void buildOversetNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:34
Kokkos::View< double * > rhs_
Definition: UnitTestLinearSystem.h:102
virtual void beginLinearSystemConstruction()
Definition: UnitTestLinearSystem.h:105
unsigned numDof() const
Definition: LinearSystem.h:117
virtual void checkError(const int err_code, const char *msg)
Definition: UnitTestLinearSystem.h:106
static constexpr double lhs[8][8]
Definition: UnitTestContinuityAdvElem.C:25
virtual void buildFaceElemToNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:32
Definition: UnitTestFieldUtils.C:10
Base class representation of a PDE.
Definition: EquationSystem.h:46
unsigned numSumIntoCalls_
Definition: UnitTestLinearSystem.h:100
virtual void buildNonConformalNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:33
virtual void applyDirichletBCs(stk::mesh::FieldBase *solutionField, stk::mesh::FieldBase *bcValuesField, const stk::mesh::PartVector &parts, const unsigned beginPos, const unsigned endPos)
Definition: UnitTestLinearSystem.h:75
static constexpr double rhs[8]
Definition: UnitTestContinuityAdvElem.C:18
Kokkos::View< double ** > lhs_
Definition: UnitTestLinearSystem.h:101
virtual void finalizeLinearSystem()
Definition: UnitTestLinearSystem.h:35
virtual void sumInto(const std::vector< stk::mesh::Entity > &sym_meshobj, std::vector< int > &scratchIds, std::vector< double > &scratchVals, const std::vector< double > &rhs, const std::vector< double > &lhs, const char *trace_tag=0)
Definition: UnitTestLinearSystem.h:65
virtual void buildNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:27
Kokkos::View< T, Kokkos::LayoutRight, DeviceShmem, Kokkos::MemoryUnmanaged > SharedMemView
Definition: KokkosInterface.h:25
virtual void resetRows(std::vector< stk::mesh::Entity > nodeList, const unsigned beginPos, const unsigned endPos)
Reset LHS and RHS for the given set of nodes to 0.
Definition: UnitTestLinearSystem.h:95
virtual void zeroSystem()
Definition: UnitTestLinearSystem.h:38
virtual int solve(stk::mesh::FieldBase *linearSolutionField)
Definition: UnitTestLinearSystem.h:89
Definition: UnitTestLinearSystem.h:16
virtual void loadComplete()
Definition: UnitTestLinearSystem.h:90
virtual void writeToFile(const char *filename, bool useOwned=true)
Definition: UnitTestLinearSystem.h:92
Definition: LinearSystem.h:40
virtual void buildElemToNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:30
virtual void buildReducedElemToNodeGraph(const stk::mesh::PartVector &parts)
Definition: UnitTestLinearSystem.h:31