Skip to content
Apex
Developers · Cookbook

Recipes for real workloads.

Worked examples of Aether doing the work. Every recipe is a real call against the API — runnable, with a known artefact and a measured runtime. The shape your engineers can lift directly into their pipeline.

  • Recipe 01 · Engineering · multiphysics

    Couple thermal and structural across a transient load

    Stream a coupled thermal-structural rollout on a turbine blade, watch max stress and tip temperature evolve, steer the rollout when a margin is approached.

    Artefact returned
    Trajectory · stress field · tip-temp history
    Typical runtime
    ~12 s wall · 12 CU
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    traj = simos.simulate(
        domain="multiphysics",
        geometry=open("blade.step", "rb").read(),
        physics=["thermal", "structural"],
        boundary_conditions={
            "inlet":  {"T": 1450, "p": 2.2e6},
            "outlet": {"p": 1.0e5},
            "root":   {"fixed": True},
        },
        horizon_s=12.0,
        stream=True,
    )
    
    for step in traj:
        print(step.time, step.max_stress_MPa, step.tip_temperature_K)
        if step.max_stress_MPa > 850:
            traj.steer(redesign="root_fillet+1.5mm")
  • Recipe 02 · Drug discovery

    Run a FEP+ binding-affinity campaign over a ligand library

    Score a 120-ligand library against four protein targets with alchemical FEP. Returns relative ΔΔG and per-edge uncertainty.

    Artefact returned
    Ranked ligand list · ΔΔG table · convergence diagnostics
    Typical runtime
    ~6 h wall · 1,200 CU
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    campaign = simos.fep(
        targets=["pdb:1abc", "pdb:2def", "pdb:3ghi", "pdb:4jkl"],
        library="s3://my-bucket/ligands.sdf",
        reference="ligand_001",
        method="fep+",
        convergence={"target_se_kcal_per_mol": 0.3},
    )
    
    for edge in campaign.edges():
        print(edge.target, edge.ligand, edge.ddg_kcal_per_mol, edge.se)
  • Recipe 03 · Semiconductors

    RTL → GDS at 7nm with PPA targets

    Compile Verilog to placed-and-routed GDS at a 7nm predictive PDK with PPA targets and DRC clean. Returns the database with a signed manifest.

    Artefact returned
    GDS · timing report · power report · DRC clean
    Typical runtime
    ~4 h wall · 96 CU
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    run = simos.rtl_synthesise(
        rtl="s3://my-bucket/cpu_core.v",
        pdk="asap7-predictive",
        targets={"freq_mhz": 1800, "area_um2": 92000, "power_mw": 380},
        enable=["dft", "lvs", "drc"],
    )
    
    print(run.wns_ns, run.area_um2, run.power_mw, run.drc_clean)
  • Recipe 04 · Software

    Plan and execute a whole-repo migration

    Migrate a Python 3.8 codebase to 3.12 with type-checking enabled. The agent reads the repo, writes a plan, runs the migration, runs the tests, and opens the PR.

    Artefact returned
    Diff · plan · test report · CVE scan · drafted PR description
    Typical runtime
    ~20 min wall · 60M output tokens
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    edit = simos.code_edit(
        repo="s3://my-bucket/repo.tar",
        intent=(
            "Migrate from Python 3.8 to 3.12. Enable strict mypy. "
            "Update every async-deprecated call. Add tests for type changes. "
            "Open a PR per top-level package."
        ),
        policy={"max_files_changed": 800, "require_tests_pass": True},
    )
    
    for pr in edit.pull_requests():
        print(pr.title, pr.files_changed, pr.tests_status)
  • Recipe 05 · Autonomous labs

    Plan an active-learning lab campaign

    Bind a wet-lab campaign — antibody developability screening — to plate-reader and liquid-handler resources. The agent schedules plates, allocates instruments, and writes the run protocol.

    Artefact returned
    Runnable plan · plate maps · chain-of-custody
    Typical runtime
    ~3 min wall · negligible CU
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    plan = simos.lab_plan(
        objective="antibody developability screening · n=96 candidates",
        assays=["thermal_stability", "aggregation_propensity", "hERG"],
        instruments=["plate_reader_01", "liquid_handler_03", "biacore_02"],
        constraints={"weeks": 4, "max_plates_per_day": 12},
    )
    
    print(plan.plates, plan.instrument_schedule, plan.expected_results)
  • Recipe 06 · Materials

    Screen a million candidate compositions for a target property

    DFT + ML-potential active-learning screen over 10⁶ candidate compositions for high ionic conductivity at room temperature. Top-100 candidates flagged for synthesis.

    Artefact returned
    Ranked composition list · uncertainty · synthesis routes
    Typical runtime
    ~10 h wall · 2,400 CU
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    screen = simos.materials_screen(
        target_property="ionic_conductivity",
        target_value={"min_S_per_cm": 1e-2, "temp_K": 300},
        composition_space="Li-La-Zr-O + dopants",
        method="dft+ml_potential+active_learning",
        n_candidates=1_000_000,
        n_to_surface=100,
    )
    
    for c in screen.top():
        print(c.composition, c.predicted_conductivity, c.synthesis_route)
  • Recipe 07 · Aerospace

    Run an ascent CFD trajectory through transonic and supersonic

    Mach 0.8 → Mach 2.4 ascent on a reusable launcher. Stream the trajectory with drag, lift, base-pressure as it climbs. Validates against flight-test data on the way up.

    Artefact returned
    Pressure contours · drag polar · base-pressure history
    Typical runtime
    ~8 h wall · 1,800 CU
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    ascent = simos.simulate(
        domain="cfd",
        geometry=open("launcher.step", "rb").read(),
        regime={"mach": [0.8, 2.4], "altitude_km": [0, 18]},
        flight_data="s3://my-bucket/flight_007.csv",
        stream=True,
    )
    
    for step in ascent:
        print(step.time, step.mach, step.cd, step.base_pressure_pa)
  • Recipe 08 · Fusion · energy

    Solve tokamak MHD equilibrium for a D-shaped plasma

    ITER-like D-shaped plasma · q-profile evolution · 18 MW/m² divertor heat-flux. Couples to the breeding-blanket neutronics and the magnet structural model.

    Artefact returned
    Equilibrium field · q-profile · divertor heat-flux map
    Typical runtime
    ~3 h wall · 480 CU
    from apex import Aether
    
    simos = Aether(api_key=os.environ["APEX_API_KEY"])
    
    eq = simos.simulate(
        domain="mhd",
        geometry="iter-like-d-shape",
        plasma={"Bt_T": 5.3, "Ip_MA": 15.0, "q95": 3.0},
        couplings=["divertor_thermal", "blanket_neutronics", "magnet_structural"],
    )
    
    print(eq.q_profile, eq.peak_divertor_flux_mw_m2)
What to take from these recipes

The pattern is the same every time.

You describe the workload, the constraints and the artefact you want — and Aether plans the work, runs it, validates against measured reality and hands back the deliverable. The recipes look small because the model is doing the hard part.

One call, one artefact

Every recipe boils down to one API call that returns a known artefact. No glue scripts, no shared filesystems, no CSV trade.

Tools the model picks

Solvers, instruments, EDA passes, lab equipment — registered as tools. The model decides what to call and when, under your capability policy.

Cost is honest

Each recipe lists tokens, compute-units and seat usage. The bill you get matches the recipe — no token-cost surprises hidden behind solver runs.

Adapt one to your stack.

Pick the recipe closest to your workload, swap in your geometry / target / repo, and run it. If your workload is novel, send it and we'll co-author the recipe with you.