Peano
coupling.actionsets.SpreadLimiterStatus.SpreadLimiterStatus Class Reference
Inheritance diagram for coupling.actionsets.SpreadLimiterStatus.SpreadLimiterStatus:
Collaboration diagram for coupling.actionsets.SpreadLimiterStatus.SpreadLimiterStatus:

Public Member Functions

def __init__ (self, solver, guard)
 
def get_body_of_operation (self, operation_name)
 
def get_action_set_name (self)
 
- Public Member Functions inherited from coupling.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet
def __init__ (self, solver)
 
def user_should_modify_template (self)
 
def get_includes (self)
 

Data Fields

 guard
 

Static Public Attributes

string TemplateSpreadLimiterStatus
 

Detailed Description

Definition at line 8 of file SpreadLimiterStatus.py.

Constructor & Destructor Documentation

◆ __init__()

def coupling.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.__init__ (   self,
  solver,
  guard 
)

Definition at line 31 of file SpreadLimiterStatus.py.

Member Function Documentation

◆ get_action_set_name()

def coupling.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.get_action_set_name (   self)
 You should replicate this function in each subclass, so you get 
 meaningful action set names (otherwise, it will be 
 AbstractFVActionSet0,1,2,...).

Reimplemented from coupling.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet.

Definition at line 46 of file SpreadLimiterStatus.py.

◆ get_body_of_operation()

Field Documentation

◆ guard

◆ TemplateSpreadLimiterStatus

string coupling.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.TemplateSpreadLimiterStatus
static
Initial value:
= """
if ( {{PREDICATE}} ) {
if(fineGridCell{{SOLVER_NAME}}CellLabel.getTroubled_Marker()==celldata::{{SOLVER_NAME}}CellLabel::Troubled_Marker::TROUBLED) return;
bool hasTroubledNeighbour = false;
for(int d=0; d<2*DIMENSIONS; d++){
hasTroubledNeighbour |= fineGridFaces{{SOLVER_NAME}}FaceLabel(d).getTroubled_Marker()==facedata::{{SOLVER_NAME}}FaceLabel::Troubled_Marker::TROUBLED;
}
if(hasTroubledNeighbour){
fineGridCell{{SOLVER_NAME}}CellLabel.setTroubled_Marker(celldata::{{SOLVER_NAME}}CellLabel::Troubled_Marker::LIMITER_TO_REGULAR);
for(int d=0; d<2*DIMENSIONS; d++){
fineGridFaces{{SOLVER_NAME}}FaceLabel(d).setTroubled_Marker(
std::max(fineGridFaces{{SOLVER_NAME}}FaceLabel(d).getTroubled_Marker(),
facedata::{{SOLVER_NAME}}FaceLabel::Troubled_Marker::LIMITER_TO_REGULAR
)
);
}
}
}
"""

Definition at line 9 of file SpreadLimiterStatus.py.

Referenced by coupling.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.get_body_of_operation().


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