rxSolveChunked: Solve an ODE model in memory-safe chunks

View source: R/rxOom.R

rxSolveChunkedR Documentation

Solve an ODE model in memory-safe chunks

Description

Splits subjects into chunks sized to fit in available RAM, solves each chunk, and writes output to parquet (or rds) files. Returns an rxSolveOom object that lazily reads chunks on demand.

Usage

rxSolveChunked(
  object,
  params = NULL,
  events = NULL,
  inits = NULL,
  ...,
  chunkSize,
  seed = NULL,
  parallel = 0L
)

Arguments

object

rxode2 model

params

model parameters

events

event table or rxEtFile

inits

initial conditions

...

additional arguments passed to rxControl()

chunkSize

number of subjects per chunk (auto-computed from free RAM if omitted)

seed

random seed (sets before solving if not NULL)

parallel

number of mirai daemons for parallel chunk solving (0 = serial)

Details

The storage/query engine used by the resulting rxSolveOom object is controlled by the rxode2.oom.backend option:

"auto"

(default) DuckDB if installed, else arrow, else rds.

"duckdb"

lazy DuckDB SQL queries over arrow-written parquet.

"arrow"

arrow parquet reads/writes, no DuckDB.

"rds"

plain rds files, no arrow or DuckDB.

A requested engine that is not installed silently degrades (duckdb \to arrow \to rds).

Value

An rxSolveOom object


rxode2 documentation built on July 28, 2026, 5:08 p.m.