<html>#2619: include Ellipitca (reader) in Einstein Toolkit
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>open</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>enhancement</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td></td></tr>
</table>

<p>Comment (by Roland Haas):</p>
<p>Ideally the library would become an ExternalLibrary (same as say LORENE <a data-is-external-link="true" href="https://github.com/einsteinToolkit/externalLibraries-lorene" rel="nofollow">https://github.com/einsteinToolkit/externalLibraries-lorene</a>) and the reader thorn would REQUIRE it (like Meudon_Bin_NS <a data-is-external-link="true" href="https://bitbucket.org/einsteintoolkit/einsteininitialdata/src/master/Meudon_Bin_NS/" rel="nofollow">https://bitbucket.org/einsteintoolkit/einsteininitialdata/src/master/Meudon_Bin_NS/</a> in file configuration.ccl).</p>
<p>This has the advantage that multiple different ID readers can use the same ExternalLibrarry eg for BBH or BNS or BHNS initial data. Those should not be all handled by a single thorn since eg the BNS or BHNS reader will need to provide data in thorn HydroBase which would not be active for a pure vacuum run.</p>
<p>If the library cannot be incorporated as an ExternalLibrary (eg b/c it requires use of C++ features not allowed in C++11 or Fortran newer than Fortran 2008) then you could have the ID thorns take <code>FOO_DIR</code> etc option list variables the way an ExternalLibrary thorn would do. However this would mean that a user who would like to compile in multiple different ID thorns all using Elliptica’s library would have to, potentially, set multiple option list variables with identical values.</p>
<p>On the technical level, you can tell the build system which library to link against and the path to find is using configuration.ccl by adding a (<a data-is-external-link="true" href="http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-53000C1.2.3" rel="nofollow">http://einsteintoolkit.org/usersguide/UsersGuide.html#x1-53000C1.2.3</a>) block</p>
<div class="codehilite"><pre><span></span><span>PROVIDES &lt;My_Capability&gt;</span>
<span>{</span>
<span>  SCRIPT &lt;My_ConfigScript&gt;</span>
<span>  LANG &lt;My_Language&gt;</span>
<span>}</span>
</pre></div>


<p>where <code>My_ConfigScript</code> has to produce output that adheres to the syntax d
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2619/include-ellipitca-reader-in-einstein'>https://bitbucket.org/einsteintoolkit/tickets/issues/2619/include-ellipitca-reader-in-einstein</a></p>
</html>