ParticleBasedForwardModel
- 
class 
aquila_borg.forward.ParticleBasedForwardModel Special abstract class to provide an API to access to particles used in the forward computation of certain models.
- 
getNumberOfParticles(self: aquila_borg._borg.forward.ParticleBasedForwardModel) → int Return the number of particles present on the current MPI task
- 
getParticlePositions(self: aquila_borg._borg.forward.ParticleBasedForwardModel, positions: numpy.ndarray[numpy.float64]) → None Return the positions of the particles in the provided numpy array
- Parameters
 positions (np.array) – Pre-allocated numpy array Nx3. N must be at least the number returned by ref:getNumberOfParticles
- 
getParticleVelocities(self: aquila_borg._borg.forward.ParticleBasedForwardModel, velocities: numpy.ndarray[numpy.float64]) → None Return the velocities of the particles in the provided numpy array
- Parameters
 velocities (np.array) – Pre-allocated numpy array Nx3. N must be at least the number returned by ref:getNumberOfParticles
- 
setStepNotifier(self: aquila_borg._borg.forward.ParticleBasedForwardModel, arg0: object) → None Setup a callback when a new step is being computed for particles.
TODO: The C++ side has access to particles, which has not yet been done for the Python callback
- Parameters
 callback (object) – A callable object. The object will be called with two arguments: the time and the number of particles on the current task.
- 
 
Methods
  | 
Initialize self.  | 
  | 
Request the model to accumulate adjoint vectors instead of resetting at each call.  | 
  | 
Pushes the adjoint gradient from a deeper part of the computation.  | 
  | 
Clear accumulated information to compute the adjoint gradient vector.  | 
  | 
|
  | 
Run the first part of the forward model (v2 API).  | 
  | 
|
  | 
Return the box on which is defined the input of the model is defined.  | 
  | 
Build and return an MPI4PY communicator object that is linked to the internal MPI communicator of that object.  | 
  | 
Obtain the density field produced by the forward model (part 2 of the evaluation, v2 API).  | 
  | 
Returns a tuple of integer indicating the way the slab is distributed among the node.  | 
  | 
This queries the current state of the parameters ‘keyname’ in model ‘model’.  | 
  | 
Return the number of particles present on the current MPI task  | 
  | 
Return the box on which is defined the output of the model is defined.  | 
  | 
Return a tuple indicating what is the expected output MPI slicing (startN0,localN0,N1,N2) (Warning! unstable API)  | 
  | 
Return the positions of the particles in the provided numpy array  | 
  | 
Return the velocities of the particles in the provided numpy array  | 
  | 
Returns the preferred output format (i.e.  | 
  | 
Returns the preferred output format (i.e.  | 
  | 
|
  | 
Indicate whether the caller require the adjoint gradient to be computed later.  | 
  | 
Setup the cosmological parameters that this model requires.  | 
  | 
Allow changing model parameters for different model indexed by the dictionnary key, each item is another dictionnary with key/value pairs.  | 
  | 
Give a to localize more easily a model instance.  | 
  | 
Setup a callback when a new step is being computed for particles.  |