Skip to main content
Glama

Batch SCAPS simulations

scaps_batch

Run SCAPS simulations across many parameter values in grid or zip mode and tabulate J-V metrics for every point, keeping per-point files for later analysis and plotting.

Instructions

Run one SCAPS session over many parameter values and tabulate the J-V metrics of every point.

Covers thickness, doping, defect, band offset, temperature, intensity and bias studies. Every point's files are kept for scaps_results and scaps_plot.

Input Schema

NameRequiredDescriptionDefault
modeNogrid runs every combination; zip pairs the lists element-wise.grid
actionsNoSCAPS action commands, e.g. {'iv.startV': 0, 'iv.stopV': 1.2, 'iv.increment': 0.02, 'qe.startlambda': 300, 'cf.points.per.decade': 5, 'intensity.ND': 1, 'spectrumcutoff.on': null, 'spectrumcutoff.longlambda': 800}. Omitted settings keep SCAPS defaults.
profilesNoSpatial results at the working point voltage: eb (bands, quasi-Fermi levels, carriers, field, currents, generation and recombination rates) and genrec (occupation of every defect level); ac (small signal) at the last point of a cv or cf measurement.
spectrumNoSpectrum file in SCAPS spectrum/; default AM1.5G 1 sun.
variablesYesSet or action keys and their values, e.g. {'layer1.thickness': [0.3, 0.5, 1]} or {'workingpoint.temperature': [280, 300, 320], 'intensity.ND': [0, 1, 2]}.
definitionYesDefinition file in SCAPS def/, e.g. 'example CIGS.def'.
parametersNoOrdered SCAPS set commands in script units, e.g. {'layer1.thickness': 2, 'layer1.NA': 1e16, 'layer1.defect1.Ntotal': 1e14, 'layer1.defect1.singleacceptor': null, 'interface1.IFdefect1.Ntotal': 1e10, 'contactleft.flatband.off': null, 'contactleft.workfunction': 5.1, 'external.Rs': 0.5, 'illumination.fromleft': null, 'numerical.Shockley-Queisser_limit.always': null}. null marks commands without a value.
illuminationNoCalculate under the spectrum or in the dark.light
measurementsNoMeasurements: iv (J-V), qe, cv, cf. May be empty when profiles are requested.
wait_secondsNoWait this long for the result; longer runs continue as a job.
temperature_kNoWorking point temperature in K.

Output Schema

NameRequiredDescriptionDefault
checksYes
pointsYes
run_idYes
statusYes
secondsYes
progressYes
variablesYes
definitionYes
measurementsYes
scaps_errorsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (not read-only, not idempotent, not destructive, closed-world), so the bar is lower. The description adds one genuinely useful behavior beyond the schema: every point's files are persisted for scaps_results and scaps_plot. It does not warn about combinatorial cost for grid mode, partial failures in a batch, or long-run job behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action front-loaded and the file-retention note placed after. Nothing is padded, though the trailing sentence is a workflow hint rather than part of the core purpose and could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, nested objects, full schema coverage, annotations and an output schema, the description covers what the tool does and what it leaves behind. The remaining gap is operational expectations for a batch tool (cost of grid expansion, what happens to points that fail), which would matter for an agent planning a large sweep.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; each of the 11 parameters, including the grid/zip mode distinction and the variables shape, is documented in the schema itself. The description adds no interpretation beyond that, such as how definition vs parameters vs variables interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: run one SCAPS session over many parameter values and tabulate J-V metrics per point. It also enumerates the study types covered (thickness, doping, defect, band offset, temperature, intensity, bias). It never explicitly contrasts itself with the closest sibling, scaps_simulate (single run) or scaps_optimize, so sibling differentiation is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the list of covered sweep types and names downstream consumers (scaps_results, scaps_plot) via the retained per-point files, which is a useful workflow hint. However, there is no explicit 'use this instead of scaps_simulate when you have more than one value' routing statement and no 'when not to use' conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.