Skip to main content

Implicit Disciplines

Implicit disciplines are based on the discipline service, like the explicit disciplines. They also use composition and are defined as:

service ImplicitService {
// Calls the discipline Compute function
rpc ComputeResiduals(stream Array) returns (stream Array) {}

// Calls the discipline RPC that solves the nonlinear equations
rpc SolveResiduals(stream Array) returns (stream Array) {}

// Calls the discipline ComputePartials function
rpc ComputeResidualGradients(stream Array) returns (stream Array) {}
}

ComputeResiduals

The ComputeResiduals function evaluates the residual given a set of inputs.

SolveResiduals

The SolveResiduals function solves the residual (drives it to zero) and returns the discipline outputs for that state.

ComputeResidualGradients

The ComputeResidualGradients function computes the derivatives of the ComputeResiduals function.