ChainForwardModel

class aquila_borg.forward.ChainForwardModel

This is a forward model to chain several others. It is based on aquila_borg.forward.BORGForwardModel

The chain is mandatorily linear. In principle several chains could be combined together with another auxiliary forward model.

addModel(self: aquila_borg._borg.forward.ChainForwardModel, forward: object) → None

Add a new model to the chain

Parameters

forward (aquila_borg.forward.BORGForwardModel) – a model to add

Methods

__init__(self, box_model)

Construct a new chain forward model, starting with the input box model corresponding to the first argument

accumulateAdjoint(self, do_accumulate)

Request the model to accumulate adjoint vectors instead of resetting at each call.

addModel(self, forward)

Add a new model to the chain

adjointModel_v2(self, adjoint_gradient)

Pushes the adjoint gradient from a deeper part of the computation.

clearAdjointGradient(self)

Clear accumulated information to compute the adjoint gradient vector.

forwardModel(self, arg0, arg1)

forwardModel_v2(self, arg0)

Run the first part of the forward model (v2 API).

getAdjointModel(self, arg0)

getBoxModel(self)

Return the box on which is defined the input of the model is defined.

getCommunicator(self)

Build and return an MPI4PY communicator object that is linked to the internal MPI communicator of that object.

getDensityFinal(self, arg0)

Obtain the density field produced by the forward model (part 2 of the evaluation, v2 API).

getMPISlice(self)

Returns a tuple of integer indicating the way the slab is distributed among the node.

getModelParam(self, model, keyname)

This queries the current state of the parameters ‘keyname’ in model ‘model’.

getOutputBoxModel(self)

Return the box on which is defined the output of the model is defined.

getOutputMPISlice(self)

Return a tuple indicating what is the expected output MPI slicing (startN0,localN0,N1,N2) (Warning! unstable API)

getPreferredInput(self)

Returns the preferred output format (i.e.

getPreferredOutput(self)

Returns the preferred output format (i.e.

holdParticles(self)

setAdjointRequired(self, arg0)

Indicate whether the caller require the adjoint gradient to be computed later.

setCosmoParams(self, cosmo_params)

Setup the cosmological parameters that this model requires.

setModelParams(self, params)

Allow changing model parameters for different model indexed by the dictionnary key, each item is another dictionnary with key/value pairs.

setName(self, name)

Give a to localize more easily a model instance.