PRISMS-PF Manual
Loading...
Searching...
No Matches
SolveGroup Class Reference

Structure to hold the attributes of a solve-group. More...

#include <solve_group.h>

Public Types

using EvalFlags = dealii::EvaluationFlags::EvaluationFlags
 
using FieldType = TensorRank
 

Public Member Functions

 SolveGroup (int _id=-1, SolveType _solve_type=Explicit, SolveTiming _solve_timing=Primary, std::set< Types::Index > _field_indices={}, DependencyMap _dependencies_rhs={}, DependencyMap _dependencies_lhs={})
 
bool has_auxiliary_solve () const
 
bool operator< (const SolveGroup &other) const
 
void validate () const
 

Public Attributes

int id
 Unique identifier. Use this in 'if' statements or switch cases in equations lhs and rhs.
 
SolveType solve_type
 PDE type (Constant | Explicit | Linear | Newton).
 
SolveTiming solve_timing
 This is used to determine whether to initialize the solution vector with the initial conditions or just solve.
 
std::set< Types::Indexfield_indices
 Indices of the fields to be solved in this group.
 
DependencyMap dependencies_rhs
 Dependencies for the rhs equation(s)
 
DependencyMap dependencies_lhs
 Dependencies for the lhs equation(s)
 
std::vector< SolveGroupaux_solve_container
 Solves that occur inside the parent solve. This is only really meant for implicit solves with higher order spatial derivatives.
 

Detailed Description

Structure to hold the attributes of a solve-group.

Member Typedef Documentation

◆ EvalFlags

using SolveGroup::EvalFlags = dealii::EvaluationFlags::EvaluationFlags

◆ FieldType

Constructor & Destructor Documentation

◆ SolveGroup()

SolveGroup::SolveGroup ( int  _id = -1,
SolveType  _solve_type = Explicit,
SolveTiming  _solve_timing = Primary,
std::set< Types::Index _field_indices = {},
DependencyMap  _dependencies_rhs = {},
DependencyMap  _dependencies_lhs = {} 
)
inlineexplicit

Member Function Documentation

◆ has_auxiliary_solve()

bool SolveGroup::has_auxiliary_solve ( ) const
inline

◆ operator<()

bool SolveGroup::operator< ( const SolveGroup other) const
inline

◆ validate()

void SolveGroup::validate ( ) const
inline

Member Data Documentation

◆ aux_solve_container

std::vector<SolveGroup> SolveGroup::aux_solve_container

Solves that occur inside the parent solve. This is only really meant for implicit solves with higher order spatial derivatives.

◆ dependencies_lhs

DependencyMap SolveGroup::dependencies_lhs

Dependencies for the lhs equation(s)

◆ dependencies_rhs

DependencyMap SolveGroup::dependencies_rhs

Dependencies for the rhs equation(s)

◆ field_indices

std::set<Types::Index> SolveGroup::field_indices

Indices of the fields to be solved in this group.

◆ id

int SolveGroup::id

Unique identifier. Use this in 'if' statements or switch cases in equations lhs and rhs.

◆ solve_timing

SolveTiming SolveGroup::solve_timing

This is used to determine whether to initialize the solution vector with the initial conditions or just solve.

◆ solve_type

SolveType SolveGroup::solve_type

PDE type (Constant | Explicit | Linear | Newton).


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