API
Boundary Types
PenguinBCs.AbstractBoundary — Type
Abstract supertype for boundary conditions on the domain boundary.
PenguinBCs.Dirichlet — Type
Dirichlet boundary condition u = value.
PenguinBCs.Neumann — Type
Neumann boundary condition ∂ₙu = value.
PenguinBCs.Robin — Type
Robin boundary condition α*u + β*∂ₙu = value.
PenguinBCs.Periodic — Type
Periodic boundary marker.
PenguinBCs.Traction — Type
Prescribed Cauchy traction boundary condition σn = value.
PenguinBCs.PressureOutlet — Type
Pressure-outlet boundary condition with exterior pressure p_out.
For Stokes solvers this maps to σn = -p_out n.
PenguinBCs.DoNothing — Type
Homogeneous traction boundary condition σn = 0.
PenguinBCs.Inflow — Type
Advection inflow boundary condition u⋅n < 0: impose transported scalar value.
PenguinBCs.Outflow — Type
Advection outflow boundary marker u⋅n ≥ 0: no imposed scalar data.
PenguinBCs.BorderConditions — Type
Container for boundary conditions indexed by side symbols.
PenguinBCs.validate_borderconditions! — Function
Validate periodic side pairing for BorderConditions in dimension N.
Supported dimensions are 1, 2, and 3. Opposite sides must both be periodic or both non-periodic.
Interface Types
PenguinBCs.AbstractInterfaceBC — Type
Abstract supertype for interface conditions across an internal interface.
PenguinBCs.ScalarJump — Type
Scalar jump condition α₁*u₁ - α₂*u₂ = value.
PenguinBCs.FluxJump — Type
Flux jump condition β₁*∂ₙu₁ - β₂*∂ₙu₂ = value.
PenguinBCs.RobinJump — Type
Robin-type jump condition α*[u] + β*[∂ₙu] = value.
PenguinBCs.HarmonicAnisotropy — Type
2D harmonic anisotropy descriptor for Gibbs-Thomson coefficients.
Stored parameters:
ϵ: anisotropy amplitude (scalar or callback)m: symmetry fold (m=4by default)θ0: orientation offset angle (scalar or callback)use_stiffness: whentrue, Stefan may use stiffness correction1 + ϵ(1-m^2)cos(m(θ-θ0))for capillarity.
PenguinBCs.GibbsThomson — Type
Gibbs-Thomson thermodynamic correction used by Stefan solvers.
Base isotropic coefficients:
capillary: curvature coefficientσ_κkinetic: kinetic coefficientμ_Γ
Optional 2D harmonic anisotropy descriptors:
capillary_anisotropykinetic_anisotropy
The complete interface law is applied by Stefan code as: TΓ = Tm - capillary_eff*κΓ - kinetic_eff*VΓ.
PenguinBCs.AlloyEquilibrium — Type
Alloy equilibrium interface descriptor for binary-alloy sharp-interface models.
Stored coefficients:
k_partition: partition ratioC_{s\Gamma} = k\,C_{l\Gamma}T_m: reference melting temperaturem_liquidus: liquidus slope inT_\Gamma = T_m + m\,C_{l\Gamma}
PenguinBCs.InterfaceConditions — Type
Container for scalar and flux interface conditions.
Evaluation
PenguinBCs.eval_bc — Function
Evaluate a boundary/interface value at spatial point x and time t.
v may be:
Float64(returned directly),- a callback
(x...), - or a callback
(x..., t).