Skip to content

API overview ​

The public interface, grouped by theme. Every exported name appears on exactly one of the pages below; the last one is a catch-all that lists anything not yet curated, so a newly exported symbol can never go undocumented.

PageCovers
Basesbasis types, metric, accessors, init_*
TensorsAbstractTens, Tens, components, Kelvin-Mandel
Structured tensorsTensISO and the isotropic projectors
Walpole and orthotropyTensTI, TensOrtho, parametrizations
Cubic symmetryTensCubic, three constants and a cube frame
Projectionproject, best_sym_tens, predicates
Special tensorsLevi-Civita, rotations, unit vectors, random tensors
Coordinate systemsCoordinateSystem, its exact geometry and the operators
Numerical coordinate systemsPointwiseGeometry
SubmanifoldsSubmanifold and its accessors
Symbolic helperstsimplify, tsubs, and the array algebra
Full indexeverything, alphabetically

Renamed in 0.11 ​

TensND 0.11 names each operation after what it does. The former names are removed, without a deprecation period, as are those 0.8 had deprecated (KM, tens_TI, Walpole, coorsys_*_num, …: the changelog lists them with their successors). The moduli keep their symbols as exact aliases: E_nu, k_mu, mu_nu and iso_stiffness_E_nu are young_poisson, bulk_shear, shear_poisson and iso_stiffness_young_poisson.

Name in 0.10Name in 0.11
change_tens(t, ℬ[, var]), change_tens(t, var)express(t, ℬ[, var]), express(t, var)
change_tens_canon(t), components_canon(t)canonical(t), canonical_components(t)
mandel66_minor(A), mandel33_minor(A), mandel66(A)mandel(A; symmetrize = true)
array_from_mandel66(M), array_from_mandel33(M)from_mandel(M) (its components: get_array(from_mandel(M)))
tens_ti(C…, n), ti_args(t)ti_from_constants(C…, n), ti_constants(t)
tens_ti_eng(…), ti_args_eng(t)ti_from_constants(…; form = :engineering), ti_constants(t; form = :engineering)
tens_ti_hoenig(…), ti_args_hoenig(t)ti_from_constants(…; form = :hoenig), ti_constants(t; form = :hoenig)
tens_cubic(C₁₁, C₁₂, C₄₄, frame), arg_cubic(t)cubic_from_constants, cubic_constants
get_ℓ(t), get_ℓ8(t)walpole_coeffs(t), walpole_coeffs(t, Val(8))
getcoordsget_coords
rot2(θ), rot3(θ, ϕ, ψ), rot6(θ, ϕ, ψ)rotation_matrix(θ), rotation_matrix(θ, ϕ, ψ), rotation_tensor4(θ, ϕ, ψ)
proj_tens(:TI, A, n)project(A, :TI, n)
ti_average_mandel66, iso_average_mandel66, ti_average_mat33ti_average_mandel, iso_average_mandel, ti_average_matrix

divergence is Tensors.jl's function, extended to the coordinate systems, so that using TensND, Tensors leaves one divergence. The Hessian is hess, not hessian: SymPy, which TensND loads, exports a hessian of its own, and the same name would have made using TensND, SymPyPythonCall ambiguous.