Coordinate systems (numerical)
The same operators with derivatives by automatic differentiation. Usage: Numerical coordinate systems.
The accessors listed under Coordinate systems — lame_coefficients, christoffel, normalized_basis, natural_basis, unitvec, natvec — all take an extra point argument here.
TensND.PointwiseGeometry Type
PointwiseGeometry{X,R,G} <: AbstractGeometryThe geometry of a chart as three functions of the point x (an AbstractVector of coordinates), for differential operators by automatic differentiation:
χ_func(x): the Lamé coefficients atx;R_func(x): the rotation matrix whose columns are the unit vectors of the normalized basis atx, in Cartesian components;Γ_func(x): the Christoffel symbols atx,Γ[i,j,k] = Γᵏᵢⱼ.
A CoordinateSystem of this geometry takes fields as functions of the point and returns functions of the point: grad(f, CS) is x₀ -> ∇f(x₀). The bases and the Lamé coefficients depend on the point too, and are read with it: normalized_basis(CS, x₀), lame_coefficients(CS, x₀), ….
Predefined: coorsys_cartesian(PointwiseGeometry), coorsys_polar(PointwiseGeometry), coorsys_cylindrical(PointwiseGeometry), coorsys_spherical(PointwiseGeometry), each with an optional element type (Float64 by default); any chart from its position vector with CoordinateSystem(OM_func, dim, T).