RxODE (version 0.8.0-9)

rxCompile: Compile a model if needed

Description

This is the compilation workhorse creating the RxODE model DLL files.

Usage

rxCompile(model, dir, prefix, extraC = NULL, force = FALSE,
  modName = NULL, calcJac = NULL, calcSens = NULL,
  collapseModel = FALSE, ...)

# S3 method for character rxCompile(model, dir = NULL, prefix = NULL, extraC = NULL, force = FALSE, modName = NULL, calcJac = NULL, calcSens = NULL, collapseModel = FALSE, ...)

# S3 method for rxDll rxCompile(model, ...)

# S3 method for RxODE rxCompile(model, ...)

Arguments

model

This is the ODE model specification. It can be:

  • a string containing the set of ordinary differential equations (ODE) and other expressions defining the changes in the dynamic system.

  • a file name where the ODE system equation is contained

  • An ODE expression enclosed in {}

(see also the filename argument). For details, see the sections “Details” and “RxODE Syntax” below.

dir

This is the model directory where the C file will be stored for compiling.

If unspecified, the C code is stored in a temporary directory, then the model is compiled and moved to the current directory. Afterwards the C code is removed.

If specified, the C code is stored in the specified directory and then compiled in that directory. The C code is not removed after the DLL is created in the same directory. This can be useful to debug the c-code outputs.

prefix

is a string indicating the prefix to use in the C based functions. If missing, it is calculated based on file name, or md5 of parsed model.

extraC

Extra c code to include in the model. This can be useful to specify functions in the model. These C functions should usually take double precision arguments, and return double precision values.

force

is a boolean stating if the (re)compile should be forced if RxODE detects that the models are the same as already generated.

modName

a string to be used as the model name. This string is used for naming various aspects of the computations, including generating C symbol names, dynamic libraries, etc. Therefore, it is necessary that modName consists of simple ASCII alphanumeric characters starting with a letter.

calcJac

boolean indicating if RxODE will calculate the Jacobain according to the specified ODEs.

calcSens

boolean indicating if RxODE will calculate the sennsitivities according to the specified ODEs.

collapseModel

boolean indicating if RxODE will remove all LHS variables when calculating sensitivities.

...

Other arguments sent to the rxTrans function.

Value

An rxDll object that has the following components

dll

DLL path

model

model specification

.c

A function to call C code in the correct context from the DLL using the .C function.

.call

A function to call C code in the correct context from the DLL using the .Call function.

args

A list of the arguments used to create the rxDll object.

See Also

RxODE