Documentation

Learn MatForge

Everything you need to know about materials optimization with surrogate models, active learning, and Pareto analysis.

terminal
# Install MatForge
$ pip install materia

# Initialize a water filtration project
$ materia init --domain water --name my-membrane

# Run optimization (500 evals, 15 rounds)
$ materia run material.yaml --budget 500 --rounds 15

# View Pareto-optimal results
$ materia results --top 10
Found 12 Pareto-optimal materials
Best PFOS rejection: 99.2%

Getting Started

Quick Start Guide

Essential

Create your first campaign in 5 minutes

Installation

Set up MatForge locally with Docker or pip

Core Concepts

Materials, parameters, objectives, and Pareto fronts

Material Definition Language

MDL Specification

YAML format for defining material optimization problems

Parameters

Defining input variables with ranges and units

Objectives

Setting optimization targets and directions

Constraints

Hard and soft constraints on solutions

Optimization Engine

CMA-ES Optimizer

Covariance Matrix Adaptation Evolution Strategy

MLP Surrogate

Neural network surrogate with MC Dropout uncertainty

Active Learning

Acquisition functions and convergence criteria

Pareto Analysis

NSGA-II non-dominated sorting and crowding distance

Domains & Plugins

Built-in Domains

11 materials science domains with physics models

Custom Plugins

Creating your own evaluator plugins

Physics Models

Domain-specific equations and parameters

API Reference

REST API

Campaign management, results, and export endpoints

WebSocket API

Real-time campaign progress updates

Python SDK

Programmatic access via the materia package

CLI Reference

materia init

Scaffold a new material optimization project

materia run

Execute an optimization campaign

materia results

View and export campaign results

materia dashboard

Generate an interactive HTML dashboard

Ready to Start?

Create your first materials optimization campaign today.

Get Started Free