[vtk-developers] VTK Particle Tracking
Tom Hampshire
tom.hampshire at goldstandardphantoms.com
Mon Jan 8 08:24:02 EST 2018
Dear all,
Firstly, let me preface this post by apologising if this is not an
appropriate place to make this post. If this is the case, please would
someone let me know a more appropriate location.
I have included below a brief for a VTK software development project that
we wish to contract a developer to work on.
# Introduction
We would like a particle tracker developed in VTK (C++). The code must be
very documented/commented and tested. The work will involve the development
of a simple filter, and construction of a VTK pipeline with pre-defined
inputs and outputs. The particle tracker must have a parallel processing
implementation.
# Project details
The particle tracker must:
* Be built using the latest repository version of VTK.
* Implement multithreaded parallel processing, dividing the work amongst
CPU cores running on the same machine. The parallelisation should occur
across particles, rather than across the Eulerian space.
* The implementation must use the new `LagrangianParticleTracker` filter,
offering a completely configurable implementation of the Lagrangian
Particle Tracking (LPT) algorithm, and creating a subclass of the
`vtkLagrangianBasicIntegrationModel`.
* The `FunctionValues` method, at this stage, will simply move the
particle position based on the underlying velocity field.
* The input velocity field should be read either from both an OpenFOAM (
https://openfoam.org/) dataset, using the `vtkOpenFOAMReader`, and also a
`.vtk` file using the `vtkDataSetReader`. Example files will be supplied.
* The input velocity field will be split into three domains and how the
particle moves will depend on the domain that the particle is in.
Therefore, the `vtkLagrangianBasicIntegrationModel` subclass should take
into account the current domain of the particle (this will be extended by
us, so this functionality must be in place).
* The input particles will be evenly distributed over a circular plane.
* The `vtkRungeKutta45` class must be used in the integration model.
* Particle integration will terminate if exiting the flow domain.
The outputs of the code should be:
* The particle positions at every *n* milliseconds of the integration.
* Which domain the particle is in at each of these times.
* Whether the particle is 'live' or has been terminated by exiting the
flow domain.
# Contact
Submissions of quotes and direct enquiries should be made to:
Tom Hampshire (tom.hampshire at goldstandardphantoms.com)
--
Tom Hampshire, PhD
Chief Information Officer
--
Gold Standard Phantoms,
Unit 103 Belgravia Workshops,
159-163 Marlborough Rd,
London. N19 4NF.
Registered in England and Wales.
Company number: 9342804
VAT Reg: GB211807049
This email and any attachments to it may be confidential and are intended
solely for the use of the individual to whom it is addressed. Any views or
opinions expressed are solely those of the author and do not necessarily
represent those of Gold Standard Phantoms.
If you are not the intended recipient of this email, you must neither take
any action based upon its contents, nor copy or show it to anyone.
Please contact the sender if you believe you have received this email in
error.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://vtk.org/pipermail/vtk-developers/attachments/20180108/ddafd92d/attachment.html>
More information about the vtk-developers
mailing list