Skip to content

Macchiato.jlPDEs on scattered point clouds

Define any equation with a small model interface — no mesh, no element quality, no remeshing.

Moka-pot point cloud coloured by temperature

Quick Example ​

Steady-state heat conduction on a unit square, from geometry to temperature field:

julia
using WhatsThePoint, Macchiato
using Unitful: m, °

# 1. Geometry: 1m Ɨ 1m rectangle point cloud
part = PointBoundary(rectangle(1m, 1m)...)
split_surface!(part, 75°)
cloud = discretize(part, ConstantSpacing(1/50 * m))

# 2. Boundary conditions
bcs = Dict(
    :surface1 => Temperature(0.0),    # bottom
    :surface2 => Temperature(0.0),    # right
    :surface3 => Temperature(100.0),  # top
    :surface4 => Temperature(0.0),    # left
)

# 3. Solve
domain = Domain(cloud, bcs, SolidEnergy(k=1.0, ρ=1.0, cā‚š=1.0))
sim = Simulation(domain)
run!(sim)

# 4. Extract results
T = temperature(sim)
extrema(T)   # (coldest, hottest)
(-0.8108837882061088, 100.00000000000016)

That is the whole workflow. Getting Started walks through each step in detail, and Custom PDEs shows how to swap SolidEnergy for an equation of your own.

Installation ​

julia
using Pkg
Pkg.add("Macchiato")

Steady-state temperature on a unit square, and displacement magnitude in a cantilever beam under end shear. See the Examples page for the code behind both.

Why Meshless Methods? ​

Meshless methods operate on scattered point clouds with no connectivity requirements:

  • Simple geometry handling — drop points on the boundary and fill the interior; no element quality concerns

  • Easy refinement — add more points where you need accuracy; no remeshing required

  • Natural for moving boundaries — points move freely without topological constraints

Macchiato.jl uses radial basis function (RBF) collocation, where differential operators are approximated at each point using its local neighborhood of nearest neighbors.

The JuliaMeshless Ecosystem ​

Macchiato.jl is the physics layer of JuliaMeshless — three composable packages that form a complete simulation pipeline.

Built-in Models ​

Macchiato ships with ready-to-use models for common physics. You can also define your own for any PDE.

PhysicsModelStatus
Heat transferSolidEnergySteady-state and transient
Linear elasticityLinearElasticitySteady-state (2D plane stress)
Incompressible fluidsIncompressibleNavierStokesIn development

Next Steps ​

Hero: steady heat conduction solved on a point-cloud moka pot — geometry from 3D Printable Moka Pot by CNC Kitchen (CC BY), rendered by examples/moka_pot.jl.