cbcflow.utils.schemes module

Utility functions used some or all of the different schemes.

Classes

class cbcflow.utils.schemes.RhsGenerator(space)

Bases: object

Class for storing the instructions to create the RHS vector b. The two main purposes of this class are:

  • make it easy to define the LHS and RHS in the same place
  • make it easy to generate RHS from matrix-XXX products, where XXX may be either * a Constant (which can be projected to a vector at once) * an Expression (which must be projected each time, because its parameters may change) * a Function

Functions

cbcflow.utils.schemes.make_rhs_pressure_bcs(problem, spaces, bcs, v)
cbcflow.utils.schemes.assign_ics_mixed(up0, spaces, ics)
cbcflow.utils.schemes.assign_ics_split(u0, p0, spaces, ics)
cbcflow.utils.schemes.compute_regular_timesteps(problem)

Compute fixed timesteps for problem.

Returns (dt, t0, timesteps), where timesteps does not include t0.

cbcflow.utils.schemes.make_segregated_velocity_bcs(problem, spaces, bcs)
cbcflow.utils.schemes.make_velocity_bcs(problem, spaces, bcs)
cbcflow.utils.schemes.assign_ics_segregated(u0, p0, spaces, ics)
cbcflow.utils.schemes.make_pressure_bcs(problem, spaces, bcs)
cbcflow.utils.schemes.iround(x)
cbcflow.utils.schemes.make_penalty_pressure_bcs(problem, spaces, bcs, gamma, test, trial)