hexed 0.4.0
 
Loading...
Searching...
No Matches
hexed::Expression_bc Class Reference

Sets the boundary condition explicitly based on a HIL expression. More...

#include <Boundary_condition.hpp>

Inheritance diagram for hexed::Expression_bc:
hexed::Flow_bc

Public Member Functions

 Expression_bc (Interpreter &, std::string state_expr, std::string flux_expr)
 
void apply_state (Boundary_connection &bf) override
 applies boundary condition to state variables (Dirichlet BCs)
 
void apply_flux (Boundary_connection &bf) override
 applies boundary condition to viscous fluxes (if applicable)
 
bool smooth () const override
 Returns false if this BC tends to cause the flow not to be smooth.
 
- Public Member Functions inherited from hexed::Flow_bc
virtual void apply_advection (Boundary_connection &)
 applies boundary condition to linear advection equation used to compute nonsmoothness indicator
 
virtual void apply_diffusion (Boundary_connection &)
 
virtual void flux_diffusion (Boundary_connection &)
 
virtual void init_cache (Boundary_connection &)
 
virtual int n_prescribed (int n_dim) const
 
virtual void set_prescribed (Interpreter &, Boundary_connection &)
 

Detailed Description

Sets the boundary condition explicitly based on a HIL expression.

Member Function Documentation

◆ apply_flux()

void hexed::Expression_bc::apply_flux ( Boundary_connection & )
inlineoverridevirtual

applies boundary condition to viscous fluxes (if applicable)

Implements hexed::Flow_bc.

◆ apply_state()

void hexed::Expression_bc::apply_state ( Boundary_connection & )
inlineoverridevirtual

applies boundary condition to state variables (Dirichlet BCs)

writes to the first n_var()*size() entries of ghost_state() (called on the provided Boundary_face.)

Implements hexed::Flow_bc.

◆ smooth()

bool hexed::Expression_bc::smooth ( ) const
inlineoverridevirtual

Returns false if this BC tends to cause the flow not to be smooth.

Farfield BCs should be expected to cause non-smoothness, especially if they are over-constrained, whereas wall boundary conditions should not. When performing AMR, cells on non-smooth boundaries will receive special treatment to avoid excessive refinement. So, when in doubt, have new boundary conditions return true so that they can be refined.

Implements hexed::Flow_bc.


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