PRISMS-PF Manual
Loading...
Searching...
No Matches
SolutionLevel< dim, number > Struct Template Reference

The solution vectors and their corresponding matrix free object with respect to some multigrid level. More...

#include <group_solution_handler.h>

Collaboration diagram for SolutionLevel< dim, number >:
[legend]

Public Attributes

BlockVector< numbersolutions
 
std::vector< BlockVector< number > > old_solutions
 
MatrixFree< dim, numbermatrix_free
 

Detailed Description

template<unsigned int dim, typename number>
struct SolutionLevel< dim, number >

The solution vectors and their corresponding matrix free object with respect to some multigrid level.

solutions is a block vector of all the fields that we keep track of at this level. old_solutions is a vector of with length equal to the number of old states we keep track old. Importantly, for each std::vector entry the block vector has the same shape as solutions. matrix_free is the dealii::MatrixFree object that belongs to the solutions and old_solutions for this level.

Remarks
There is a [minor] optimization we could make regarding the old solutions. If a user wants to store up the 2nd old state, we allocate up to the 2nd old state for all fields. This behavior is indiscriminate on whether the user actually needs those vectors, so we could not do that. However, it's painful to deal with and will likely only show minor performance improvements.

Member Data Documentation

◆ matrix_free

template<unsigned int dim, typename number >
MatrixFree<dim, number> SolutionLevel< dim, number >::matrix_free

◆ old_solutions

template<unsigned int dim, typename number >
std::vector<BlockVector<number> > SolutionLevel< dim, number >::old_solutions

◆ solutions


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