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. |