zoomy_core.model.derivation.transformations#
Coordinate transformations applied to a Model: the vertical sigma map z -> zeta and a channel-fitted (s, n) map. Both are Model-level rewrites that sit between the 3-D Model and the depth-projection that builds the SystemModel.
Module Contents#
Classes#
Sigma map |
|
Orthogonal map |
API#
- class zoomy_core.model.derivation.transformations.PDETransformation(coord_map, *, decorate='tilde', name='pde_transformation', description=None)#
Bases:
zoomy_core.model.operations.OperationSigma map
z = b + h*zetathat rewrites every fieldf(t, x, z)to a decoratedf~(t, x, zeta)via the chain rule on Derivative nodes. Model-level only (model.apply(...)); it also sigma-maps stored boundary conditions and records the map on the model.Initialization
Build the map from
{z: (zeta, Eq(z, b + h*zeta))};decoratepicks the accent (tilde, hat, bar, check).- transforms_bcs#
True
- whole_model_op#
True
- property jacobian#
Vertical Jacobian
dz/dzeta = h.
- decorated(field)#
Return the decorated counterpart
u~(t, x, zeta)of a physical field application, or the field itself if its head was never decorated.
- apply_to_model(model)#
Rewrite coordinates, all equations and stored assumptions, then publish the decoration map and move the unknowns to the decorated heads.
- class zoomy_core.model.derivation.transformations.ParametrizedGeometry(centreline, coords, new_coords, *, decorate='tilde', name='parametrized_geometry', description=None)#
Bases:
zoomy_core.model.operations.OperationOrthogonal map
X(s, n) = r(s) + n N(s)of a Cartesian pair (x, y) onto coordinates fitted to a planar centreliner(s). Curvature, metricm = 1 - kappa nand the chain rule on Derivative nodes are all derived from the curve;kappa = 0is the identity.Initialization
Derive speed, curvature, tangent, normal and metric from
centreline(2-vector in the new parameter) and the old/new coordinate pairs.- property kappa#
Signed curvature of the centreline.
- property metric#
Streamwise scale factor
m = 1 - kappa n.
- property jacobian#
Area element factor
m(dA = m dn ds).
- admissible(half_width)#
Condition
m > 0across a section of the given half width.