BaseForwardModel

class aquila_borg.forward.BaseForwardModel

Base class for implementing new forward model in python

Methods

__init__(self, box_input, box_output)

Construct the C++ side of the forward model with provided input and output boxes.

accumulateAdjoint(self, do_accumulate)

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

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.