<div dir="ltr">Dear all,<div><br></div><div>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.</div><div><br></div><div>I have included below a brief for a VTK software development project that we wish to contract a developer to work on.</div><div><br></div><div><div># Introduction</div><div><br></div><div>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.</div><div><br></div><div># Project details</div><div><br></div><div>The particle tracker must:</div><div><br></div><div>*  Be built using the latest repository version of VTK.</div><div>*  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.</div><div>*  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`.</div><div>*  The `FunctionValues` method, at this stage, will simply move the particle position based on the underlying velocity field.</div><div>*  The input velocity field should be read either from both an OpenFOAM (<a href="https://openfoam.org/">https://openfoam.org/</a>) dataset, using the `vtkOpenFOAMReader`, and also a `.vtk` file using the `vtkDataSetReader`. Example files will be supplied.</div><div>*  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).</div><div>*  The input particles will be evenly distributed over a circular plane.</div><div>*  The `vtkRungeKutta45` class must be used in the integration model.</div><div>*  Particle integration will terminate if exiting the flow domain.</div><div><br></div><div>The outputs of the code should be:</div><div><br></div><div>*  The particle positions at every *n* milliseconds of the integration.</div><div>*  Which domain the particle is in at each of these times.</div><div>*  Whether the particle is 'live' or has been terminated by exiting the flow domain.</div><div><br></div><div># Contact</div><div><br></div><div>Submissions of quotes and direct enquiries should be made to:</div><div><br></div><div>Tom Hampshire (<a href="mailto:tom.hampshire@goldstandardphantoms.com">tom.hampshire@goldstandardphantoms.com</a>)</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr">Tom Hampshire, PhD<div>Chief Information Officer</div></div></div></div></div>
</div></div>

<br>
<div style="font-size:12.8px;color:rgb(80,0,80);font-family:arial,sans-serif;background-color:rgb(255,255,255)"><img src="http://www.goldstandardphantoms.com/othermedia/LOGO_GOLD_50mm_small.png"></div><div style="font-size:12.8px;font-family:arial,sans-serif;background-color:rgb(255,255,255)"><br></div><div style="font-size:12.8px;font-family:arial,sans-serif;background-color:rgb(255,255,255)">Gold Standard Phantoms,</div><div style="font-size:12.8px;font-family:arial,sans-serif;background-color:rgb(255,255,255)">Unit 103 Belgravia Workshops,</div><div style="font-size:12.8px;font-family:arial,sans-serif;background-color:rgb(255,255,255)">159-163 Marlborough Rd,</div><div style="font-size:12.8px;font-family:arial,sans-serif;background-color:rgb(255,255,255)">London. N19 4NF.</div><div style="font-size:12.8px;font-family:arial,sans-serif;background-color:rgb(255,255,255)"><br></div><div style="font-family:arial,sans-serif;background-color:rgb(255,255,255)"><div><font size="1">Registered in England and Wales.</font></div><div style="color:rgb(80,0,80)"><span style="color:rgb(34,34,34)"><font size="1">Company number: 9342804</font></span></div><div style="color:rgb(80,0,80)"><span style="color:rgb(34,34,34)"><font size="1">VAT Reg: GB211807049</font></span></div><div style="color:rgb(80,0,80);font-size:12.8px"><br></div><div style="color:rgb(80,0,80)"><span style="color:rgb(34,34,34)"><div><font size="1">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.</font></div><div><font size="1">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.</font></div><div><font size="1">Please contact the sender if you believe you have received this email in error.</font></div></span></div></div>