Loading simulations 0%

DIOGENeS · nanophotonics software from Inria

Simulate light. Optimise designs.

DIOGENeS is Inria's software for the numerical simulation and optimisation of nanophotonic devices. It solves Maxwell's equations in full 3D, on meshes that follow every detail of a design, and searches the design space for the version that works best — before anything is made.

  • Quantum photonics
  • Metasurfaces
  • Photovoltaics
  • Colour

How it simulates

From the mesh up.

A design is meshed into tetrahedra that follow its geometry, and Maxwell's equations are solved in every cell with a high-order discontinuous Galerkin method — in time, or one frequency at a time.

  1. 1

    Tetrahedra that follow every wall

    The geometry is meshed as it is drawn: 8,734 cells on this one plane, fine in the silicon, coarse in the cladding, no staircase on a sidewall.

  2. 2

    A polynomial inside every cell

    Each tetrahedron carries a polynomial of degree 3 or 4 — 20 or 35 nodes per field component. Raising the degree cuts the error by orders of magnitude.

  3. 3

    Cells that talk through their faces

    Neighbouring cells exchange only fluxes across shared faces. The work stays local, splits cleanly over hundreds of cores, and the degree can change from cell to cell.

  4. 4

    Time domain or frequency domain

    One time-domain run follows a pulse and returns every wavelength it carries; the frequency-domain solver works one wavelength at a time with a direct solver. The two agree to a few parts in ten thousand.

The software

Geometry, solvers, analysis, optimisation.

DIOGENeS is a set of components developed by the Atlantis team at Inria since 2015 — modern Fortran, MPI, OpenACC and Python. Together they take a device from its drawing to its best design.

  1. GFactoryGeometry & meshParametric devices on the gmsh Python API; curved tetrahedra on true surfaces.
  2. DGTDTime-domain solverExplicit high-order discontinuous Galerkin, with a GPU version since 2025.
  3. HDGFDFrequency-domain solverHybridisable discontinuous Galerkin with a direct solver and domain decomposition.
  4. ObserverAnalysisFluxes, reflection, transmission, absorption, mode overlaps, diffraction orders, fields.
  5. OptimOptimisationBayesian optimisation that drives the solvers, with surrogate models.

Real materials

Dispersive models fitted to measured data (Drude, Drude–Lorentz, multi-pole), nonlocal models for metals at the nanometre scale.

Open or periodic

Perfectly matched layers, mirror symmetries that halve or quarter a simulation, periodic cells at oblique incidence.

The right source

Plane waves and beams, guided modes injected and projected back, dipoles for quantum emitters, electron beams.

Checked, not trusted

Energy balance on a closed box, convergence in the polynomial degree, time and frequency domain held against each other.

Applications

Nanophotonic and quantum devices.

Waveguides, splitters, couplers and single-photon sources from integrated and quantum photonics — each one simulated in full 3D. Select a case to see its computed field.

    Field Ex

    Ez for the two quantum-dot sources: their dipole lies along z.

    Metasurfaces

    Flat optics, simulated whole.

    Thousands of sub-wavelength pillars, each slightly different, shape a wavefront. DIOGENeS simulates the whole surface at once, every pillar coupled to its neighbours.

    A lens of 361 pillars

    An infrared metalens: fourteen rings of pillars on sapphire, each ring with its own radius, so the delay each pillar imposes changes from the centre to the rim and the flat surface focuses.

    Pillar radius, ring by ring, in the simulated design.

    Five pillars that steer a beam

    A millimetre-wave deflector: a wave arriving at 30° is sent into one diffraction order, on the far side of the normal. Where the transmitted power goes, frequency by frequency:

    Two solvers, one answer

    A mid-infrared deflector simulated twice — in the time domain, and wavelength by wavelength in the frequency domain. Reflection and transmission over 3.5–4.5 µm:

    time domain frequency domain · absorption agrees to 0.0005 on average

    Optimisation

    Let the simulations find the design.

    Every point of a design space is a full simulation. DIOGENeS-Optim fits a statistical model to the simulations done so far, and decides which design to simulate next.

    0 simulations · best —

    The objective here is illustrative; in a real campaign every point is a DIOGENeS simulation of the design. The same loop handles several objectives at once, fabrication tolerances, and simulations run in parallel batches.

    Photovoltaics

    Trapping light in thin films.

    A thinner absorber costs less, but lets the red light through. A textured interface bends it sideways and keeps it inside. DIOGENeS simulates textured multilayer cells and returns the light absorbed in every layer — and the current it can produce.

    Flat or random texture

    Through a flat film, red light makes two passes and leaves. A random texture scatters it sideways, past the angle of total internal reflection: it bounces until it is absorbed. Each block is one period of the film; the glow on its cut faces is where the red light is absorbed.

    From absorption to current

    The absorption computed in the active layer, wavelength by wavelength, gives the photocurrent under the standard solar spectrum:

    Jsc = qhc ∫ A(λ) ΦAM1.5G(λ) λ dλ

    Colour & appearance

    From microstructure to appearance.

    The look of a paint, a coating or a pigment comes from light scattering among countless particles. DIOGENeS simulates it on periodic cells of random particle packings, and reads the colour from the computed spectrum.

    A random packing, in a periodic cell

    Particles are placed at random, never touching, in a cell that repeats sideways: a particle cut by one face comes back in through the opposite one.

    Larger cells, until it converges

    The cell is enlarged — wider, period after period, and deeper — until the computed spectrum no longer changes: the size at which one random cell stands for the whole film.

    Light in, colour out

    White light enters at an angle and scatters. The longer it wanders among the particles, the more of its reds and greens are absorbed: what comes back out of the top is blue — that light is the colour. Some leaves through a side and comes back in through the opposite one; some crosses the whole film.

    Much deeper, until no light gets through

    A real coating is many particles deep. The cell is made deeper still — six times, here — until hardly any light crosses it: what comes back out of the top no longer changes, and neither does the colour.

    From spectrum to colour

    What the simulation returns is a spectrum: how much light comes back, wavelength by wavelength. Seen by the eye in daylight it is a colour — the one the sample is rendered in.

    Illustrative spectrum, not a measured one. Colour by the CIE 1931 observer under D65 daylight.

    Have a design in mind?Let's simulate it.

    DIOGENeS is developed by the Atlantis project-team at the Inria centre at Université Côte d'Azur, with CNRS. We work with academic and industrial partners in collaborative projects.