merged main into feature/polytrope
This commit is contained in:
29
.github/workflows/build-and-test.yml
vendored
29
.github/workflows/build-and-test.yml
vendored
@@ -10,12 +10,7 @@ jobs:
|
||||
build-and-test:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, fedora-latest, archlinux, macos-latest]
|
||||
include:
|
||||
- os: macos-latest
|
||||
arch: x64
|
||||
- os: macos-latest
|
||||
arch: arm64
|
||||
os: [ubuntu-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
@@ -24,23 +19,11 @@ jobs:
|
||||
|
||||
- name: Set up dependencies
|
||||
run: |
|
||||
# Common setup for Linux
|
||||
if [[ "$RUNNER_OS" == "Linux" ]]; then
|
||||
if [[ "$matrix.os" == "ubuntu-latest" ]]; then
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y cmake build-essential meson ninja-build python3 python3-pip libgtest-dev
|
||||
# Compile gtest manually for Ubuntu
|
||||
cd /usr/src/gtest && sudo cmake . && sudo make && sudo cp *.a /usr/lib
|
||||
elif [[ "$matrix.os" == "fedora-latest" ]]; then
|
||||
sudo dnf install -y cmake gcc-c++ make meson ninja-build gtest gtest-devel
|
||||
elif [[ "$matrix.os" == "archlinux" ]]; then
|
||||
sudo pacman -Syu --noconfirm cmake gcc make meson ninja python gtest
|
||||
fi
|
||||
# Common setup for macOS
|
||||
elif [[ "$RUNNER_OS" == "macOS" ]]; then
|
||||
brew update
|
||||
brew install cmake meson ninja python gtest
|
||||
fi
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y cmake build-essential meson ninja-build python3 python3-pip libgtest-dev
|
||||
pip install meson==1.6.0
|
||||
# Compile gtest manually for Ubuntu
|
||||
cd /usr/src/googletest/googletest && sudo cmake . && sudo make && sudo cp lib/*.a /usr/lib
|
||||
|
||||
- name: Run build and tests
|
||||
run: ./mk
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -61,5 +61,8 @@ tags
|
||||
subprojects/mfem/
|
||||
subprojects/tetgen/
|
||||
subprojects/yaml-cpp/
|
||||
subprojects/quill/
|
||||
|
||||
.vscode/
|
||||
|
||||
*.log
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
subdir('mfem')
|
||||
cmake = import('cmake')
|
||||
|
||||
subdir('mfem')
|
||||
subdir('yaml-cpp')
|
||||
subdir('quill')
|
||||
@@ -1,4 +1,3 @@
|
||||
cmake = import('cmake')
|
||||
patchFile = files('disable_mfem_selfcheck.patch')
|
||||
|
||||
patch_check = run_command('grep', '-q', 'MFEM_CHECK_TARGET_NAME', 'subprojects/mfem/CMakeLists.txt', check: false)
|
||||
|
||||
5
build-config/quill/meson.build
Normal file
5
build-config/quill/meson.build
Normal file
@@ -0,0 +1,5 @@
|
||||
quill_sp = cmake.subproject(
|
||||
'quill'
|
||||
)
|
||||
quill_dep = quill_sp.dependency('quill')
|
||||
add_project_arguments('-I' + meson.current_build_dir() + '/subprojects/quill/__CMake_build', language: 'cpp')
|
||||
5
build-config/yaml-cpp/meson.build
Normal file
5
build-config/yaml-cpp/meson.build
Normal file
@@ -0,0 +1,5 @@
|
||||
yaml_cpp_sp = cmake.subproject(
|
||||
'yaml-cpp'
|
||||
)
|
||||
yaml_cpp_dep = yaml_cpp_sp.dependency('yaml-cpp')
|
||||
add_project_arguments('-I' + meson.current_build_dir() + '/subprojects/yaml-cpp/__CMake_build', language: 'cpp')
|
||||
@@ -98,20 +98,28 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
|
||||
<div class="contents">
|
||||
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
||||
<table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structConstant.html" target="_self">Constant</a></td><td class="desc">Structure to hold a constant's details </td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classConstants.html" target="_self">Constants</a></td><td class="desc">Class to manage a collection of constants </td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classconstTest.html" target="_self">constTest</a></td><td class="desc">Test suite for the const class </td></tr>
|
||||
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDObject.html" target="_self">DObject</a></td><td class="desc">A universal data container class </td></tr>
|
||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDObjectTest.html" target="_self">DObjectTest</a></td><td class="desc">Test suite for the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class </td></tr>
|
||||
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structHeader.html" target="_self">Header</a></td><td class="desc">Structure to hold the header information of an OPAT file </td></tr>
|
||||
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLockableDObject.html" target="_self">LockableDObject</a></td><td class="desc">Wrapper for <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> with thread-safe access </td></tr>
|
||||
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLockableDObjectTest.html" target="_self">LockableDObjectTest</a></td><td class="desc">Test suite for the <a class="el" href="classLockableDObject.html" title="Wrapper for DObject with thread-safe access.">LockableDObject</a> class </td></tr>
|
||||
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classMetadata.html" target="_self">Metadata</a></td><td class="desc">Represents metadata information for data objects in the dobj module </td></tr>
|
||||
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classMetadataTest.html" target="_self">MetadataTest</a></td><td class="desc">Test suite for the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class </td></tr>
|
||||
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classOpatIO.html" target="_self">OpatIO</a></td><td class="desc">Class to manage the input/output operations for OPAT files </td></tr>
|
||||
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classopatIOTest.html" target="_self">opatIOTest</a></td><td class="desc">Test suite for the const class </td></tr>
|
||||
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structOPATTable.html" target="_self">OPATTable</a></td><td class="desc">Structure to hold the data of an OPAT table </td></tr>
|
||||
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTableIndex.html" target="_self">TableIndex</a></td><td class="desc">Structure to hold the index information of a table in an OPAT file </td></tr>
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classBilinearIntegratorWrapper.html" target="_self">BilinearIntegratorWrapper</a></td><td class="desc">A wrapper class for bilinear integrator </td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classCompositeNonlinearIntegrator.html" target="_self">CompositeNonlinearIntegrator</a></td><td class="desc">A class for composite nonlinear integrator </td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classConfig.html" target="_self">Config</a></td><td class="desc">Singleton class to manage configuration settings loaded from a YAML file </td></tr>
|
||||
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classconfigTest.html" target="_self">configTest</a></td><td class="desc">Test suite for the <a class="el" href="classConfig.html" title="Singleton class to manage configuration settings loaded from a YAML file.">Config</a> class </td></tr>
|
||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classconfigTestPrivateAccessor.html" target="_self">configTestPrivateAccessor</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structConstant.html" target="_self">Constant</a></td><td class="desc">Structure to hold a constant's details </td></tr>
|
||||
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classConstants.html" target="_self">Constants</a></td><td class="desc">Class to manage a collection of constants </td></tr>
|
||||
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classconstTest.html" target="_self">constTest</a></td><td class="desc">Test suite for the const class </td></tr>
|
||||
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDObject.html" target="_self">DObject</a></td><td class="desc">A universal data container class </td></tr>
|
||||
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDObjectTest.html" target="_self">DObjectTest</a></td><td class="desc">Test suite for the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class </td></tr>
|
||||
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structHeader.html" target="_self">Header</a></td><td class="desc">Structure to hold the header information of an OPAT file </td></tr>
|
||||
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLockableDObject.html" target="_self">LockableDObject</a></td><td class="desc">Wrapper for <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> with thread-safe access </td></tr>
|
||||
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLockableDObjectTest.html" target="_self">LockableDObjectTest</a></td><td class="desc">Test suite for the <a class="el" href="classLockableDObject.html" title="Wrapper for DObject with thread-safe access.">LockableDObject</a> class </td></tr>
|
||||
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classMeshIO.html" target="_self">MeshIO</a></td><td class="desc">Class for handling mesh input/output operations </td></tr>
|
||||
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmeshIOTest.html" target="_self">meshIOTest</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classMetadata.html" target="_self">Metadata</a></td><td class="desc">Represents metadata information for data objects in the dobj module </td></tr>
|
||||
<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classMetadataTest.html" target="_self">MetadataTest</a></td><td class="desc">Test suite for the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class </td></tr>
|
||||
<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classNonlinearPowerIntegrator.html" target="_self">NonlinearPowerIntegrator</a></td><td class="desc">A class for nonlinear power integrator </td></tr>
|
||||
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classOpatIO.html" target="_self">OpatIO</a></td><td class="desc">Class to manage the input/output operations for OPAT files </td></tr>
|
||||
<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classopatIOTest.html" target="_self">opatIOTest</a></td><td class="desc">Test suite for the const class </td></tr>
|
||||
<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structOPATTable.html" target="_self">OPATTable</a></td><td class="desc">Structure to hold the data of an OPAT table </td></tr>
|
||||
<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTableIndex.html" target="_self">TableIndex</a></td><td class="desc">Structure to hold the index information of a table in an OPAT file </td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
var annotated_dup =
|
||||
[
|
||||
[ "BilinearIntegratorWrapper", "classBilinearIntegratorWrapper.html", "classBilinearIntegratorWrapper" ],
|
||||
[ "CompositeNonlinearIntegrator", "classCompositeNonlinearIntegrator.html", "classCompositeNonlinearIntegrator" ],
|
||||
[ "Config", "classConfig.html", null ],
|
||||
[ "configTest", "classconfigTest.html", null ],
|
||||
[ "configTestPrivateAccessor", "classconfigTestPrivateAccessor.html", null ],
|
||||
[ "Constant", "structConstant.html", "structConstant" ],
|
||||
[ "Constants", "classConstants.html", "classConstants" ],
|
||||
[ "constTest", "classconstTest.html", "classconstTest" ],
|
||||
@@ -8,8 +13,11 @@ var annotated_dup =
|
||||
[ "Header", "structHeader.html", "structHeader" ],
|
||||
[ "LockableDObject", "classLockableDObject.html", "classLockableDObject" ],
|
||||
[ "LockableDObjectTest", "classLockableDObjectTest.html", "classLockableDObjectTest" ],
|
||||
[ "MeshIO", "classMeshIO.html", "classMeshIO" ],
|
||||
[ "meshIOTest", "classmeshIOTest.html", null ],
|
||||
[ "Metadata", "classMetadata.html", "classMetadata" ],
|
||||
[ "MetadataTest", "classMetadataTest.html", "classMetadataTest" ],
|
||||
[ "NonlinearPowerIntegrator", "classNonlinearPowerIntegrator.html", "classNonlinearPowerIntegrator" ],
|
||||
[ "OpatIO", "classOpatIO.html", "classOpatIO" ],
|
||||
[ "opatIOTest", "classopatIOTest.html", null ],
|
||||
[ "OPATTable", "structOPATTable.html", "structOPATTable" ],
|
||||
|
||||
@@ -96,23 +96,29 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
|
||||
<div class="title">Class Index</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="qindex"><a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_T">T</a></div>
|
||||
<div class="qindex"><a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_T">T</a></div>
|
||||
<div class="classindex">
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_C">C</a></dt>
|
||||
<dd><a class="el" href="structConstant.html">Constant</a></dd><dd><a class="el" href="classConstants.html">Constants</a></dd><dd><a class="el" href="classconstTest.html">constTest</a></dd></dl>
|
||||
<dt class="alphachar"><a name="letter_B">B</a></dt>
|
||||
<dd><a class="el" href="classBilinearIntegratorWrapper.html">BilinearIntegratorWrapper</a></dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_C">C</a></dt>
|
||||
<dd><a class="el" href="classCompositeNonlinearIntegrator.html">CompositeNonlinearIntegrator</a></dd><dd><a class="el" href="classConfig.html">Config</a></dd><dd><a class="el" href="classconfigTest.html">configTest</a></dd><dd><a class="el" href="classconfigTestPrivateAccessor.html">configTestPrivateAccessor</a></dd><dd><a class="el" href="structConstant.html">Constant</a></dd><dd><a class="el" href="classConstants.html">Constants</a></dd><dd><a class="el" href="classconstTest.html">constTest</a></dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_D">D</a></dt>
|
||||
<dd><a class="el" href="classDObject.html">DObject</a></dd><dd><a class="el" href="classDObjectTest.html">DObjectTest</a></dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_H">H</a></dt>
|
||||
<dd><a class="el" href="structHeader.html">Header</a></dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_L">L</a></dt>
|
||||
<dd><a class="el" href="classLockableDObject.html">LockableDObject</a></dd><dd><a class="el" href="classLockableDObjectTest.html">LockableDObjectTest</a></dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_M">M</a></dt>
|
||||
<dd><a class="el" href="classMetadata.html">Metadata</a></dd><dd><a class="el" href="classMetadataTest.html">MetadataTest</a></dd></dl>
|
||||
<dd><a class="el" href="classMeshIO.html">MeshIO</a></dd><dd><a class="el" href="classmeshIOTest.html">meshIOTest</a></dd><dd><a class="el" href="classMetadata.html">Metadata</a></dd><dd><a class="el" href="classMetadataTest.html">MetadataTest</a></dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_N">N</a></dt>
|
||||
<dd><a class="el" href="classNonlinearPowerIntegrator.html">NonlinearPowerIntegrator</a></dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_O">O</a></dt>
|
||||
<dd><a class="el" href="classOpatIO.html">OpatIO</a></dd><dd><a class="el" href="classopatIOTest.html">opatIOTest</a></dd><dd><a class="el" href="structOPATTable.html">OPATTable</a></dd></dl>
|
||||
|
||||
@@ -99,14 +99,20 @@ $(document).ready(function(){initNavTree('dir_68267d1309a1af8e8297ef4c3efbcdba.h
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
|
||||
Directories</h2></td></tr>
|
||||
<tr class="memitem:dir_7e83d1792d529f4aa7126ac7e0b3b699"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_7e83d1792d529f4aa7126ac7e0b3b699.html">config</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dir_409882efad9ab48a895cd8b217d1e026"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_409882efad9ab48a895cd8b217d1e026.html">const</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dir_768194193337d64eaa7edd2c5f5038a4"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_768194193337d64eaa7edd2c5f5038a4.html">dobj</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dir_440126c2838a14af33b22611dbbb2bf6"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_440126c2838a14af33b22611dbbb2bf6.html">meshIO</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dir_98811334950283dfb0b975440d5272eb"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_98811334950283dfb0b975440d5272eb.html">opac</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dir_dc4574cef47f5b50114efcdd6e195baf"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_dc4574cef47f5b50114efcdd6e195baf.html">opatIO</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dir_d0d2d394e86fce6a7356095f51b9fa38"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d0d2d394e86fce6a7356095f51b9fa38.html">poly</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
var dir_68267d1309a1af8e8297ef4c3efbcdba =
|
||||
[
|
||||
[ "config", "dir_7e83d1792d529f4aa7126ac7e0b3b699.html", "dir_7e83d1792d529f4aa7126ac7e0b3b699" ],
|
||||
[ "const", "dir_409882efad9ab48a895cd8b217d1e026.html", "dir_409882efad9ab48a895cd8b217d1e026" ],
|
||||
[ "dobj", "dir_768194193337d64eaa7edd2c5f5038a4.html", "dir_768194193337d64eaa7edd2c5f5038a4" ],
|
||||
[ "meshIO", "dir_440126c2838a14af33b22611dbbb2bf6.html", "dir_440126c2838a14af33b22611dbbb2bf6" ],
|
||||
[ "opac", "dir_98811334950283dfb0b975440d5272eb.html", "dir_98811334950283dfb0b975440d5272eb" ],
|
||||
[ "opatIO", "dir_dc4574cef47f5b50114efcdd6e195baf.html", "dir_dc4574cef47f5b50114efcdd6e195baf" ]
|
||||
[ "opatIO", "dir_dc4574cef47f5b50114efcdd6e195baf.html", "dir_dc4574cef47f5b50114efcdd6e195baf" ],
|
||||
[ "poly", "dir_d0d2d394e86fce6a7356095f51b9fa38.html", "dir_d0d2d394e86fce6a7356095f51b9fa38" ]
|
||||
];
|
||||
@@ -99,54 +99,83 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); });
|
||||
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span><span onclick="javascript:toggleLevel(6);">6</span><span onclick="javascript:toggleLevel(7);">7</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')"> </span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">▼</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')"> </span><a class="el" href="dir_409882efad9ab48a895cd8b217d1e026.html" target="_self">const</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">▼</span><span id="img_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_')"> </span><a class="el" href="dir_aa595423af07433f9695bf15d4f880d5.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="const_8cpp.html" target="_self">const.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_1_" class="arrow" onclick="toggleFolder('0_0_1_')">▼</span><span id="img_0_0_1_" class="iconfopen" onclick="toggleFolder('0_0_1_')"> </span><a class="el" href="dir_aa74b0b57852b214f24568086f91a43d.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_1_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="const_8h_source.html"><span class="icondoc"></span></a><a class="el" href="const_8h.html" target="_self">const.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">▼</span><span id="img_0_1_" class="iconfopen" onclick="toggleFolder('0_1_')"> </span><a class="el" href="dir_768194193337d64eaa7edd2c5f5038a4.html" target="_self">dobj</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_1_0_" class="arrow" onclick="toggleFolder('0_1_0_')">▼</span><span id="img_0_1_0_" class="iconfopen" onclick="toggleFolder('0_1_0_')"> </span><a class="el" href="dir_4e6f6de88c62da29e0ddd0d8e63af038.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="DObject_8cpp.html" target="_self">DObject.cpp</a></td><td class="desc">Implementation of the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class </td></tr>
|
||||
<tr id="row_0_1_0_1_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="LockableDObject_8cpp.html" target="_self">LockableDObject.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_0_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="Metadata_8cpp.html" target="_self">Metadata.cpp</a></td><td class="desc">Implementation of the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class used in the dobj module </td></tr>
|
||||
<tr id="row_0_1_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_1_1_" class="arrow" onclick="toggleFolder('0_1_1_')">▼</span><span id="img_0_1_1_" class="iconfopen" onclick="toggleFolder('0_1_1_')"> </span><a class="el" href="dir_5657658ab0dc14c9c63c088cb1f6321c.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="DObject_8h_source.html"><span class="icondoc"></span></a><a class="el" href="DObject_8h.html" target="_self">DObject.h</a></td><td class="desc">Defines the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class, a universal data container for the project </td></tr>
|
||||
<tr id="row_0_1_1_1_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="LockableDObject_8h_source.html"><span class="icondoc"></span></a><a class="el" href="LockableDObject_8h.html" target="_self">LockableDObject.h</a></td><td class="desc">A lightweight wrapper for <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> that adds locking capabilities </td></tr>
|
||||
<tr id="row_0_1_1_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="Metadata_8h_source.html"><span class="icondoc"></span></a><a class="el" href="Metadata_8h.html" target="_self">Metadata.h</a></td><td class="desc">Public interface for the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class used in the dobj module </td></tr>
|
||||
<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">▼</span><span id="img_0_2_" class="iconfopen" onclick="toggleFolder('0_2_')"> </span><a class="el" href="dir_98811334950283dfb0b975440d5272eb.html" target="_self">opac</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_2_0_" class="arrow" onclick="toggleFolder('0_2_0_')">▼</span><span id="img_0_2_0_" class="iconfopen" onclick="toggleFolder('0_2_0_')"> </span><a class="el" href="dir_88e1407a1fb38d630626d3e1b6639cc8.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="opac_8h_source.html"><span class="icondoc"></span></a><a class="el" href="opac_8h.html" target="_self">opac.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">▼</span><span id="img_0_3_" class="iconfopen" onclick="toggleFolder('0_3_')"> </span><a class="el" href="dir_dc4574cef47f5b50114efcdd6e195baf.html" target="_self">opatIO</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_3_0_" class="arrow" onclick="toggleFolder('0_3_0_')">▼</span><span id="img_0_3_0_" class="iconfopen" onclick="toggleFolder('0_3_0_')"> </span><a class="el" href="dir_18c45d4358dc55431d912fa30bcbde92.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="opatIO_8cpp.html" target="_self">opatIO.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_3_1_" class="arrow" onclick="toggleFolder('0_3_1_')">▼</span><span id="img_0_3_1_" class="iconfopen" onclick="toggleFolder('0_3_1_')"> </span><a class="el" href="dir_a105e00bd9bc580163f6cfcc237f0c76.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="opatIO_8h_source.html"><span class="icondoc"></span></a><a class="el" href="opatIO_8h.html" target="_self">opatIO.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')"> </span><a class="el" href="dir_59425e443f801f1f2fd8bbe4959a3ccf.html" target="_self">tests</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">▼</span><span id="img_1_0_" class="iconfopen" onclick="toggleFolder('1_0_')"> </span><a class="el" href="dir_6cfc89239232d12b3feb44b30f54e02f.html" target="_self">const</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="constTest_8cpp.html" target="_self">constTest.cpp</a></td><td class="desc">Unit tests for the const class </td></tr>
|
||||
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">▼</span><span id="img_1_1_" class="iconfopen" onclick="toggleFolder('1_1_')"> </span><a class="el" href="dir_bc1cc3abf5d5430dc6e21979095d09f3.html" target="_self">dobj</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_1_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="DObjectTest_8cpp.html" target="_self">DObjectTest.cpp</a></td><td class="desc">Unit tests for the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class </td></tr>
|
||||
<tr id="row_1_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="LockableDObjectTest_8cpp.html" target="_self">LockableDObjectTest.cpp</a></td><td class="desc">Unit tests for the <a class="el" href="classLockableDObject.html" title="Wrapper for DObject with thread-safe access.">LockableDObject</a> class </td></tr>
|
||||
<tr id="row_1_1_2_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="MetadataTest_8cpp.html" target="_self">MetadataTest.cpp</a></td><td class="desc">Unit tests and integration tests for the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class </td></tr>
|
||||
<tr id="row_1_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_2_" class="arrow" onclick="toggleFolder('1_2_')">▼</span><span id="img_1_2_" class="iconfopen" onclick="toggleFolder('1_2_')"> </span><a class="el" href="dir_388d1cd783f992dee884a2918d77a3d7.html" target="_self">dobj_sandbox</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_2_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="testDObject_8cpp.html" target="_self">testDObject.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_3_" class="arrow" onclick="toggleFolder('1_3_')">▼</span><span id="img_1_3_" class="iconfopen" onclick="toggleFolder('1_3_')"> </span><a class="el" href="dir_a0668aa070a38eaa8236727e19a9b15f.html" target="_self">opatIO</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_3_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="opatIOTest_8cpp.html" target="_self">opatIOTest.cpp</a></td><td class="desc">Unit tests for the <a class="el" href="classOpatIO.html" title="Class to manage the input/output operations for OPAT files.">OpatIO</a> class and associated structs </td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><span id="img_2_" class="iconfopen" onclick="toggleFolder('2_')"> </span><a class="el" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html" target="_self">utils</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_2_0_" class="arrow" onclick="toggleFolder('2_0_')">▼</span><span id="img_2_0_" class="iconfopen" onclick="toggleFolder('2_0_')"> </span><a class="el" href="dir_1acdc3d0c73584695295a90ad6ede3f9.html" target="_self">opatio</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_2_0_0_" class="arrow" onclick="toggleFolder('2_0_0_')">▼</span><span id="img_2_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_')"> </span><a class="el" href="dir_1c285457bb070251eb0c01a8da35233c.html" target="_self">build</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_2_0_0_0_" class="arrow" onclick="toggleFolder('2_0_0_0_')">▼</span><span id="img_2_0_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_0_')"> </span><a class="el" href="dir_62e13aaa8a72ed2c40d6887705a41af4.html" target="_self">lib</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span id="arr_2_0_0_0_0_" class="arrow" onclick="toggleFolder('2_0_0_0_0_')">▼</span><span id="img_2_0_0_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_0_0_')"> </span><a class="el" href="dir_9d738063cc7befc3d96860ca4c9257b2.html" target="_self">opatio</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_0_"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span id="arr_2_0_0_0_0_0_" class="arrow" onclick="toggleFolder('2_0_0_0_0_0_')">▼</span><span id="img_2_0_0_0_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_0_0_0_')"> </span><a class="el" href="dir_6de2166d97f28f4ecd4d72a5f12aecb0.html" target="_self">opat</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_0_0_" class="even"><td class="entry"><span style="width:112px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="build_2lib_2opatio_2opat_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_0_1_"><td class="entry"><span style="width:112px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="build_2lib_2opatio_2opat_2opat_8py.html" target="_self">opat.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_1_" class="even"><td class="entry"><span style="width:96px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="build_2lib_2opatio_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_2_0_1_" class="arrow" onclick="toggleFolder('2_0_1_')">▼</span><span id="img_2_0_1_" class="iconfopen" onclick="toggleFolder('2_0_1_')"> </span><a class="el" href="dir_da765f8f0017804fdc0f96160e2cbe8b.html" target="_self">src</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_2_0_1_0_" class="arrow" onclick="toggleFolder('2_0_1_0_')">▼</span><span id="img_2_0_1_0_" class="iconfopen" onclick="toggleFolder('2_0_1_0_')"> </span><a class="el" href="dir_4a32f98eb1fc28521b674ecacd8e38cc.html" target="_self">opatio</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span id="arr_2_0_1_0_0_" class="arrow" onclick="toggleFolder('2_0_1_0_0_')">▼</span><span id="img_2_0_1_0_0_" class="iconfopen" onclick="toggleFolder('2_0_1_0_0_')"> </span><a class="el" href="dir_57b5236bc904b389e950b8d6ae8bc28a.html" target="_self">opat</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_0_0_" class="even"><td class="entry"><span style="width:96px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="src_2opatio_2opat_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_0_1_"><td class="entry"><span style="width:96px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="src_2opatio_2opat_2opat_8py.html" target="_self">opat.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_1_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="src_2opatio_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">▼</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')"> </span><a class="el" href="dir_7e83d1792d529f4aa7126ac7e0b3b699.html" target="_self">config</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">▼</span><span id="img_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_')"> </span><a class="el" href="dir_893e16279b3f95d0fd4ec39358376605.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="config_8cpp.html" target="_self">config.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_1_" class="arrow" onclick="toggleFolder('0_0_1_')">▼</span><span id="img_0_0_1_" class="iconfopen" onclick="toggleFolder('0_0_1_')"> </span><a class="el" href="dir_4f06ef9b669cedd8d46a086727f9d243.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_1_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="config_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config_8h.html" target="_self">config.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">▼</span><span id="img_0_1_" class="iconfopen" onclick="toggleFolder('0_1_')"> </span><a class="el" href="dir_409882efad9ab48a895cd8b217d1e026.html" target="_self">const</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_1_0_" class="arrow" onclick="toggleFolder('0_1_0_')">▼</span><span id="img_0_1_0_" class="iconfopen" onclick="toggleFolder('0_1_0_')"> </span><a class="el" href="dir_aa595423af07433f9695bf15d4f880d5.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="const_8cpp.html" target="_self">const.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_1_1_" class="arrow" onclick="toggleFolder('0_1_1_')">▼</span><span id="img_0_1_1_" class="iconfopen" onclick="toggleFolder('0_1_1_')"> </span><a class="el" href="dir_aa74b0b57852b214f24568086f91a43d.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="const_8h_source.html"><span class="icondoc"></span></a><a class="el" href="const_8h.html" target="_self">const.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">▼</span><span id="img_0_2_" class="iconfopen" onclick="toggleFolder('0_2_')"> </span><a class="el" href="dir_768194193337d64eaa7edd2c5f5038a4.html" target="_self">dobj</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_2_0_" class="arrow" onclick="toggleFolder('0_2_0_')">▼</span><span id="img_0_2_0_" class="iconfopen" onclick="toggleFolder('0_2_0_')"> </span><a class="el" href="dir_4e6f6de88c62da29e0ddd0d8e63af038.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="DObject_8cpp.html" target="_self">DObject.cpp</a></td><td class="desc">Implementation of the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class </td></tr>
|
||||
<tr id="row_0_2_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="LockableDObject_8cpp.html" target="_self">LockableDObject.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_0_2_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="Metadata_8cpp.html" target="_self">Metadata.cpp</a></td><td class="desc">Implementation of the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class used in the dobj module </td></tr>
|
||||
<tr id="row_0_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_2_1_" class="arrow" onclick="toggleFolder('0_2_1_')">▼</span><span id="img_0_2_1_" class="iconfopen" onclick="toggleFolder('0_2_1_')"> </span><a class="el" href="dir_5657658ab0dc14c9c63c088cb1f6321c.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_1_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="DObject_8h_source.html"><span class="icondoc"></span></a><a class="el" href="DObject_8h.html" target="_self">DObject.h</a></td><td class="desc">Defines the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class, a universal data container for the project </td></tr>
|
||||
<tr id="row_0_2_1_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="LockableDObject_8h_source.html"><span class="icondoc"></span></a><a class="el" href="LockableDObject_8h.html" target="_self">LockableDObject.h</a></td><td class="desc">A lightweight wrapper for <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> that adds locking capabilities </td></tr>
|
||||
<tr id="row_0_2_1_2_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="Metadata_8h_source.html"><span class="icondoc"></span></a><a class="el" href="Metadata_8h.html" target="_self">Metadata.h</a></td><td class="desc">Public interface for the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class used in the dobj module </td></tr>
|
||||
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">▼</span><span id="img_0_3_" class="iconfopen" onclick="toggleFolder('0_3_')"> </span><a class="el" href="dir_440126c2838a14af33b22611dbbb2bf6.html" target="_self">meshIO</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_3_0_" class="arrow" onclick="toggleFolder('0_3_0_')">▼</span><span id="img_0_3_0_" class="iconfopen" onclick="toggleFolder('0_3_0_')"> </span><a class="el" href="dir_70fe68c6a1aba1c690f556aae19244a1.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="meshIO_8cpp.html" target="_self">meshIO.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_3_1_" class="arrow" onclick="toggleFolder('0_3_1_')">▼</span><span id="img_0_3_1_" class="iconfopen" onclick="toggleFolder('0_3_1_')"> </span><a class="el" href="dir_74e94668ea6d3ca842a67049f1d0566c.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="meshIO_8h_source.html"><span class="icondoc"></span></a><a class="el" href="meshIO_8h.html" target="_self">meshIO.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_4_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_4_" class="arrow" onclick="toggleFolder('0_4_')">▼</span><span id="img_0_4_" class="iconfopen" onclick="toggleFolder('0_4_')"> </span><a class="el" href="dir_98811334950283dfb0b975440d5272eb.html" target="_self">opac</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_4_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_4_0_" class="arrow" onclick="toggleFolder('0_4_0_')">▼</span><span id="img_0_4_0_" class="iconfopen" onclick="toggleFolder('0_4_0_')"> </span><a class="el" href="dir_88e1407a1fb38d630626d3e1b6639cc8.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_4_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="opac_8h_source.html"><span class="icondoc"></span></a><a class="el" href="opac_8h.html" target="_self">opac.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_5_" class="arrow" onclick="toggleFolder('0_5_')">▼</span><span id="img_0_5_" class="iconfopen" onclick="toggleFolder('0_5_')"> </span><a class="el" href="dir_dc4574cef47f5b50114efcdd6e195baf.html" target="_self">opatIO</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_5_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_5_0_" class="arrow" onclick="toggleFolder('0_5_0_')">▼</span><span id="img_0_5_0_" class="iconfopen" onclick="toggleFolder('0_5_0_')"> </span><a class="el" href="dir_18c45d4358dc55431d912fa30bcbde92.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_5_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="opatIO_8cpp.html" target="_self">opatIO.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_5_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_5_1_" class="arrow" onclick="toggleFolder('0_5_1_')">▼</span><span id="img_0_5_1_" class="iconfopen" onclick="toggleFolder('0_5_1_')"> </span><a class="el" href="dir_a105e00bd9bc580163f6cfcc237f0c76.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_5_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="opatIO_8h_source.html"><span class="icondoc"></span></a><a class="el" href="opatIO_8h.html" target="_self">opatIO.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_6_" class="arrow" onclick="toggleFolder('0_6_')">▼</span><span id="img_0_6_" class="iconfopen" onclick="toggleFolder('0_6_')"> </span><a class="el" href="dir_d0d2d394e86fce6a7356095f51b9fa38.html" target="_self">poly</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_6_0_" class="arrow" onclick="toggleFolder('0_6_0_')">▼</span><span id="img_0_6_0_" class="iconfopen" onclick="toggleFolder('0_6_0_')"> </span><a class="el" href="dir_2da03d50b6347916fd28121e88466439.html" target="_self">coeff</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_0_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_6_0_0_" class="arrow" onclick="toggleFolder('0_6_0_0_')">▼</span><span id="img_0_6_0_0_" class="iconfopen" onclick="toggleFolder('0_6_0_0_')"> </span><a class="el" href="dir_86a4174b93db2020db4458f465617054.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_0_0_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="polyCoeff_8cpp.html" target="_self">polyCoeff.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_0_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_6_0_1_" class="arrow" onclick="toggleFolder('0_6_0_1_')">▼</span><span id="img_0_6_0_1_" class="iconfopen" onclick="toggleFolder('0_6_0_1_')"> </span><a class="el" href="dir_d9bdef71d547e79a3915b1057230bd19.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_0_1_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><a href="polyCoeff_8h_source.html"><span class="icondoc"></span></a><a class="el" href="polyCoeff_8h.html" target="_self">polyCoeff.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_6_1_" class="arrow" onclick="toggleFolder('0_6_1_')">▼</span><span id="img_0_6_1_" class="iconfopen" onclick="toggleFolder('0_6_1_')"> </span><a class="el" href="dir_5c663bd7ffac62a07452e27b2b30c948.html" target="_self">utils</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_6_1_0_" class="arrow" onclick="toggleFolder('0_6_1_0_')">▼</span><span id="img_0_6_1_0_" class="iconfopen" onclick="toggleFolder('0_6_1_0_')"> </span><a class="el" href="dir_a82f4dad88709a7f727912f1ce60fba0.html" target="_self">private</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_1_0_0_"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="polyIO_8cpp.html" target="_self">polyIO.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_1_0_1_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="polyMFEMUtils_8cpp.html" target="_self">polyMFEMUtils.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_1_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_6_1_1_" class="arrow" onclick="toggleFolder('0_6_1_1_')">▼</span><span id="img_0_6_1_1_" class="iconfopen" onclick="toggleFolder('0_6_1_1_')"> </span><a class="el" href="dir_1ce48574fa7b57587706b1af262d1e55.html" target="_self">public</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_1_1_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><a href="polyIO_8h_source.html"><span class="icondoc"></span></a><a class="el" href="polyIO_8h.html" target="_self">polyIO.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_1_1_1_"><td class="entry"><span style="width:80px;display:inline-block;"> </span><a href="polyMFEMUtils_8h_source.html"><span class="icondoc"></span></a><a class="el" href="polyMFEMUtils_8h.html" target="_self">polyMFEMUtils.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')"> </span><a class="el" href="dir_59425e443f801f1f2fd8bbe4959a3ccf.html" target="_self">tests</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">▼</span><span id="img_1_0_" class="iconfopen" onclick="toggleFolder('1_0_')"> </span><a class="el" href="dir_ce3bf6daddda59a58b5b9429da3f76b4.html" target="_self">config</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="configTest_8cpp.html" target="_self">configTest.cpp</a></td><td class="desc">Unit tests for the <a class="el" href="classConfig.html" title="Singleton class to manage configuration settings loaded from a YAML file.">Config</a> class </td></tr>
|
||||
<tr id="row_1_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">▼</span><span id="img_1_1_" class="iconfopen" onclick="toggleFolder('1_1_')"> </span><a class="el" href="dir_6cfc89239232d12b3feb44b30f54e02f.html" target="_self">const</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="constTest_8cpp.html" target="_self">constTest.cpp</a></td><td class="desc">Unit tests for the const class </td></tr>
|
||||
<tr id="row_1_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_2_" class="arrow" onclick="toggleFolder('1_2_')">▼</span><span id="img_1_2_" class="iconfopen" onclick="toggleFolder('1_2_')"> </span><a class="el" href="dir_bc1cc3abf5d5430dc6e21979095d09f3.html" target="_self">dobj</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="DObjectTest_8cpp.html" target="_self">DObjectTest.cpp</a></td><td class="desc">Unit tests for the <a class="el" href="classDObject.html" title="A universal data container class.">DObject</a> class </td></tr>
|
||||
<tr id="row_1_2_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="LockableDObjectTest_8cpp.html" target="_self">LockableDObjectTest.cpp</a></td><td class="desc">Unit tests for the <a class="el" href="classLockableDObject.html" title="Wrapper for DObject with thread-safe access.">LockableDObject</a> class </td></tr>
|
||||
<tr id="row_1_2_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="MetadataTest_8cpp.html" target="_self">MetadataTest.cpp</a></td><td class="desc">Unit tests and integration tests for the <a class="el" href="classMetadata.html" title="Represents metadata information for data objects in the dobj module.">Metadata</a> class </td></tr>
|
||||
<tr id="row_1_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_3_" class="arrow" onclick="toggleFolder('1_3_')">▼</span><span id="img_1_3_" class="iconfopen" onclick="toggleFolder('1_3_')"> </span><a class="el" href="dir_388d1cd783f992dee884a2918d77a3d7.html" target="_self">dobj_sandbox</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_3_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="testDObject_8cpp.html" target="_self">testDObject.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_4_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_4_" class="arrow" onclick="toggleFolder('1_4_')">▼</span><span id="img_1_4_" class="iconfopen" onclick="toggleFolder('1_4_')"> </span><a class="el" href="dir_0c07588a470b646c09b0414ac8faaf7b.html" target="_self">meshIO</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_4_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="meshIOTest_8cpp.html" target="_self">meshIOTest.cpp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_5_" class="arrow" onclick="toggleFolder('1_5_')">▼</span><span id="img_1_5_" class="iconfopen" onclick="toggleFolder('1_5_')"> </span><a class="el" href="dir_a0668aa070a38eaa8236727e19a9b15f.html" target="_self">opatIO</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_5_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="opatIOTest_8cpp.html" target="_self">opatIOTest.cpp</a></td><td class="desc">Unit tests for the <a class="el" href="classOpatIO.html" title="Class to manage the input/output operations for OPAT files.">OpatIO</a> class and associated structs </td></tr>
|
||||
<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><span id="img_2_" class="iconfopen" onclick="toggleFolder('2_')"> </span><a class="el" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html" target="_self">utils</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_2_0_" class="arrow" onclick="toggleFolder('2_0_')">▼</span><span id="img_2_0_" class="iconfopen" onclick="toggleFolder('2_0_')"> </span><a class="el" href="dir_1acdc3d0c73584695295a90ad6ede3f9.html" target="_self">opatio</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_2_0_0_" class="arrow" onclick="toggleFolder('2_0_0_')">▼</span><span id="img_2_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_')"> </span><a class="el" href="dir_1c285457bb070251eb0c01a8da35233c.html" target="_self">build</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_2_0_0_0_" class="arrow" onclick="toggleFolder('2_0_0_0_')">▼</span><span id="img_2_0_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_0_')"> </span><a class="el" href="dir_62e13aaa8a72ed2c40d6887705a41af4.html" target="_self">lib</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span id="arr_2_0_0_0_0_" class="arrow" onclick="toggleFolder('2_0_0_0_0_')">▼</span><span id="img_2_0_0_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_0_0_')"> </span><a class="el" href="dir_9d738063cc7befc3d96860ca4c9257b2.html" target="_self">opatio</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span id="arr_2_0_0_0_0_0_" class="arrow" onclick="toggleFolder('2_0_0_0_0_0_')">▼</span><span id="img_2_0_0_0_0_0_" class="iconfopen" onclick="toggleFolder('2_0_0_0_0_0_')"> </span><a class="el" href="dir_6de2166d97f28f4ecd4d72a5f12aecb0.html" target="_self">opat</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_0_0_"><td class="entry"><span style="width:112px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="build_2lib_2opatio_2opat_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_0_1_" class="even"><td class="entry"><span style="width:112px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="build_2lib_2opatio_2opat_2opat_8py.html" target="_self">opat.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_0_0_0_1_"><td class="entry"><span style="width:96px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="build_2lib_2opatio_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_2_0_1_" class="arrow" onclick="toggleFolder('2_0_1_')">▼</span><span id="img_2_0_1_" class="iconfopen" onclick="toggleFolder('2_0_1_')"> </span><a class="el" href="dir_da765f8f0017804fdc0f96160e2cbe8b.html" target="_self">src</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_2_0_1_0_" class="arrow" onclick="toggleFolder('2_0_1_0_')">▼</span><span id="img_2_0_1_0_" class="iconfopen" onclick="toggleFolder('2_0_1_0_')"> </span><a class="el" href="dir_4a32f98eb1fc28521b674ecacd8e38cc.html" target="_self">opatio</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span id="arr_2_0_1_0_0_" class="arrow" onclick="toggleFolder('2_0_1_0_0_')">▼</span><span id="img_2_0_1_0_0_" class="iconfopen" onclick="toggleFolder('2_0_1_0_0_')"> </span><a class="el" href="dir_57b5236bc904b389e950b8d6ae8bc28a.html" target="_self">opat</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_0_0_"><td class="entry"><span style="width:96px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="src_2opatio_2opat_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_0_1_" class="even"><td class="entry"><span style="width:96px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="src_2opatio_2opat_2opat_8py.html" target="_self">opat.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_1_0_1_"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="src_2opatio_2____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_2_0_2_" class="arrow" onclick="toggleFolder('2_0_2_')">▼</span><span id="img_2_0_2_" class="iconfopen" onclick="toggleFolder('2_0_2_')"> </span><a class="el" href="dir_1e20c6516504fdf3864b50bca0428df7.html" target="_self">utils</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_2_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="mkTestData_8py.html" target="_self">mkTestData.py</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
|
||||
@@ -94,7 +94,27 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
|
||||
|
||||
<h3><a id="index_a"></a>- a -</h3><ul>
|
||||
<li>add_integrator()
|
||||
: <a class="el" href="classCompositeNonlinearIntegrator.html#af336df4849e99a3bc95161f03868efc4">CompositeNonlinearIntegrator</a>
|
||||
</li>
|
||||
<li>AssembleElementGrad()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a19b6facddeba8256619981e6276f5815">BilinearIntegratorWrapper</a>
|
||||
, <a class="el" href="classCompositeNonlinearIntegrator.html#a2b466f6e16a5797f5ed50621fc4818a0">CompositeNonlinearIntegrator</a>
|
||||
, <a class="el" href="classNonlinearPowerIntegrator.html#a5d8116206e35119fbee20540f5bd3157">NonlinearPowerIntegrator</a>
|
||||
</li>
|
||||
<li>AssembleElementVector()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a10c3ac5bb62c91c3a437924e33a527d8">BilinearIntegratorWrapper</a>
|
||||
, <a class="el" href="classCompositeNonlinearIntegrator.html#a0a3c6ccf134c4566218eb3a33861214c">CompositeNonlinearIntegrator</a>
|
||||
, <a class="el" href="classNonlinearPowerIntegrator.html#a23b79c0ab632824ffda9b43928a00504">NonlinearPowerIntegrator</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_b"></a>- b -</h3><ul>
|
||||
<li>BilinearIntegratorWrapper()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a72155007095c629dfca4f349739e4a18">BilinearIntegratorWrapper</a>
|
||||
</li>
|
||||
<li>byteEnd
|
||||
: <a class="el" href="structTableIndex.html#a69c87fd1cb0b7a64a82c52c54193e5e6">TableIndex</a>
|
||||
</li>
|
||||
@@ -105,9 +125,30 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
|
||||
|
||||
<h3><a id="index_c"></a>- c -</h3><ul>
|
||||
<li>callAddToCache()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#adf7f5c651bdd5ca8c12f18a6a0f8a8e9">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>callCacheSize()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#aaa9517067ef84ab7fb6365536180ce13">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>callIsKeyInCache()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#a6d7d0e1bf82c1917dde20167697a03b1">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>callRegisterKeyNotFound()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#a447eb550ff20700e31bd530b7ca01592">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>CheckIfKeyUnknown()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#a4de7c133e8e296d7f9e713aa0b2c4329">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>comment
|
||||
: <a class="el" href="structHeader.html#a122331824871070af2c6cebc9698abd8">Header</a>
|
||||
</li>
|
||||
<li>CompositeNonlinearIntegrator()
|
||||
: <a class="el" href="classCompositeNonlinearIntegrator.html#aba931cf9d57170b7483eed0ade6cd459">CompositeNonlinearIntegrator</a>
|
||||
</li>
|
||||
<li>computeChecksum()
|
||||
: <a class="el" href="classOpatIO.html#af5c52b5d862f5b94ee847c6c791998db">OpatIO</a>
|
||||
</li>
|
||||
<li>Constant()
|
||||
: <a class="el" href="structConstant.html#a84ca5b6951cc8a8eccd083894302a857">Constant</a>
|
||||
</li>
|
||||
@@ -141,15 +182,6 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
<li>getByteSize()
|
||||
: <a class="el" href="classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e">Metadata</a>
|
||||
</li>
|
||||
<li>getClosestTables()
|
||||
: <a class="el" href="classOpatIO.html#a939e4edec4053517463f848648db770d">OpatIO</a>
|
||||
</li>
|
||||
<li>getClosestXTables()
|
||||
: <a class="el" href="classOpatIO.html#a83acf4fe2aec4e588453b5a39a4def1a">OpatIO</a>
|
||||
</li>
|
||||
<li>getClosestZTables()
|
||||
: <a class="el" href="classOpatIO.html#a9d9600e7af036deeada78da9afd4b65b">OpatIO</a>
|
||||
</li>
|
||||
<li>getData()
|
||||
: <a class="el" href="classDObject.html#a4862655c3634d019b0a45b811d6f7235">DObject</a>
|
||||
</li>
|
||||
@@ -174,11 +206,17 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
<li>getMaxQDepth()
|
||||
: <a class="el" href="classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01">OpatIO</a>
|
||||
</li>
|
||||
<li>GetMesh()
|
||||
: <a class="el" href="classMeshIO.html#a3e4bccff08abf9a28b3d64c8fb9f7317">MeshIO</a>
|
||||
</li>
|
||||
<li>getNumIndex()
|
||||
: <a class="el" href="classOpatIO.html#a8f7cc9a4ec8845c22df330678afd29c6">OpatIO</a>
|
||||
</li>
|
||||
<li>getOPATVersion()
|
||||
: <a class="el" href="classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f">OpatIO</a>
|
||||
</li>
|
||||
<li>getTable()
|
||||
: <a class="el" href="classOpatIO.html#a0817f135f44e3bdc610d30df145f118d">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#a5c35b863873239e023427864ed016f58">OpatIO</a>
|
||||
</li>
|
||||
<li>getTableIndex()
|
||||
: <a class="el" href="classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a">OpatIO</a>
|
||||
@@ -197,6 +235,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
|
||||
|
||||
<h3><a id="index_i"></a>- i -</h3><ul>
|
||||
<li>index
|
||||
: <a class="el" href="structTableIndex.html#a5abb8638b94f778674d999db0f506ecc">TableIndex</a>
|
||||
</li>
|
||||
<li>indexOffset
|
||||
: <a class="el" href="structHeader.html#a31039c09176a479defcbe38597eb9957">Header</a>
|
||||
</li>
|
||||
@@ -211,7 +252,12 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
</li>
|
||||
<li>isLoaded()
|
||||
: <a class="el" href="classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630">Constants</a>
|
||||
, <a class="el" href="classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890">OpatIO</a>
|
||||
</li>
|
||||
<li>IsLoaded()
|
||||
: <a class="el" href="classMeshIO.html#a12495fc814254021d44e0509ac760672">MeshIO</a>
|
||||
</li>
|
||||
<li>isLoaded()
|
||||
: <a class="el" href="classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890">OpatIO</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -246,10 +292,10 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
: <a class="el" href="structOPATTable.html#a237ed50cee8df2144a2c47b5ffa443d3">OPATTable</a>
|
||||
</li>
|
||||
<li>lookupClosestTableID()
|
||||
: <a class="el" href="classOpatIO.html#af870ebd76bef969fa1f7c8270ac25cd8">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#a82715d95a5ddd1e78470b90fbd005c4d">OpatIO</a>
|
||||
</li>
|
||||
<li>lookupTableID()
|
||||
: <a class="el" href="classOpatIO.html#a37959ed6845e09302bb8c206e3e006e4">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#a1a4456b7745c0dd559eca72d5d744fc0">OpatIO</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -258,6 +304,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
<li>magic
|
||||
: <a class="el" href="structHeader.html#a87c9fc5b27c41fe65698f8538c23b182">Header</a>
|
||||
</li>
|
||||
<li>MeshIO()
|
||||
: <a class="el" href="classMeshIO.html#a8fe43b55b7851c805c276517b0aacac5">MeshIO</a>
|
||||
</li>
|
||||
<li>Metadata()
|
||||
: <a class="el" href="classMetadata.html#ae849560667461008cb72e83919c20be0">Metadata</a>
|
||||
</li>
|
||||
@@ -274,6 +323,12 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
<li>name
|
||||
: <a class="el" href="structConstant.html#a8d8d2a81e9a8f36dfa02b4d23a5be55c">Constant</a>
|
||||
</li>
|
||||
<li>NonlinearPowerIntegrator()
|
||||
: <a class="el" href="classNonlinearPowerIntegrator.html#a0578e900c8e95cfa1161362c98fd3d31">NonlinearPowerIntegrator</a>
|
||||
</li>
|
||||
<li>numIndex
|
||||
: <a class="el" href="structHeader.html#a2ab1f0eeaadd3be76f253a71d06e2b39">Header</a>
|
||||
</li>
|
||||
<li>numTables
|
||||
: <a class="el" href="structHeader.html#a162ced3913c3373d6d54c32274b99d72">Header</a>
|
||||
</li>
|
||||
@@ -303,7 +358,7 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
: <a class="el" href="classOpatIO.html#a117f7e1f45d6c410c21d0644e447bbb1">OpatIO</a>
|
||||
</li>
|
||||
<li>printTable()
|
||||
: <a class="el" href="classOpatIO.html#aa8037fc93588dd4c6cbec9bb7c76225f">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#afae90144930f190ed4018fbf328bf8ea">OpatIO</a>
|
||||
</li>
|
||||
<li>printTableIndex()
|
||||
: <a class="el" href="classOpatIO.html#afa623ba10f188097e555a682a4c69a9f">OpatIO</a>
|
||||
@@ -319,7 +374,7 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
: <a class="el" href="classDObject.html#a15afffdf339150fc872bf63bdd08d581">DObject</a>
|
||||
</li>
|
||||
<li>reserved
|
||||
: <a class="el" href="structHeader.html#af99697d38997984f2295c902d3ce1772">Header</a>
|
||||
: <a class="el" href="structHeader.html#a40ba18cda24aa3bb788555a209dd1bad">Header</a>
|
||||
</li>
|
||||
<li>runAllPlugins()
|
||||
: <a class="el" href="classDObject.html#a1223275dcbbf20334ea11707346acb93">DObject</a>
|
||||
@@ -400,6 +455,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
|
||||
|
||||
<h3><a id="index_v"></a>- v -</h3><ul>
|
||||
<li>validateAll()
|
||||
: <a class="el" href="classOpatIO.html#aafb5941c4c93104af8ba06f2271a3dc7">OpatIO</a>
|
||||
</li>
|
||||
<li>value
|
||||
: <a class="el" href="structConstant.html#a3bda8d7fadd6fb2510fd39962a065a02">Constant</a>
|
||||
</li>
|
||||
@@ -409,21 +467,16 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_x"></a>- x -</h3><ul>
|
||||
<li>X
|
||||
: <a class="el" href="structTableIndex.html#a303592792b2490da4105e294fb4666ca">TableIndex</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_z"></a>- z -</h3><ul>
|
||||
<li>Z
|
||||
: <a class="el" href="structTableIndex.html#a7271de867fee8bb48a71f70afebbf0bd">TableIndex</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index__7E"></a>- ~ -</h3><ul>
|
||||
<li>~BilinearIntegratorWrapper()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a6f550f0cb8d39c5ebc6e712762eb8504">BilinearIntegratorWrapper</a>
|
||||
</li>
|
||||
<li>~CompositeNonlinearIntegrator()
|
||||
: <a class="el" href="classCompositeNonlinearIntegrator.html#a93b4496295c20d461b971c65633570d8">CompositeNonlinearIntegrator</a>
|
||||
</li>
|
||||
<li>~MeshIO()
|
||||
: <a class="el" href="classMeshIO.html#abf2d0986e73b920c71c03dc61730846c">MeshIO</a>
|
||||
</li>
|
||||
<li>~OpatIO()
|
||||
: <a class="el" href="classOpatIO.html#ac34f611a9eab458329553d27e8bffec6">OpatIO</a>
|
||||
</li>
|
||||
|
||||
@@ -94,7 +94,52 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
|
||||
<div class="contents">
|
||||
 
|
||||
|
||||
<h3><a id="index_a"></a>- a -</h3><ul>
|
||||
<li>add_integrator()
|
||||
: <a class="el" href="classCompositeNonlinearIntegrator.html#af336df4849e99a3bc95161f03868efc4">CompositeNonlinearIntegrator</a>
|
||||
</li>
|
||||
<li>AssembleElementGrad()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a19b6facddeba8256619981e6276f5815">BilinearIntegratorWrapper</a>
|
||||
, <a class="el" href="classCompositeNonlinearIntegrator.html#a2b466f6e16a5797f5ed50621fc4818a0">CompositeNonlinearIntegrator</a>
|
||||
, <a class="el" href="classNonlinearPowerIntegrator.html#a5d8116206e35119fbee20540f5bd3157">NonlinearPowerIntegrator</a>
|
||||
</li>
|
||||
<li>AssembleElementVector()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a10c3ac5bb62c91c3a437924e33a527d8">BilinearIntegratorWrapper</a>
|
||||
, <a class="el" href="classCompositeNonlinearIntegrator.html#a0a3c6ccf134c4566218eb3a33861214c">CompositeNonlinearIntegrator</a>
|
||||
, <a class="el" href="classNonlinearPowerIntegrator.html#a23b79c0ab632824ffda9b43928a00504">NonlinearPowerIntegrator</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_b"></a>- b -</h3><ul>
|
||||
<li>BilinearIntegratorWrapper()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a72155007095c629dfca4f349739e4a18">BilinearIntegratorWrapper</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_c"></a>- c -</h3><ul>
|
||||
<li>callAddToCache()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#adf7f5c651bdd5ca8c12f18a6a0f8a8e9">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>callCacheSize()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#aaa9517067ef84ab7fb6365536180ce13">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>callIsKeyInCache()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#a6d7d0e1bf82c1917dde20167697a03b1">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>callRegisterKeyNotFound()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#a447eb550ff20700e31bd530b7ca01592">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>CheckIfKeyUnknown()
|
||||
: <a class="el" href="classconfigTestPrivateAccessor.html#a4de7c133e8e296d7f9e713aa0b2c4329">configTestPrivateAccessor</a>
|
||||
</li>
|
||||
<li>CompositeNonlinearIntegrator()
|
||||
: <a class="el" href="classCompositeNonlinearIntegrator.html#aba931cf9d57170b7483eed0ade6cd459">CompositeNonlinearIntegrator</a>
|
||||
</li>
|
||||
<li>computeChecksum()
|
||||
: <a class="el" href="classOpatIO.html#af5c52b5d862f5b94ee847c6c791998db">OpatIO</a>
|
||||
</li>
|
||||
<li>Constant()
|
||||
: <a class="el" href="structConstant.html#a84ca5b6951cc8a8eccd083894302a857">Constant</a>
|
||||
</li>
|
||||
@@ -116,15 +161,6 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
|
||||
<li>getByteSize()
|
||||
: <a class="el" href="classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e">Metadata</a>
|
||||
</li>
|
||||
<li>getClosestTables()
|
||||
: <a class="el" href="classOpatIO.html#a939e4edec4053517463f848648db770d">OpatIO</a>
|
||||
</li>
|
||||
<li>getClosestXTables()
|
||||
: <a class="el" href="classOpatIO.html#a83acf4fe2aec4e588453b5a39a4def1a">OpatIO</a>
|
||||
</li>
|
||||
<li>getClosestZTables()
|
||||
: <a class="el" href="classOpatIO.html#a9d9600e7af036deeada78da9afd4b65b">OpatIO</a>
|
||||
</li>
|
||||
<li>getData()
|
||||
: <a class="el" href="classDObject.html#a4862655c3634d019b0a45b811d6f7235">DObject</a>
|
||||
</li>
|
||||
@@ -149,11 +185,17 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
|
||||
<li>getMaxQDepth()
|
||||
: <a class="el" href="classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01">OpatIO</a>
|
||||
</li>
|
||||
<li>GetMesh()
|
||||
: <a class="el" href="classMeshIO.html#a3e4bccff08abf9a28b3d64c8fb9f7317">MeshIO</a>
|
||||
</li>
|
||||
<li>getNumIndex()
|
||||
: <a class="el" href="classOpatIO.html#a8f7cc9a4ec8845c22df330678afd29c6">OpatIO</a>
|
||||
</li>
|
||||
<li>getOPATVersion()
|
||||
: <a class="el" href="classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f">OpatIO</a>
|
||||
</li>
|
||||
<li>getTable()
|
||||
: <a class="el" href="classOpatIO.html#a0817f135f44e3bdc610d30df145f118d">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#a5c35b863873239e023427864ed016f58">OpatIO</a>
|
||||
</li>
|
||||
<li>getTableIndex()
|
||||
: <a class="el" href="classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a">OpatIO</a>
|
||||
@@ -177,7 +219,12 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
|
||||
</li>
|
||||
<li>isLoaded()
|
||||
: <a class="el" href="classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630">Constants</a>
|
||||
, <a class="el" href="classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890">OpatIO</a>
|
||||
</li>
|
||||
<li>IsLoaded()
|
||||
: <a class="el" href="classMeshIO.html#a12495fc814254021d44e0509ac760672">MeshIO</a>
|
||||
</li>
|
||||
<li>isLoaded()
|
||||
: <a class="el" href="classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890">OpatIO</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -200,21 +247,31 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
|
||||
: <a class="el" href="classLockableDObject.html#ae1a174a2740fa053626fe2820ee0efee">LockableDObject</a>
|
||||
</li>
|
||||
<li>lookupClosestTableID()
|
||||
: <a class="el" href="classOpatIO.html#af870ebd76bef969fa1f7c8270ac25cd8">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#a82715d95a5ddd1e78470b90fbd005c4d">OpatIO</a>
|
||||
</li>
|
||||
<li>lookupTableID()
|
||||
: <a class="el" href="classOpatIO.html#a37959ed6845e09302bb8c206e3e006e4">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#a1a4456b7745c0dd559eca72d5d744fc0">OpatIO</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_m"></a>- m -</h3><ul>
|
||||
<li>MeshIO()
|
||||
: <a class="el" href="classMeshIO.html#a8fe43b55b7851c805c276517b0aacac5">MeshIO</a>
|
||||
</li>
|
||||
<li>Metadata()
|
||||
: <a class="el" href="classMetadata.html#ae849560667461008cb72e83919c20be0">Metadata</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_n"></a>- n -</h3><ul>
|
||||
<li>NonlinearPowerIntegrator()
|
||||
: <a class="el" href="classNonlinearPowerIntegrator.html#a0578e900c8e95cfa1161362c98fd3d31">NonlinearPowerIntegrator</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_o"></a>- o -</h3><ul>
|
||||
<li>OpatIO()
|
||||
: <a class="el" href="classOpatIO.html#a7f3436b3ac0dbe141b08d8064550f1b3">OpatIO</a>
|
||||
@@ -230,7 +287,7 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
|
||||
: <a class="el" href="classOpatIO.html#a117f7e1f45d6c410c21d0644e447bbb1">OpatIO</a>
|
||||
</li>
|
||||
<li>printTable()
|
||||
: <a class="el" href="classOpatIO.html#aa8037fc93588dd4c6cbec9bb7c76225f">OpatIO</a>
|
||||
: <a class="el" href="classOpatIO.html#afae90144930f190ed4018fbf328bf8ea">OpatIO</a>
|
||||
</li>
|
||||
<li>printTableIndex()
|
||||
: <a class="el" href="classOpatIO.html#afa623ba10f188097e555a682a4c69a9f">OpatIO</a>
|
||||
@@ -308,7 +365,23 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_v"></a>- v -</h3><ul>
|
||||
<li>validateAll()
|
||||
: <a class="el" href="classOpatIO.html#aafb5941c4c93104af8ba06f2271a3dc7">OpatIO</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index__7E"></a>- ~ -</h3><ul>
|
||||
<li>~BilinearIntegratorWrapper()
|
||||
: <a class="el" href="classBilinearIntegratorWrapper.html#a6f550f0cb8d39c5ebc6e712762eb8504">BilinearIntegratorWrapper</a>
|
||||
</li>
|
||||
<li>~CompositeNonlinearIntegrator()
|
||||
: <a class="el" href="classCompositeNonlinearIntegrator.html#a93b4496295c20d461b971c65633570d8">CompositeNonlinearIntegrator</a>
|
||||
</li>
|
||||
<li>~MeshIO()
|
||||
: <a class="el" href="classMeshIO.html#abf2d0986e73b920c71c03dc61730846c">MeshIO</a>
|
||||
</li>
|
||||
<li>~OpatIO()
|
||||
: <a class="el" href="classOpatIO.html#ac34f611a9eab458329553d27e8bffec6">OpatIO</a>
|
||||
</li>
|
||||
|
||||
@@ -94,9 +94,18 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); })
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
|
||||
|
||||
<h3><a id="index_c"></a>- c -</h3><ul>
|
||||
<li>ComputeMeshVolume()
|
||||
: <a class="el" href="meshIOTest_8cpp.html#aa6ba7ddcf2f95334ee7497d22d9f0f25">meshIOTest.cpp</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_e"></a>- e -</h3><ul>
|
||||
<li>EXAMPLE_FILENAME
|
||||
: <a class="el" href="opatIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470">opatIOTest.cpp</a>
|
||||
: <a class="el" href="configTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470">configTest.cpp</a>
|
||||
, <a class="el" href="meshIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470">meshIOTest.cpp</a>
|
||||
, <a class="el" href="opatIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470">opatIOTest.cpp</a>
|
||||
</li>
|
||||
<li>EXPORT_SYMBOL
|
||||
: <a class="el" href="Metadata_8h.html#ab57c319c35ea0fbacf781f2ecb3a4339">Metadata.h</a>
|
||||
@@ -121,6 +130,16 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); })
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_n"></a>- n -</h3><ul>
|
||||
<li>n_r
|
||||
: <a class="el" href="mkTestData_8py.html#ac27efbef0ea18292765b28e05846a5fa">mkTestData.py</a>
|
||||
</li>
|
||||
<li>n_t
|
||||
: <a class="el" href="mkTestData_8py.html#a5434a318e4d2951f6bea109ea95f7951">mkTestData.py</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_o"></a>- o -</h3><ul>
|
||||
<li>OpatIO
|
||||
: <a class="el" href="build_2lib_2opatio_2____init_____8py.html#a2c9c36721bf1f103f2298cc089221b7b">__init__.py</a>
|
||||
@@ -133,6 +152,9 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); })
|
||||
|
||||
|
||||
<h3><a id="index_s"></a>- s -</h3><ul>
|
||||
<li>seed()
|
||||
: <a class="el" href="mkTestData_8py.html#a5023056b6831877dbf79e9a082600e78">mkTestData.py</a>
|
||||
</li>
|
||||
<li>swap_bytes()
|
||||
: <a class="el" href="opatIO_8cpp.html#a33dcb837958721219b4198c267c7fd0f">opatIO.cpp</a>
|
||||
</li>
|
||||
@@ -141,10 +163,15 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); })
|
||||
|
||||
<h3><a id="index_t"></a>- t -</h3><ul>
|
||||
<li>TEST_F()
|
||||
: <a class="el" href="MetadataTest_8cpp.html#a8854bc3bdde52a7c73927f17e4330a89">MetadataTest.cpp</a>
|
||||
, <a class="el" href="constTest_8cpp.html#a92b56f4876b91eb7d628492fe220babb">constTest.cpp</a>
|
||||
: <a class="el" href="meshIOTest_8cpp.html#a94653e9cb8a24090f2c4c02fc8bfdfbb">meshIOTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#a5c2342bfafc553d23125fb3ae05af2a7">LockableDObjectTest.cpp</a>
|
||||
, <a class="el" href="MetadataTest_8cpp.html#adbb375b61bd5961e38e8c5b51e538e75">MetadataTest.cpp</a>
|
||||
, <a class="el" href="meshIOTest_8cpp.html#a0cb4f62baac8f32aaefbab6c9e5b93bc">meshIOTest.cpp</a>
|
||||
, <a class="el" href="configTest_8cpp.html#a2aab0fda134fe1428d1b647316df718f">configTest.cpp</a>
|
||||
, <a class="el" href="meshIOTest_8cpp.html#af5cb16ec6a340bbd827bd2d7adac4f68">meshIOTest.cpp</a>
|
||||
, <a class="el" href="opatIOTest_8cpp.html#ac3a79e8bac7362518c4495f4b9136a99">opatIOTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#a8b547408c52b669c3c220aa640927474">LockableDObjectTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#aca2c2dcb4394094c27dc37453ea9a37f">LockableDObjectTest.cpp</a>
|
||||
, <a class="el" href="configTest_8cpp.html#ae70df34c2371cc5c992f20fbf6e6354b">configTest.cpp</a>
|
||||
, <a class="el" href="constTest_8cpp.html#ae050a185fbc60349459af47e661bd3e1">constTest.cpp</a>
|
||||
, <a class="el" href="DObjectTest_8cpp.html#a3fc628b3943158a063739c03a4c2ca1f">DObjectTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#a5c694ab0fb07081c02cac1f0bc3f3e73">LockableDObjectTest.cpp</a>
|
||||
@@ -152,6 +179,35 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); })
|
||||
<li>testFunction()
|
||||
: <a class="el" href="testDObject_8cpp.html#a5cce1ff8e67a00ce9122097c4bbb5b02">testDObject.cpp</a>
|
||||
</li>
|
||||
<li>theta_initial_guess()
|
||||
: <a class="el" href="polyCoeff_8cpp.html#a1ac632f61c6dcebf44b4802e11878ad1">polyCoeff.cpp</a>
|
||||
, <a class="el" href="polyCoeff_8h.html#a1ac632f61c6dcebf44b4802e11878ad1">polyCoeff.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_v"></a>- v -</h3><ul>
|
||||
<li>vec_xi_coeff_func()
|
||||
: <a class="el" href="polyCoeff_8cpp.html#a56f9e1ef409635c3a47be264168177fc">polyCoeff.cpp</a>
|
||||
, <a class="el" href="polyCoeff_8h.html#a56f9e1ef409635c3a47be264168177fc">polyCoeff.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_w"></a>- w -</h3><ul>
|
||||
<li>write_solution_to_csv()
|
||||
: <a class="el" href="polyIO_8cpp.html#aead019e8410035332b8c834c88f12a3e">polyIO.cpp</a>
|
||||
, <a class="el" href="polyIO_8h.html#aead019e8410035332b8c834c88f12a3e">polyIO.h</a>
|
||||
, <a class="el" href="polyMFEMUtils_8h.html#aead019e8410035332b8c834c88f12a3e">polyMFEMUtils.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_x"></a>- x -</h3><ul>
|
||||
<li>xi_coeff_func()
|
||||
: <a class="el" href="polyCoeff_8cpp.html#a6869b3eabb3ea76f69cf49572dead231">polyCoeff.cpp</a>
|
||||
, <a class="el" href="polyCoeff_8h.html#a6869b3eabb3ea76f69cf49572dead231">polyCoeff.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
||||
@@ -94,6 +94,13 @@ $(document).ready(function(){initNavTree('globals_func.html',''); initResizable(
|
||||
<div class="contents">
|
||||
 
|
||||
|
||||
<h3><a id="index_c"></a>- c -</h3><ul>
|
||||
<li>ComputeMeshVolume()
|
||||
: <a class="el" href="meshIOTest_8cpp.html#aa6ba7ddcf2f95334ee7497d22d9f0f25">meshIOTest.cpp</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_i"></a>- i -</h3><ul>
|
||||
<li>initlaize_opac()
|
||||
: <a class="el" href="opac_8h.html#a6243596bfdc55d73744ebecd9e577ee8">opac.h</a>
|
||||
@@ -120,6 +127,9 @@ $(document).ready(function(){initNavTree('globals_func.html',''); initResizable(
|
||||
|
||||
|
||||
<h3><a id="index_s"></a>- s -</h3><ul>
|
||||
<li>seed()
|
||||
: <a class="el" href="mkTestData_8py.html#a5023056b6831877dbf79e9a082600e78">mkTestData.py</a>
|
||||
</li>
|
||||
<li>swap_bytes()
|
||||
: <a class="el" href="opatIO_8cpp.html#a33dcb837958721219b4198c267c7fd0f">opatIO.cpp</a>
|
||||
</li>
|
||||
@@ -128,10 +138,15 @@ $(document).ready(function(){initNavTree('globals_func.html',''); initResizable(
|
||||
|
||||
<h3><a id="index_t"></a>- t -</h3><ul>
|
||||
<li>TEST_F()
|
||||
: <a class="el" href="MetadataTest_8cpp.html#a8854bc3bdde52a7c73927f17e4330a89">MetadataTest.cpp</a>
|
||||
, <a class="el" href="constTest_8cpp.html#a92b56f4876b91eb7d628492fe220babb">constTest.cpp</a>
|
||||
: <a class="el" href="meshIOTest_8cpp.html#a94653e9cb8a24090f2c4c02fc8bfdfbb">meshIOTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#a5c2342bfafc553d23125fb3ae05af2a7">LockableDObjectTest.cpp</a>
|
||||
, <a class="el" href="MetadataTest_8cpp.html#adbb375b61bd5961e38e8c5b51e538e75">MetadataTest.cpp</a>
|
||||
, <a class="el" href="meshIOTest_8cpp.html#a0cb4f62baac8f32aaefbab6c9e5b93bc">meshIOTest.cpp</a>
|
||||
, <a class="el" href="configTest_8cpp.html#a2aab0fda134fe1428d1b647316df718f">configTest.cpp</a>
|
||||
, <a class="el" href="meshIOTest_8cpp.html#af5cb16ec6a340bbd827bd2d7adac4f68">meshIOTest.cpp</a>
|
||||
, <a class="el" href="opatIOTest_8cpp.html#ac3a79e8bac7362518c4495f4b9136a99">opatIOTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#a8b547408c52b669c3c220aa640927474">LockableDObjectTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#aca2c2dcb4394094c27dc37453ea9a37f">LockableDObjectTest.cpp</a>
|
||||
, <a class="el" href="configTest_8cpp.html#ae70df34c2371cc5c992f20fbf6e6354b">configTest.cpp</a>
|
||||
, <a class="el" href="constTest_8cpp.html#ae050a185fbc60349459af47e661bd3e1">constTest.cpp</a>
|
||||
, <a class="el" href="DObjectTest_8cpp.html#a3fc628b3943158a063739c03a4c2ca1f">DObjectTest.cpp</a>
|
||||
, <a class="el" href="LockableDObjectTest_8cpp.html#a5c694ab0fb07081c02cac1f0bc3f3e73">LockableDObjectTest.cpp</a>
|
||||
@@ -139,6 +154,35 @@ $(document).ready(function(){initNavTree('globals_func.html',''); initResizable(
|
||||
<li>testFunction()
|
||||
: <a class="el" href="testDObject_8cpp.html#a5cce1ff8e67a00ce9122097c4bbb5b02">testDObject.cpp</a>
|
||||
</li>
|
||||
<li>theta_initial_guess()
|
||||
: <a class="el" href="polyCoeff_8cpp.html#a1ac632f61c6dcebf44b4802e11878ad1">polyCoeff.cpp</a>
|
||||
, <a class="el" href="polyCoeff_8h.html#a1ac632f61c6dcebf44b4802e11878ad1">polyCoeff.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_v"></a>- v -</h3><ul>
|
||||
<li>vec_xi_coeff_func()
|
||||
: <a class="el" href="polyCoeff_8cpp.html#a56f9e1ef409635c3a47be264168177fc">polyCoeff.cpp</a>
|
||||
, <a class="el" href="polyCoeff_8h.html#a56f9e1ef409635c3a47be264168177fc">polyCoeff.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_w"></a>- w -</h3><ul>
|
||||
<li>write_solution_to_csv()
|
||||
: <a class="el" href="polyIO_8cpp.html#aead019e8410035332b8c834c88f12a3e">polyIO.cpp</a>
|
||||
, <a class="el" href="polyIO_8h.html#aead019e8410035332b8c834c88f12a3e">polyIO.h</a>
|
||||
, <a class="el" href="polyMFEMUtils_8h.html#aead019e8410035332b8c834c88f12a3e">polyMFEMUtils.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_x"></a>- x -</h3><ul>
|
||||
<li>xi_coeff_func()
|
||||
: <a class="el" href="polyCoeff_8cpp.html#a6869b3eabb3ea76f69cf49572dead231">polyCoeff.cpp</a>
|
||||
, <a class="el" href="polyCoeff_8h.html#a6869b3eabb3ea76f69cf49572dead231">polyCoeff.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
||||
@@ -57,7 +57,8 @@ var NAVTREE =
|
||||
|
||||
var NAVTREEINDEX =
|
||||
[
|
||||
"DObjectTest_8cpp.html"
|
||||
"DObjectTest_8cpp.html",
|
||||
"opatIOTest_8cpp.html#a795aa3821c4c6f206678bc48acf95171"
|
||||
];
|
||||
|
||||
var SYNCONMSG = 'click to disable panel synchronisation';
|
||||
|
||||
@@ -1,159 +1,214 @@
|
||||
var NAVTREEINDEX0 =
|
||||
{
|
||||
"DObjectTest_8cpp.html":[3,0,1,1,0],
|
||||
"DObjectTest_8cpp.html#a0085cd05f0b182ba4fe7bc118656d68e":[3,0,1,1,0,4],
|
||||
"DObjectTest_8cpp.html#a12ce265622e9a5d51b7498e09b82a597":[3,0,1,1,0,1],
|
||||
"DObjectTest_8cpp.html#a2bbd3a7e662715f1af67ba7b26270278":[3,0,1,1,0,6],
|
||||
"DObjectTest_8cpp.html#a3fc628b3943158a063739c03a4c2ca1f":[3,0,1,1,0,3],
|
||||
"DObjectTest_8cpp.html#ab0d7e76fe973dea21f97cf26d3b3847b":[3,0,1,1,0,5],
|
||||
"DObjectTest_8cpp.html#af27429c4d3cf79aa1b90fddf10f7614e":[3,0,1,1,0,2],
|
||||
"DObject_8cpp.html":[3,0,0,1,0,0],
|
||||
"DObject_8cpp.html#a5b2896a287295bf59a0b9e4d0af21161":[3,0,0,1,0,0,0],
|
||||
"DObject_8h.html":[3,0,0,1,1,0],
|
||||
"DObject_8h_source.html":[3,0,0,1,1,0],
|
||||
"LockableDObjectTest_8cpp.html":[3,0,1,1,1],
|
||||
"LockableDObjectTest_8cpp.html#a470f4e60873d3ea6afc7c319e307760f":[3,0,1,1,1,1],
|
||||
"LockableDObjectTest_8cpp.html#a5c2342bfafc553d23125fb3ae05af2a7":[3,0,1,1,1,2],
|
||||
"LockableDObjectTest_8cpp.html#a5c694ab0fb07081c02cac1f0bc3f3e73":[3,0,1,1,1,3],
|
||||
"LockableDObjectTest_8cpp.html#a8b547408c52b669c3c220aa640927474":[3,0,1,1,1,5],
|
||||
"LockableDObjectTest_8cpp.html#aca2c2dcb4394094c27dc37453ea9a37f":[3,0,1,1,1,4],
|
||||
"LockableDObject_8cpp.html":[3,0,0,1,0,1],
|
||||
"LockableDObject_8h.html":[3,0,0,1,1,1],
|
||||
"LockableDObject_8h_source.html":[3,0,0,1,1,1],
|
||||
"MetadataTest_8cpp.html":[3,0,1,1,2],
|
||||
"MetadataTest_8cpp.html#a14e97feb26f21690d94245d65c26814b":[3,0,1,1,2,7],
|
||||
"MetadataTest_8cpp.html#a3dacb5bfda566836343874346c116906":[3,0,1,1,2,3],
|
||||
"MetadataTest_8cpp.html#a440de49952b45fad82f485ba48f92d50":[3,0,1,1,2,5],
|
||||
"MetadataTest_8cpp.html#a5ec8e48d5f46f67a4547c3b52f5f1cff":[3,0,1,1,2,8],
|
||||
"MetadataTest_8cpp.html#a61d09f069b2417969b664142aad8ce35":[3,0,1,1,2,1],
|
||||
"MetadataTest_8cpp.html#a761ab4dc62ca2bbe69d2be499493b883":[3,0,1,1,2,9],
|
||||
"MetadataTest_8cpp.html#a8854bc3bdde52a7c73927f17e4330a89":[3,0,1,1,2,6],
|
||||
"MetadataTest_8cpp.html#adbb375b61bd5961e38e8c5b51e538e75":[3,0,1,1,2,4],
|
||||
"MetadataTest_8cpp.html#afc6335b369a289eaa367897b899535d0":[3,0,1,1,2,2],
|
||||
"Metadata_8cpp.html":[3,0,0,1,0,2],
|
||||
"Metadata_8cpp.html#a9bc49cc23da2d1ff8b3e197630b9dfd2":[3,0,0,1,0,2,0],
|
||||
"Metadata_8h.html":[3,0,0,1,1,2],
|
||||
"Metadata_8h.html#ab57c319c35ea0fbacf781f2ecb3a4339":[3,0,0,1,1,2,1],
|
||||
"Metadata_8h_source.html":[3,0,0,1,1,2],
|
||||
"DObjectTest_8cpp.html":[3,0,1,2,0],
|
||||
"DObjectTest_8cpp.html#a0085cd05f0b182ba4fe7bc118656d68e":[3,0,1,2,0,4],
|
||||
"DObjectTest_8cpp.html#a12ce265622e9a5d51b7498e09b82a597":[3,0,1,2,0,1],
|
||||
"DObjectTest_8cpp.html#a2bbd3a7e662715f1af67ba7b26270278":[3,0,1,2,0,6],
|
||||
"DObjectTest_8cpp.html#a3fc628b3943158a063739c03a4c2ca1f":[3,0,1,2,0,3],
|
||||
"DObjectTest_8cpp.html#ab0d7e76fe973dea21f97cf26d3b3847b":[3,0,1,2,0,5],
|
||||
"DObjectTest_8cpp.html#af27429c4d3cf79aa1b90fddf10f7614e":[3,0,1,2,0,2],
|
||||
"DObject_8cpp.html":[3,0,0,2,0,0],
|
||||
"DObject_8cpp.html#a5b2896a287295bf59a0b9e4d0af21161":[3,0,0,2,0,0,0],
|
||||
"DObject_8h.html":[3,0,0,2,1,0],
|
||||
"DObject_8h_source.html":[3,0,0,2,1,0],
|
||||
"LockableDObjectTest_8cpp.html":[3,0,1,2,1],
|
||||
"LockableDObjectTest_8cpp.html#a470f4e60873d3ea6afc7c319e307760f":[3,0,1,2,1,1],
|
||||
"LockableDObjectTest_8cpp.html#a5c2342bfafc553d23125fb3ae05af2a7":[3,0,1,2,1,2],
|
||||
"LockableDObjectTest_8cpp.html#a5c694ab0fb07081c02cac1f0bc3f3e73":[3,0,1,2,1,3],
|
||||
"LockableDObjectTest_8cpp.html#a8b547408c52b669c3c220aa640927474":[3,0,1,2,1,5],
|
||||
"LockableDObjectTest_8cpp.html#aca2c2dcb4394094c27dc37453ea9a37f":[3,0,1,2,1,4],
|
||||
"LockableDObject_8cpp.html":[3,0,0,2,0,1],
|
||||
"LockableDObject_8h.html":[3,0,0,2,1,1],
|
||||
"LockableDObject_8h_source.html":[3,0,0,2,1,1],
|
||||
"MetadataTest_8cpp.html":[3,0,1,2,2],
|
||||
"MetadataTest_8cpp.html#a14e97feb26f21690d94245d65c26814b":[3,0,1,2,2,7],
|
||||
"MetadataTest_8cpp.html#a3dacb5bfda566836343874346c116906":[3,0,1,2,2,3],
|
||||
"MetadataTest_8cpp.html#a440de49952b45fad82f485ba48f92d50":[3,0,1,2,2,5],
|
||||
"MetadataTest_8cpp.html#a5ec8e48d5f46f67a4547c3b52f5f1cff":[3,0,1,2,2,8],
|
||||
"MetadataTest_8cpp.html#a61d09f069b2417969b664142aad8ce35":[3,0,1,2,2,1],
|
||||
"MetadataTest_8cpp.html#a761ab4dc62ca2bbe69d2be499493b883":[3,0,1,2,2,9],
|
||||
"MetadataTest_8cpp.html#a8854bc3bdde52a7c73927f17e4330a89":[3,0,1,2,2,6],
|
||||
"MetadataTest_8cpp.html#adbb375b61bd5961e38e8c5b51e538e75":[3,0,1,2,2,4],
|
||||
"MetadataTest_8cpp.html#afc6335b369a289eaa367897b899535d0":[3,0,1,2,2,2],
|
||||
"Metadata_8cpp.html":[3,0,0,2,0,2],
|
||||
"Metadata_8cpp.html#a9bc49cc23da2d1ff8b3e197630b9dfd2":[3,0,0,2,0,2,0],
|
||||
"Metadata_8h.html":[3,0,0,2,1,2],
|
||||
"Metadata_8h.html#ab57c319c35ea0fbacf781f2ecb3a4339":[3,0,0,2,1,2,1],
|
||||
"Metadata_8h_source.html":[3,0,0,2,1,2],
|
||||
"annotated.html":[2,0],
|
||||
"build_2lib_2opatio_2____init_____8py.html":[3,0,2,0,0,0,0,1],
|
||||
"build_2lib_2opatio_2____init_____8py.html#a2c9c36721bf1f103f2298cc089221b7b":[3,0,2,0,0,0,0,1,0],
|
||||
"build_2lib_2opatio_2opat_2____init_____8py.html":[3,0,2,0,0,0,0,0,0],
|
||||
"build_2lib_2opatio_2opat_2opat_8py.html":[3,0,2,0,0,0,0,0,1],
|
||||
"classConstants.html":[2,0,1],
|
||||
"classConstants.html#a2aa041fd223f259e55bf098c90581039":[2,0,1,1],
|
||||
"classConstants.html#a36ddd7fe6857d1bbf6d1c84d4ed7bc19":[2,0,1,0],
|
||||
"classConstants.html#ab9de36fa145552a3e7964e7e85a67149":[2,0,1,3],
|
||||
"classConstants.html#ad75620743b867fc20d4a05027d1a1c01":[2,0,1,4],
|
||||
"classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630":[2,0,1,2],
|
||||
"classDObject.html":[2,0,3],
|
||||
"classDObject.html#a0ae54853e18265657296bfb5ac3bf9d0":[2,0,3,2],
|
||||
"classDObject.html#a1223275dcbbf20334ea11707346acb93":[2,0,3,9],
|
||||
"classDObject.html#a15afffdf339150fc872bf63bdd08d581":[2,0,3,8],
|
||||
"classDObject.html#a358d5f015da09ae5f0cbb46f3fd9e401":[2,0,3,16],
|
||||
"classDObject.html#a3dce47a519f9da5085c0c5ac1eea4f38":[2,0,3,13],
|
||||
"classDObject.html#a4862655c3634d019b0a45b811d6f7235":[2,0,3,4],
|
||||
"classDObject.html#a598321f3b8524b98df72393c04d7470c":[2,0,3,3],
|
||||
"classDObject.html#a5b2896a287295bf59a0b9e4d0af21161":[2,0,3,15],
|
||||
"classDObject.html#a6f0023aee463e71d92442dcf61b6ed47":[2,0,3,12],
|
||||
"classDObject.html#a79a2ecac4130ef3df272bdfeed26a620":[2,0,3,0],
|
||||
"classDObject.html#a99072eb52bb22745f0248f273fbf28fb":[2,0,3,10],
|
||||
"classDObject.html#a99b8688849e11501033a25f61efb8356":[2,0,3,14],
|
||||
"classDObject.html#ab1718571434e84e90f1ec463e4786a8a":[2,0,3,11],
|
||||
"classDObject.html#aca2db093c1c8c6f7893de07544aed619":[2,0,3,5],
|
||||
"classDObject.html#ae47bf220fbe2173cf6933c2380035dbd":[2,0,3,7],
|
||||
"classDObject.html#af11334d08ef85c68b3aae7554548e5a7":[2,0,3,1],
|
||||
"classDObject.html#afa8926d916081de72478cb8813c25e98":[2,0,3,6],
|
||||
"classDObjectTest.html":[2,0,4],
|
||||
"classDObjectTest.html#a2150dd7881a4d1c68ce51344f174738e":[2,0,4,2],
|
||||
"classDObjectTest.html#a95ba0f78c44e0bd46603de32028b7be6":[2,0,4,0],
|
||||
"classDObjectTest.html#ac753942590ae6ee456e6f3dd8b205df2":[2,0,4,1],
|
||||
"classLockableDObject.html":[2,0,6],
|
||||
"classLockableDObject.html#a1481ed99dcd837490bf28309aadaedfb":[2,0,6,3],
|
||||
"classLockableDObject.html#adcfe201fc728cc1c6fcf638a566ba9a1":[2,0,6,1],
|
||||
"classLockableDObject.html#ade38ca54703913359fc3b4366f6e292a":[2,0,6,2],
|
||||
"classLockableDObject.html#ae1a174a2740fa053626fe2820ee0efee":[2,0,6,0],
|
||||
"classLockableDObjectTest.html":[2,0,7],
|
||||
"classLockableDObjectTest.html#a4ca643fb176141b51f4761dd3df64769":[2,0,7,0],
|
||||
"classLockableDObjectTest.html#a6f639c0023311b7900595ab11c40cd59":[2,0,7,1],
|
||||
"classMetadata.html":[2,0,8],
|
||||
"classMetadata.html#a07035de7b0c780ef340e1a11c60a4d2b":[2,0,8,6],
|
||||
"classMetadata.html#a365c4594ad65c3b10b40a1cf4f4aea26":[2,0,8,8],
|
||||
"classMetadata.html#a3d56c8c5adee4b8c7d2089802211522b":[2,0,8,1],
|
||||
"classMetadata.html#a412c0c0b8754d85f9edbbdcd637f3b20":[2,0,8,4],
|
||||
"classMetadata.html#a88f4f57d443e2b7664e75e57a29dfbf0":[2,0,8,7],
|
||||
"classMetadata.html#a9bc49cc23da2d1ff8b3e197630b9dfd2":[2,0,8,10],
|
||||
"classMetadata.html#abe52c81e04665628666b4140cd346b69":[2,0,8,5],
|
||||
"classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e":[2,0,8,2],
|
||||
"classMetadata.html#ae849560667461008cb72e83919c20be0":[2,0,8,0],
|
||||
"classMetadata.html#aeed7f22ccc61d9a3d6425441d381dcdc":[2,0,8,3],
|
||||
"classMetadata.html#af5264d1666839e69c192b565b5cfa606":[2,0,8,9],
|
||||
"classMetadataTest.html":[2,0,9],
|
||||
"classMetadataTest.html#a24075d61d37dceacd353ecde16a1ac71":[2,0,9,1],
|
||||
"classMetadataTest.html#a6273a370a10b42155af951a8fc2c47fa":[2,0,9,0],
|
||||
"classOpatIO.html":[2,0,10],
|
||||
"classOpatIO.html#a0817f135f44e3bdc610d30df145f118d":[2,0,10,9],
|
||||
"classOpatIO.html#a117f7e1f45d6c410c21d0644e447bbb1":[2,0,10,15],
|
||||
"classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f":[2,0,10,8],
|
||||
"classOpatIO.html#a3578ac9bad40dd45ada3459f92a93b56":[2,0,10,12],
|
||||
"classOpatIO.html#a37959ed6845e09302bb8c206e3e006e4":[2,0,10,14],
|
||||
"classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01":[2,0,10,7],
|
||||
"classOpatIO.html#a7f3436b3ac0dbe141b08d8064550f1b3":[2,0,10,0],
|
||||
"classOpatIO.html#a83acf4fe2aec4e588453b5a39a4def1a":[2,0,10,4],
|
||||
"classOpatIO.html#a939e4edec4053517463f848648db770d":[2,0,10,3],
|
||||
"classOpatIO.html#a9d9600e7af036deeada78da9afd4b65b":[2,0,10,5],
|
||||
"classOpatIO.html#aa8037fc93588dd4c6cbec9bb7c76225f":[2,0,10,16],
|
||||
"classOpatIO.html#ab0edd41690b8d5c1775f87439cf82cb5":[2,0,10,19],
|
||||
"classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890":[2,0,10,11],
|
||||
"classOpatIO.html#ac1c1a6159f82462fedf9b526ddcc19a6":[2,0,10,20],
|
||||
"classOpatIO.html#ac34f611a9eab458329553d27e8bffec6":[2,0,10,2],
|
||||
"classOpatIO.html#ad189e0f239bc4184fecf7daef7923272":[2,0,10,18],
|
||||
"classOpatIO.html#ae24b6a4f78529c4fe4719ea5438d5ed6":[2,0,10,1],
|
||||
"classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a":[2,0,10,10],
|
||||
"classOpatIO.html#af870ebd76bef969fa1f7c8270ac25cd8":[2,0,10,13],
|
||||
"classOpatIO.html#afa623ba10f188097e555a682a4c69a9f":[2,0,10,17],
|
||||
"classOpatIO.html#afe725b647bc5bb802f6d711fc5dca3ab":[2,0,10,6],
|
||||
"classconstTest.html":[2,0,2],
|
||||
"classconstTest.html#af4753885bf401953202f89d455a2702f":[2,0,2,0],
|
||||
"classBilinearIntegratorWrapper.html":[2,0,0],
|
||||
"classBilinearIntegratorWrapper.html#a10c3ac5bb62c91c3a437924e33a527d8":[2,0,0,3],
|
||||
"classBilinearIntegratorWrapper.html#a19b6facddeba8256619981e6276f5815":[2,0,0,2],
|
||||
"classBilinearIntegratorWrapper.html#a6f550f0cb8d39c5ebc6e712762eb8504":[2,0,0,1],
|
||||
"classBilinearIntegratorWrapper.html#a72155007095c629dfca4f349739e4a18":[2,0,0,0],
|
||||
"classCompositeNonlinearIntegrator.html":[2,0,1],
|
||||
"classCompositeNonlinearIntegrator.html#a0a3c6ccf134c4566218eb3a33861214c":[2,0,1,4],
|
||||
"classCompositeNonlinearIntegrator.html#a2b466f6e16a5797f5ed50621fc4818a0":[2,0,1,3],
|
||||
"classCompositeNonlinearIntegrator.html#a93b4496295c20d461b971c65633570d8":[2,0,1,1],
|
||||
"classCompositeNonlinearIntegrator.html#aba931cf9d57170b7483eed0ade6cd459":[2,0,1,0],
|
||||
"classCompositeNonlinearIntegrator.html#af336df4849e99a3bc95161f03868efc4":[2,0,1,2],
|
||||
"classConfig.html":[2,0,2],
|
||||
"classConstants.html":[2,0,6],
|
||||
"classConstants.html#a2aa041fd223f259e55bf098c90581039":[2,0,6,1],
|
||||
"classConstants.html#a36ddd7fe6857d1bbf6d1c84d4ed7bc19":[2,0,6,0],
|
||||
"classConstants.html#ab9de36fa145552a3e7964e7e85a67149":[2,0,6,3],
|
||||
"classConstants.html#ad75620743b867fc20d4a05027d1a1c01":[2,0,6,4],
|
||||
"classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630":[2,0,6,2],
|
||||
"classDObject.html":[2,0,8],
|
||||
"classDObject.html#a0ae54853e18265657296bfb5ac3bf9d0":[2,0,8,2],
|
||||
"classDObject.html#a1223275dcbbf20334ea11707346acb93":[2,0,8,9],
|
||||
"classDObject.html#a15afffdf339150fc872bf63bdd08d581":[2,0,8,8],
|
||||
"classDObject.html#a358d5f015da09ae5f0cbb46f3fd9e401":[2,0,8,16],
|
||||
"classDObject.html#a3dce47a519f9da5085c0c5ac1eea4f38":[2,0,8,13],
|
||||
"classDObject.html#a4862655c3634d019b0a45b811d6f7235":[2,0,8,4],
|
||||
"classDObject.html#a598321f3b8524b98df72393c04d7470c":[2,0,8,3],
|
||||
"classDObject.html#a5b2896a287295bf59a0b9e4d0af21161":[2,0,8,15],
|
||||
"classDObject.html#a6f0023aee463e71d92442dcf61b6ed47":[2,0,8,12],
|
||||
"classDObject.html#a79a2ecac4130ef3df272bdfeed26a620":[2,0,8,0],
|
||||
"classDObject.html#a99072eb52bb22745f0248f273fbf28fb":[2,0,8,10],
|
||||
"classDObject.html#a99b8688849e11501033a25f61efb8356":[2,0,8,14],
|
||||
"classDObject.html#ab1718571434e84e90f1ec463e4786a8a":[2,0,8,11],
|
||||
"classDObject.html#aca2db093c1c8c6f7893de07544aed619":[2,0,8,5],
|
||||
"classDObject.html#ae47bf220fbe2173cf6933c2380035dbd":[2,0,8,7],
|
||||
"classDObject.html#af11334d08ef85c68b3aae7554548e5a7":[2,0,8,1],
|
||||
"classDObject.html#afa8926d916081de72478cb8813c25e98":[2,0,8,6],
|
||||
"classDObjectTest.html":[2,0,9],
|
||||
"classDObjectTest.html#a2150dd7881a4d1c68ce51344f174738e":[2,0,9,2],
|
||||
"classDObjectTest.html#a95ba0f78c44e0bd46603de32028b7be6":[2,0,9,0],
|
||||
"classDObjectTest.html#ac753942590ae6ee456e6f3dd8b205df2":[2,0,9,1],
|
||||
"classLockableDObject.html":[2,0,11],
|
||||
"classLockableDObject.html#a1481ed99dcd837490bf28309aadaedfb":[2,0,11,3],
|
||||
"classLockableDObject.html#adcfe201fc728cc1c6fcf638a566ba9a1":[2,0,11,1],
|
||||
"classLockableDObject.html#ade38ca54703913359fc3b4366f6e292a":[2,0,11,2],
|
||||
"classLockableDObject.html#ae1a174a2740fa053626fe2820ee0efee":[2,0,11,0],
|
||||
"classLockableDObjectTest.html":[2,0,12],
|
||||
"classLockableDObjectTest.html#a4ca643fb176141b51f4761dd3df64769":[2,0,12,0],
|
||||
"classLockableDObjectTest.html#a6f639c0023311b7900595ab11c40cd59":[2,0,12,1],
|
||||
"classMeshIO.html":[2,0,13],
|
||||
"classMeshIO.html#a12495fc814254021d44e0509ac760672":[2,0,13,3],
|
||||
"classMeshIO.html#a3e4bccff08abf9a28b3d64c8fb9f7317":[2,0,13,2],
|
||||
"classMeshIO.html#a8fe43b55b7851c805c276517b0aacac5":[2,0,13,0],
|
||||
"classMeshIO.html#abf2d0986e73b920c71c03dc61730846c":[2,0,13,1],
|
||||
"classMetadata.html":[2,0,15],
|
||||
"classMetadata.html#a07035de7b0c780ef340e1a11c60a4d2b":[2,0,15,6],
|
||||
"classMetadata.html#a365c4594ad65c3b10b40a1cf4f4aea26":[2,0,15,8],
|
||||
"classMetadata.html#a3d56c8c5adee4b8c7d2089802211522b":[2,0,15,1],
|
||||
"classMetadata.html#a412c0c0b8754d85f9edbbdcd637f3b20":[2,0,15,4],
|
||||
"classMetadata.html#a88f4f57d443e2b7664e75e57a29dfbf0":[2,0,15,7],
|
||||
"classMetadata.html#a9bc49cc23da2d1ff8b3e197630b9dfd2":[2,0,15,10],
|
||||
"classMetadata.html#abe52c81e04665628666b4140cd346b69":[2,0,15,5],
|
||||
"classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e":[2,0,15,2],
|
||||
"classMetadata.html#ae849560667461008cb72e83919c20be0":[2,0,15,0],
|
||||
"classMetadata.html#aeed7f22ccc61d9a3d6425441d381dcdc":[2,0,15,3],
|
||||
"classMetadata.html#af5264d1666839e69c192b565b5cfa606":[2,0,15,9],
|
||||
"classMetadataTest.html":[2,0,16],
|
||||
"classMetadataTest.html#a24075d61d37dceacd353ecde16a1ac71":[2,0,16,1],
|
||||
"classMetadataTest.html#a6273a370a10b42155af951a8fc2c47fa":[2,0,16,0],
|
||||
"classNonlinearPowerIntegrator.html":[2,0,17],
|
||||
"classNonlinearPowerIntegrator.html#a0578e900c8e95cfa1161362c98fd3d31":[2,0,17,0],
|
||||
"classNonlinearPowerIntegrator.html#a23b79c0ab632824ffda9b43928a00504":[2,0,17,2],
|
||||
"classNonlinearPowerIntegrator.html#a5d8116206e35119fbee20540f5bd3157":[2,0,17,1],
|
||||
"classOpatIO.html":[2,0,18],
|
||||
"classOpatIO.html#a117f7e1f45d6c410c21d0644e447bbb1":[2,0,18,16],
|
||||
"classOpatIO.html#a1a4456b7745c0dd559eca72d5d744fc0":[2,0,18,15],
|
||||
"classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f":[2,0,18,8],
|
||||
"classOpatIO.html#a3578ac9bad40dd45ada3459f92a93b56":[2,0,18,13],
|
||||
"classOpatIO.html#a408b7f7d58d4a49636220f0431813dad":[2,0,18,11],
|
||||
"classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01":[2,0,18,6],
|
||||
"classOpatIO.html#a5c35b863873239e023427864ed016f58":[2,0,18,9],
|
||||
"classOpatIO.html#a6161d6e006312ebd79b037501ade9943":[2,0,18,4],
|
||||
"classOpatIO.html#a7f3436b3ac0dbe141b08d8064550f1b3":[2,0,18,0],
|
||||
"classOpatIO.html#a82715d95a5ddd1e78470b90fbd005c4d":[2,0,18,14],
|
||||
"classOpatIO.html#a8f7cc9a4ec8845c22df330678afd29c6":[2,0,18,7],
|
||||
"classOpatIO.html#aafb5941c4c93104af8ba06f2271a3dc7":[2,0,18,22],
|
||||
"classOpatIO.html#ab0edd41690b8d5c1775f87439cf82cb5":[2,0,18,20],
|
||||
"classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890":[2,0,18,12],
|
||||
"classOpatIO.html#ac1c1a6159f82462fedf9b526ddcc19a6":[2,0,18,21],
|
||||
"classOpatIO.html#ac34f611a9eab458329553d27e8bffec6":[2,0,18,2],
|
||||
"classOpatIO.html#ad189e0f239bc4184fecf7daef7923272":[2,0,18,19],
|
||||
"classOpatIO.html#ae24b6a4f78529c4fe4719ea5438d5ed6":[2,0,18,1],
|
||||
"classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a":[2,0,18,10],
|
||||
"classOpatIO.html#af5c52b5d862f5b94ee847c6c791998db":[2,0,18,3],
|
||||
"classOpatIO.html#afa623ba10f188097e555a682a4c69a9f":[2,0,18,18],
|
||||
"classOpatIO.html#afae90144930f190ed4018fbf328bf8ea":[2,0,18,17],
|
||||
"classOpatIO.html#afe725b647bc5bb802f6d711fc5dca3ab":[2,0,18,5],
|
||||
"classconfigTest.html":[2,0,3],
|
||||
"classconfigTestPrivateAccessor.html":[2,0,4],
|
||||
"classconstTest.html":[2,0,7],
|
||||
"classconstTest.html#af4753885bf401953202f89d455a2702f":[2,0,7,0],
|
||||
"classes.html":[2,1],
|
||||
"classopatIOTest.html":[2,0,11],
|
||||
"constTest_8cpp.html":[3,0,1,0,0],
|
||||
"constTest_8cpp.html#a1d2582df9987648644c517d89223e849":[3,0,1,0,0,7],
|
||||
"constTest_8cpp.html#a267b8a580d24fec8326def8656df135a":[3,0,1,0,0,3],
|
||||
"constTest_8cpp.html#a3bc116c41e8839b6d9d5a49e046a800f":[3,0,1,0,0,2],
|
||||
"constTest_8cpp.html#a720684391716660c7d0a5dc6238c7e57":[3,0,1,0,0,5],
|
||||
"constTest_8cpp.html#a92b56f4876b91eb7d628492fe220babb":[3,0,1,0,0,4],
|
||||
"constTest_8cpp.html#aa33a362aa6f7634f2ef02413183b35ee":[3,0,1,0,0,6],
|
||||
"constTest_8cpp.html#ae050a185fbc60349459af47e661bd3e1":[3,0,1,0,0,1],
|
||||
"const_8cpp.html":[3,0,0,0,0,0],
|
||||
"const_8h.html":[3,0,0,0,1,0],
|
||||
"const_8h_source.html":[3,0,0,0,1,0],
|
||||
"dir_18c45d4358dc55431d912fa30bcbde92.html":[3,0,0,3,0],
|
||||
"classmeshIOTest.html":[2,0,14],
|
||||
"classopatIOTest.html":[2,0,19],
|
||||
"configTest_8cpp.html":[3,0,1,0,0],
|
||||
"configTest_8cpp.html#a2aab0fda134fe1428d1b647316df718f":[3,0,1,0,0,6],
|
||||
"configTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470":[3,0,1,0,0,10],
|
||||
"configTest_8cpp.html#a5ad2550c7dc214b5e47cfdd6095731b1":[3,0,1,0,0,5],
|
||||
"configTest_8cpp.html#a88a44e54c4e475e47e16972e963fe76e":[3,0,1,0,0,7],
|
||||
"configTest_8cpp.html#aafc05ee6e7e08e8308e6fde4575aac61":[3,0,1,0,0,4],
|
||||
"configTest_8cpp.html#ab367d5d33d7f4ac536243e066f7431ea":[3,0,1,0,0,2],
|
||||
"configTest_8cpp.html#adcf0aead74ff0dfe0d6af2c8d0852ed3":[3,0,1,0,0,9],
|
||||
"configTest_8cpp.html#ae70df34c2371cc5c992f20fbf6e6354b":[3,0,1,0,0,3],
|
||||
"configTest_8cpp.html#afda6a3c91af3d8e36edf92d36ba5f6de":[3,0,1,0,0,8],
|
||||
"config_8cpp.html":[3,0,0,0,0,0],
|
||||
"config_8h.html":[3,0,0,0,1,0],
|
||||
"config_8h_source.html":[3,0,0,0,1,0],
|
||||
"constTest_8cpp.html":[3,0,1,1,0],
|
||||
"constTest_8cpp.html#a1d2582df9987648644c517d89223e849":[3,0,1,1,0,7],
|
||||
"constTest_8cpp.html#a267b8a580d24fec8326def8656df135a":[3,0,1,1,0,3],
|
||||
"constTest_8cpp.html#a3bc116c41e8839b6d9d5a49e046a800f":[3,0,1,1,0,2],
|
||||
"constTest_8cpp.html#a720684391716660c7d0a5dc6238c7e57":[3,0,1,1,0,5],
|
||||
"constTest_8cpp.html#a92b56f4876b91eb7d628492fe220babb":[3,0,1,1,0,4],
|
||||
"constTest_8cpp.html#aa33a362aa6f7634f2ef02413183b35ee":[3,0,1,1,0,6],
|
||||
"constTest_8cpp.html#ae050a185fbc60349459af47e661bd3e1":[3,0,1,1,0,1],
|
||||
"const_8cpp.html":[3,0,0,1,0,0],
|
||||
"const_8h.html":[3,0,0,1,1,0],
|
||||
"const_8h_source.html":[3,0,0,1,1,0],
|
||||
"dir_0c07588a470b646c09b0414ac8faaf7b.html":[3,0,1,4],
|
||||
"dir_18c45d4358dc55431d912fa30bcbde92.html":[3,0,0,5,0],
|
||||
"dir_1acdc3d0c73584695295a90ad6ede3f9.html":[3,0,2,0],
|
||||
"dir_1c285457bb070251eb0c01a8da35233c.html":[3,0,2,0,0],
|
||||
"dir_388d1cd783f992dee884a2918d77a3d7.html":[3,0,1,2],
|
||||
"dir_409882efad9ab48a895cd8b217d1e026.html":[3,0,0,0],
|
||||
"dir_1ce48574fa7b57587706b1af262d1e55.html":[3,0,0,6,1,1],
|
||||
"dir_1e20c6516504fdf3864b50bca0428df7.html":[3,0,2,0,2],
|
||||
"dir_2da03d50b6347916fd28121e88466439.html":[3,0,0,6,0],
|
||||
"dir_388d1cd783f992dee884a2918d77a3d7.html":[3,0,1,3],
|
||||
"dir_409882efad9ab48a895cd8b217d1e026.html":[3,0,0,1],
|
||||
"dir_440126c2838a14af33b22611dbbb2bf6.html":[3,0,0,3],
|
||||
"dir_4a32f98eb1fc28521b674ecacd8e38cc.html":[3,0,2,0,1,0],
|
||||
"dir_4e6f6de88c62da29e0ddd0d8e63af038.html":[3,0,0,1,0],
|
||||
"dir_5657658ab0dc14c9c63c088cb1f6321c.html":[3,0,0,1,1],
|
||||
"dir_4e6f6de88c62da29e0ddd0d8e63af038.html":[3,0,0,2,0],
|
||||
"dir_4f06ef9b669cedd8d46a086727f9d243.html":[3,0,0,0,1],
|
||||
"dir_5657658ab0dc14c9c63c088cb1f6321c.html":[3,0,0,2,1],
|
||||
"dir_57b5236bc904b389e950b8d6ae8bc28a.html":[3,0,2,0,1,0,0],
|
||||
"dir_59425e443f801f1f2fd8bbe4959a3ccf.html":[3,0,1],
|
||||
"dir_5c663bd7ffac62a07452e27b2b30c948.html":[3,0,0,6,1],
|
||||
"dir_62e13aaa8a72ed2c40d6887705a41af4.html":[3,0,2,0,0,0],
|
||||
"dir_68267d1309a1af8e8297ef4c3efbcdba.html":[3,0,0],
|
||||
"dir_6cfc89239232d12b3feb44b30f54e02f.html":[3,0,1,0],
|
||||
"dir_6cfc89239232d12b3feb44b30f54e02f.html":[3,0,1,1],
|
||||
"dir_6de2166d97f28f4ecd4d72a5f12aecb0.html":[3,0,2,0,0,0,0,0],
|
||||
"dir_768194193337d64eaa7edd2c5f5038a4.html":[3,0,0,1],
|
||||
"dir_88e1407a1fb38d630626d3e1b6639cc8.html":[3,0,0,2,0],
|
||||
"dir_98811334950283dfb0b975440d5272eb.html":[3,0,0,2],
|
||||
"dir_70fe68c6a1aba1c690f556aae19244a1.html":[3,0,0,3,0],
|
||||
"dir_74e94668ea6d3ca842a67049f1d0566c.html":[3,0,0,3,1],
|
||||
"dir_768194193337d64eaa7edd2c5f5038a4.html":[3,0,0,2],
|
||||
"dir_7e83d1792d529f4aa7126ac7e0b3b699.html":[3,0,0,0],
|
||||
"dir_86a4174b93db2020db4458f465617054.html":[3,0,0,6,0,0],
|
||||
"dir_88e1407a1fb38d630626d3e1b6639cc8.html":[3,0,0,4,0],
|
||||
"dir_893e16279b3f95d0fd4ec39358376605.html":[3,0,0,0,0],
|
||||
"dir_98811334950283dfb0b975440d5272eb.html":[3,0,0,4],
|
||||
"dir_9d738063cc7befc3d96860ca4c9257b2.html":[3,0,2,0,0,0,0],
|
||||
"dir_a0668aa070a38eaa8236727e19a9b15f.html":[3,0,1,3],
|
||||
"dir_a105e00bd9bc580163f6cfcc237f0c76.html":[3,0,0,3,1],
|
||||
"dir_aa595423af07433f9695bf15d4f880d5.html":[3,0,0,0,0],
|
||||
"dir_aa74b0b57852b214f24568086f91a43d.html":[3,0,0,0,1],
|
||||
"dir_bc1cc3abf5d5430dc6e21979095d09f3.html":[3,0,1,1],
|
||||
"dir_a0668aa070a38eaa8236727e19a9b15f.html":[3,0,1,5],
|
||||
"dir_a105e00bd9bc580163f6cfcc237f0c76.html":[3,0,0,5,1],
|
||||
"dir_a82f4dad88709a7f727912f1ce60fba0.html":[3,0,0,6,1,0],
|
||||
"dir_aa595423af07433f9695bf15d4f880d5.html":[3,0,0,1,0],
|
||||
"dir_aa74b0b57852b214f24568086f91a43d.html":[3,0,0,1,1],
|
||||
"dir_bc1cc3abf5d5430dc6e21979095d09f3.html":[3,0,1,2],
|
||||
"dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html":[3,0,2],
|
||||
"dir_ce3bf6daddda59a58b5b9429da3f76b4.html":[3,0,1,0],
|
||||
"dir_d0d2d394e86fce6a7356095f51b9fa38.html":[3,0,0,6],
|
||||
"dir_d9bdef71d547e79a3915b1057230bd19.html":[3,0,0,6,0,1],
|
||||
"dir_da765f8f0017804fdc0f96160e2cbe8b.html":[3,0,2,0,1],
|
||||
"dir_dc4574cef47f5b50114efcdd6e195baf.html":[3,0,0,3],
|
||||
"dir_dc4574cef47f5b50114efcdd6e195baf.html":[3,0,0,5],
|
||||
"files.html":[3,0],
|
||||
"functions.html":[2,3,0],
|
||||
"functions_func.html":[2,3,1],
|
||||
@@ -170,61 +225,29 @@ var NAVTREEINDEX0 =
|
||||
"md_utils_opatio_readme.html#autotoc_md1":[0,0],
|
||||
"md_utils_opatio_readme.html#autotoc_md2":[0,1],
|
||||
"md_utils_opatio_readme.html#autotoc_md3":[0,2],
|
||||
"opac_8h.html":[3,0,0,2,0,0],
|
||||
"opac_8h.html#a6243596bfdc55d73744ebecd9e577ee8":[3,0,0,2,0,0,0],
|
||||
"opac_8h_source.html":[3,0,0,2,0,0],
|
||||
"opatIOTest_8cpp.html":[3,0,1,3,0],
|
||||
"opatIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470":[3,0,1,3,0,9],
|
||||
"opatIOTest_8cpp.html#a3962f0895a961e03a0fc208076f6ab1a":[3,0,1,3,0,4],
|
||||
"opatIOTest_8cpp.html#a4b609f93f9fbea0dbd3e8d619e70f293":[3,0,1,3,0,8],
|
||||
"opatIOTest_8cpp.html#a4c4af5f8d030d0932c44bfa6607a5599":[3,0,1,3,0,6],
|
||||
"opatIOTest_8cpp.html#a5a86dce243090b6e4de4c67c23338ab7":[3,0,1,3,0,5],
|
||||
"opatIOTest_8cpp.html#a7613e1e543a4ea3ad5ce9d6c9156d317":[3,0,1,3,0,7],
|
||||
"opatIOTest_8cpp.html#a76734dc9ab5318ba389c0b3e54844137":[3,0,1,3,0,1],
|
||||
"opatIOTest_8cpp.html#ac3a79e8bac7362518c4495f4b9136a99":[3,0,1,3,0,2],
|
||||
"opatIOTest_8cpp.html#af0f9275c448cde753b14350594af14cf":[3,0,1,3,0,3],
|
||||
"opatIO_8cpp.html":[3,0,0,3,0,0],
|
||||
"opatIO_8cpp.html#a33dcb837958721219b4198c267c7fd0f":[3,0,0,3,0,0,1],
|
||||
"opatIO_8cpp.html#aed5f3e73e01248d8a2d6792a69081f9e":[3,0,0,3,0,0,0],
|
||||
"opatIO_8h.html":[3,0,0,3,1,0],
|
||||
"opatIO_8h_source.html":[3,0,0,3,1,0],
|
||||
"pages.html":[],
|
||||
"src_2opatio_2____init_____8py.html":[3,0,2,0,1,0,1],
|
||||
"src_2opatio_2____init_____8py.html#a2c9c36721bf1f103f2298cc089221b7b":[3,0,2,0,1,0,1,0],
|
||||
"src_2opatio_2opat_2____init_____8py.html":[3,0,2,0,1,0,0,0],
|
||||
"src_2opatio_2opat_2opat_8py.html":[3,0,2,0,1,0,0,1],
|
||||
"structConstant.html":[2,0,0],
|
||||
"structConstant.html#a0ae09f22af150a41aa4169a4a60933be":[2,0,0,4],
|
||||
"structConstant.html#a1c7e6c5a1d2316c98e59e04a234754d1":[2,0,0,3],
|
||||
"structConstant.html#a2c46956a2d2b0ebf78ff99c5971130d2":[2,0,0,5],
|
||||
"structConstant.html#a3bda8d7fadd6fb2510fd39962a065a02":[2,0,0,6],
|
||||
"structConstant.html#a84ca5b6951cc8a8eccd083894302a857":[2,0,0,0],
|
||||
"structConstant.html#a8d8d2a81e9a8f36dfa02b4d23a5be55c":[2,0,0,2],
|
||||
"structConstant.html#ad298f7af7cdfd2e2267fd9e464558e2b":[2,0,0,1],
|
||||
"structHeader.html":[2,0,5],
|
||||
"structHeader.html#a122331824871070af2c6cebc9698abd8":[2,0,5,0],
|
||||
"structHeader.html#a162ced3913c3373d6d54c32274b99d72":[2,0,5,5],
|
||||
"structHeader.html#a31039c09176a479defcbe38597eb9957":[2,0,5,3],
|
||||
"structHeader.html#a83f52dffac0449704ef1a50a5e787e92":[2,0,5,1],
|
||||
"structHeader.html#a87c9fc5b27c41fe65698f8538c23b182":[2,0,5,4],
|
||||
"structHeader.html#ac1a0c67ed5bd4021581fc00c2d79dba3":[2,0,5,7],
|
||||
"structHeader.html#ac55e763f9e96050f4dab115a4a1c2356":[2,0,5,8],
|
||||
"structHeader.html#af0bdf31defd5888cc8d2f7537e687917":[2,0,5,2],
|
||||
"structHeader.html#af99697d38997984f2295c902d3ce1772":[2,0,5,6],
|
||||
"structOPATTable.html":[2,0,12],
|
||||
"structOPATTable.html#a237ed50cee8df2144a2c47b5ffa443d3":[2,0,12,2],
|
||||
"structOPATTable.html#a70b70699726b2f77b486702e913a164b":[2,0,12,3],
|
||||
"structOPATTable.html#a87cc2d8e225e5e9c567602d779aec88f":[2,0,12,4],
|
||||
"structOPATTable.html#aee4e3713cffa0ed0a5bd79e2dec97d6e":[2,0,12,0],
|
||||
"structOPATTable.html#afaf11794675d27e75de5233b947fced9":[2,0,12,1],
|
||||
"structTableIndex.html":[2,0,13],
|
||||
"structTableIndex.html#a0c4826e48839977fa2bfaa1bf51b6cdb":[2,0,13,2],
|
||||
"structTableIndex.html#a303592792b2490da4105e294fb4666ca":[2,0,13,3],
|
||||
"structTableIndex.html#a69c87fd1cb0b7a64a82c52c54193e5e6":[2,0,13,0],
|
||||
"structTableIndex.html#a7271de867fee8bb48a71f70afebbf0bd":[2,0,13,4],
|
||||
"structTableIndex.html#ad899cf13056eb17b33e1c5e303e10132":[2,0,13,1],
|
||||
"test.html":[1],
|
||||
"testDObject_8cpp.html":[3,0,1,2,0],
|
||||
"testDObject_8cpp.html#a5cce1ff8e67a00ce9122097c4bbb5b02":[3,0,1,2,0,1],
|
||||
"testDObject_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[3,0,1,2,0,0]
|
||||
"meshIOTest_8cpp.html":[3,0,1,4,0],
|
||||
"meshIOTest_8cpp.html#a0cb4f62baac8f32aaefbab6c9e5b93bc":[3,0,1,4,0,2],
|
||||
"meshIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470":[3,0,1,4,0,5],
|
||||
"meshIOTest_8cpp.html#a94653e9cb8a24090f2c4c02fc8bfdfbb":[3,0,1,4,0,4],
|
||||
"meshIOTest_8cpp.html#aa6ba7ddcf2f95334ee7497d22d9f0f25":[3,0,1,4,0,1],
|
||||
"meshIOTest_8cpp.html#af5cb16ec6a340bbd827bd2d7adac4f68":[3,0,1,4,0,3],
|
||||
"meshIO_8cpp.html":[3,0,0,3,0,0],
|
||||
"meshIO_8h.html":[3,0,0,3,1,0],
|
||||
"meshIO_8h_source.html":[3,0,0,3,1,0],
|
||||
"mkTestData_8py.html":[3,0,2,0,2,0],
|
||||
"mkTestData_8py.html#a5023056b6831877dbf79e9a082600e78":[3,0,2,0,2,0,0],
|
||||
"mkTestData_8py.html#a5434a318e4d2951f6bea109ea95f7951":[3,0,2,0,2,0,2],
|
||||
"mkTestData_8py.html#ac27efbef0ea18292765b28e05846a5fa":[3,0,2,0,2,0,1],
|
||||
"opac_8h.html":[3,0,0,4,0,0],
|
||||
"opac_8h.html#a6243596bfdc55d73744ebecd9e577ee8":[3,0,0,4,0,0,0],
|
||||
"opac_8h_source.html":[3,0,0,4,0,0],
|
||||
"opatIOTest_8cpp.html":[3,0,1,5,0],
|
||||
"opatIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470":[3,0,1,5,0,11],
|
||||
"opatIOTest_8cpp.html#a3962f0895a961e03a0fc208076f6ab1a":[3,0,1,5,0,6],
|
||||
"opatIOTest_8cpp.html#a4b609f93f9fbea0dbd3e8d619e70f293":[3,0,1,5,0,10],
|
||||
"opatIOTest_8cpp.html#a4c4af5f8d030d0932c44bfa6607a5599":[3,0,1,5,0,8],
|
||||
"opatIOTest_8cpp.html#a5a86dce243090b6e4de4c67c23338ab7":[3,0,1,5,0,7],
|
||||
"opatIOTest_8cpp.html#a7613e1e543a4ea3ad5ce9d6c9156d317":[3,0,1,5,0,9],
|
||||
"opatIOTest_8cpp.html#a76734dc9ab5318ba389c0b3e54844137":[3,0,1,5,0,3],
|
||||
"opatIOTest_8cpp.html#a78a0d3c74c48429202d9e519b7bcb687":[3,0,1,5,0,1]
|
||||
};
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['byteend_1',['byteEnd',['../structTableIndex.html#a69c87fd1cb0b7a64a82c52c54193e5e6',1,'TableIndex']]],
|
||||
['bytestart_2',['byteStart',['../structTableIndex.html#ad899cf13056eb17b33e1c5e303e10132',1,'TableIndex']]]
|
||||
['add_5fintegrator_1',['add_integrator',['../classCompositeNonlinearIntegrator.html#af336df4849e99a3bc95161f03868efc4',1,'CompositeNonlinearIntegrator']]],
|
||||
['assembleelementgrad_2',['AssembleElementGrad',['../classNonlinearPowerIntegrator.html#a5d8116206e35119fbee20540f5bd3157',1,'NonlinearPowerIntegrator::AssembleElementGrad()'],['../classBilinearIntegratorWrapper.html#a19b6facddeba8256619981e6276f5815',1,'BilinearIntegratorWrapper::AssembleElementGrad()'],['../classCompositeNonlinearIntegrator.html#a2b466f6e16a5797f5ed50621fc4818a0',1,'CompositeNonlinearIntegrator::AssembleElementGrad()']]],
|
||||
['assembleelementvector_3',['AssembleElementVector',['../classNonlinearPowerIntegrator.html#a23b79c0ab632824ffda9b43928a00504',1,'NonlinearPowerIntegrator::AssembleElementVector()'],['../classBilinearIntegratorWrapper.html#a10c3ac5bb62c91c3a437924e33a527d8',1,'BilinearIntegratorWrapper::AssembleElementVector()'],['../classCompositeNonlinearIntegrator.html#a0a3c6ccf134c4566218eb3a33861214c',1,'CompositeNonlinearIntegrator::AssembleElementVector()']]]
|
||||
];
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['comment_3',['comment',['../structHeader.html#a122331824871070af2c6cebc9698abd8',1,'Header']]],
|
||||
['const_2ecpp_4',['const.cpp',['../const_8cpp.html',1,'']]],
|
||||
['const_2eh_5',['const.h',['../const_8h.html',1,'']]],
|
||||
['constant_6',['Constant',['../structConstant.html',1,'Constant'],['../structConstant.html#a84ca5b6951cc8a8eccd083894302a857',1,'Constant::Constant()']]],
|
||||
['constants_7',['Constants',['../classConstants.html',1,'']]],
|
||||
['consttest_8',['constTest',['../classconstTest.html',1,'']]],
|
||||
['consttest_2ecpp_9',['constTest.cpp',['../constTest_8cpp.html',1,'']]],
|
||||
['creationdate_10',['creationDate',['../structHeader.html#a83f52dffac0449704ef1a50a5e787e92',1,'Header']]]
|
||||
['bilinearintegratorwrapper_4',['BilinearIntegratorWrapper',['../classBilinearIntegratorWrapper.html',1,'BilinearIntegratorWrapper'],['../classBilinearIntegratorWrapper.html#a72155007095c629dfca4f349739e4a18',1,'BilinearIntegratorWrapper::BilinearIntegratorWrapper()']]],
|
||||
['byteend_5',['byteEnd',['../structTableIndex.html#a69c87fd1cb0b7a64a82c52c54193e5e6',1,'TableIndex']]],
|
||||
['bytestart_6',['byteStart',['../structTableIndex.html#ad899cf13056eb17b33e1c5e303e10132',1,'TableIndex']]]
|
||||
];
|
||||
|
||||
@@ -1,11 +1,25 @@
|
||||
var searchData=
|
||||
[
|
||||
['datatype_11',['DataType',['../classDObject.html#a79a2ecac4130ef3df272bdfeed26a620',1,'DObject']]],
|
||||
['datatypemap_12',['dataTypeMap',['../classDObject.html#a358d5f015da09ae5f0cbb46f3fd9e401',1,'DObject']]],
|
||||
['defaultobject_13',['defaultObject',['../classDObjectTest.html#ac753942590ae6ee456e6f3dd8b205df2',1,'DObjectTest']]],
|
||||
['dobject_14',['DObject',['../classDObject.html',1,'DObject'],['../classDObject.html#a0ae54853e18265657296bfb5ac3bf9d0',1,'DObject::DObject()'],['../classDObject.html#a598321f3b8524b98df72393c04d7470c',1,'DObject::DObject(const DataType &data)']]],
|
||||
['dobject_2ecpp_15',['DObject.cpp',['../DObject_8cpp.html',1,'']]],
|
||||
['dobject_2eh_16',['DObject.h',['../DObject_8h.html',1,'']]],
|
||||
['dobjecttest_17',['DObjectTest',['../classDObjectTest.html',1,'']]],
|
||||
['dobjecttest_2ecpp_18',['DObjectTest.cpp',['../DObjectTest_8cpp.html',1,'']]]
|
||||
['calladdtocache_7',['callAddToCache',['../classconfigTestPrivateAccessor.html#adf7f5c651bdd5ca8c12f18a6a0f8a8e9',1,'configTestPrivateAccessor']]],
|
||||
['callcachesize_8',['callCacheSize',['../classconfigTestPrivateAccessor.html#aaa9517067ef84ab7fb6365536180ce13',1,'configTestPrivateAccessor']]],
|
||||
['calliskeyincache_9',['callIsKeyInCache',['../classconfigTestPrivateAccessor.html#a6d7d0e1bf82c1917dde20167697a03b1',1,'configTestPrivateAccessor']]],
|
||||
['callregisterkeynotfound_10',['callRegisterKeyNotFound',['../classconfigTestPrivateAccessor.html#a447eb550ff20700e31bd530b7ca01592',1,'configTestPrivateAccessor']]],
|
||||
['checkifkeyunknown_11',['CheckIfKeyUnknown',['../classconfigTestPrivateAccessor.html#a4de7c133e8e296d7f9e713aa0b2c4329',1,'configTestPrivateAccessor']]],
|
||||
['comment_12',['comment',['../structHeader.html#a122331824871070af2c6cebc9698abd8',1,'Header']]],
|
||||
['compositenonlinearintegrator_13',['CompositeNonlinearIntegrator',['../classCompositeNonlinearIntegrator.html',1,'CompositeNonlinearIntegrator'],['../classCompositeNonlinearIntegrator.html#aba931cf9d57170b7483eed0ade6cd459',1,'CompositeNonlinearIntegrator::CompositeNonlinearIntegrator()']]],
|
||||
['computechecksum_14',['computeChecksum',['../classOpatIO.html#a6161d6e006312ebd79b037501ade9943',1,'OpatIO::computeChecksum(std::vector< double > index)'],['../classOpatIO.html#af5c52b5d862f5b94ee847c6c791998db',1,'OpatIO::computeChecksum(int tableID)']]],
|
||||
['computemeshvolume_15',['ComputeMeshVolume',['../meshIOTest_8cpp.html#aa6ba7ddcf2f95334ee7497d22d9f0f25',1,'meshIOTest.cpp']]],
|
||||
['config_16',['Config',['../classConfig.html',1,'']]],
|
||||
['config_2ecpp_17',['config.cpp',['../config_8cpp.html',1,'']]],
|
||||
['config_2eh_18',['config.h',['../config_8h.html',1,'']]],
|
||||
['configtest_19',['configTest',['../classconfigTest.html',1,'']]],
|
||||
['configtest_2ecpp_20',['configTest.cpp',['../configTest_8cpp.html',1,'']]],
|
||||
['configtestprivateaccessor_21',['configTestPrivateAccessor',['../classconfigTestPrivateAccessor.html',1,'']]],
|
||||
['const_2ecpp_22',['const.cpp',['../const_8cpp.html',1,'']]],
|
||||
['const_2eh_23',['const.h',['../const_8h.html',1,'']]],
|
||||
['constant_24',['Constant',['../structConstant.html',1,'Constant'],['../structConstant.html#a84ca5b6951cc8a8eccd083894302a857',1,'Constant::Constant()']]],
|
||||
['constants_25',['Constants',['../classConstants.html',1,'']]],
|
||||
['consttest_26',['constTest',['../classconstTest.html',1,'']]],
|
||||
['consttest_2ecpp_27',['constTest.cpp',['../constTest_8cpp.html',1,'']]],
|
||||
['creationdate_28',['creationDate',['../structHeader.html#a83f52dffac0449704ef1a50a5e787e92',1,'Header']]]
|
||||
];
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
var searchData=
|
||||
[
|
||||
['example_5ffilename_19',['EXAMPLE_FILENAME',['../opatIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470',1,'opatIOTest.cpp']]],
|
||||
['export_5fsymbol_20',['EXPORT_SYMBOL',['../Metadata_8h.html#ab57c319c35ea0fbacf781f2ecb3a4339',1,'Metadata.h']]]
|
||||
['datatype_29',['DataType',['../classDObject.html#a79a2ecac4130ef3df272bdfeed26a620',1,'DObject']]],
|
||||
['datatypemap_30',['dataTypeMap',['../classDObject.html#a358d5f015da09ae5f0cbb46f3fd9e401',1,'DObject']]],
|
||||
['defaultobject_31',['defaultObject',['../classDObjectTest.html#ac753942590ae6ee456e6f3dd8b205df2',1,'DObjectTest']]],
|
||||
['dobject_32',['DObject',['../classDObject.html',1,'DObject'],['../classDObject.html#a0ae54853e18265657296bfb5ac3bf9d0',1,'DObject::DObject()'],['../classDObject.html#a598321f3b8524b98df72393c04d7470c',1,'DObject::DObject(const DataType &data)']]],
|
||||
['dobject_2ecpp_33',['DObject.cpp',['../DObject_8cpp.html',1,'']]],
|
||||
['dobject_2eh_34',['DObject.h',['../DObject_8h.html',1,'']]],
|
||||
['dobjecttest_35',['DObjectTest',['../classDObjectTest.html',1,'']]],
|
||||
['dobjecttest_2ecpp_36',['DObjectTest.cpp',['../DObjectTest_8cpp.html',1,'']]]
|
||||
];
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['get_21',['get',['../classLockableDObject.html#adcfe201fc728cc1c6fcf638a566ba9a1',1,'LockableDObject::get()'],['../classConstants.html#a36ddd7fe6857d1bbf6d1c84d4ed7bc19',1,'Constants::get()']]],
|
||||
['getbytesize_22',['getByteSize',['../classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e',1,'Metadata']]],
|
||||
['getclosesttables_23',['getClosestTables',['../classOpatIO.html#a939e4edec4053517463f848648db770d',1,'OpatIO']]],
|
||||
['getclosestxtables_24',['getClosestXTables',['../classOpatIO.html#a83acf4fe2aec4e588453b5a39a4def1a',1,'OpatIO']]],
|
||||
['getclosestztables_25',['getClosestZTables',['../classOpatIO.html#a9d9600e7af036deeada78da9afd4b65b',1,'OpatIO']]],
|
||||
['getdata_26',['getData',['../classDObject.html#a4862655c3634d019b0a45b811d6f7235',1,'DObject']]],
|
||||
['getdataas_27',['getDataAs',['../classDObject.html#aca2db093c1c8c6f7893de07544aed619',1,'DObject']]],
|
||||
['getdatatype_28',['getDataType',['../classMetadata.html#aeed7f22ccc61d9a3d6425441d381dcdc',1,'Metadata']]],
|
||||
['getdimensions_29',['getDimensions',['../classMetadata.html#a412c0c0b8754d85f9edbbdcd637f3b20',1,'Metadata']]],
|
||||
['geterrorcode_30',['getErrorCode',['../classDObject.html#afa8926d916081de72478cb8813c25e98',1,'DObject']]],
|
||||
['getheader_31',['getHeader',['../classOpatIO.html#afe725b647bc5bb802f6d711fc5dca3ab',1,'OpatIO']]],
|
||||
['getinstance_32',['getInstance',['../classConstants.html#aaa6f3af20fa563cf22df71a987923065',1,'Constants']]],
|
||||
['getmaxqdepth_33',['getMaxQDepth',['../classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01',1,'OpatIO']]],
|
||||
['getopatversion_34',['getOPATVersion',['../classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f',1,'OpatIO']]],
|
||||
['gettable_35',['getTable',['../classOpatIO.html#a0817f135f44e3bdc610d30df145f118d',1,'OpatIO']]],
|
||||
['gettableindex_36',['getTableIndex',['../classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a',1,'OpatIO']]]
|
||||
['example_5ffilename_37',['EXAMPLE_FILENAME',['../configTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470',1,'EXAMPLE_FILENAME(): configTest.cpp'],['../meshIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470',1,'EXAMPLE_FILENAME(): meshIOTest.cpp'],['../opatIOTest_8cpp.html#a2f358f231bffa8eaaa670ec1db93a470',1,'EXAMPLE_FILENAME(): opatIOTest.cpp']]],
|
||||
['export_5fsymbol_38',['EXPORT_SYMBOL',['../Metadata_8h.html#ab57c319c35ea0fbacf781f2ecb3a4339',1,'Metadata.h']]]
|
||||
];
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
var searchData=
|
||||
[
|
||||
['has_37',['has',['../classConstants.html#a2aa041fd223f259e55bf098c90581039',1,'Constants']]],
|
||||
['header_38',['Header',['../structHeader.html',1,'']]],
|
||||
['headersize_39',['headerSize',['../structHeader.html#af0bdf31defd5888cc8d2f7537e687917',1,'Header']]]
|
||||
['get_39',['get',['../classLockableDObject.html#adcfe201fc728cc1c6fcf638a566ba9a1',1,'LockableDObject::get()'],['../classConstants.html#a36ddd7fe6857d1bbf6d1c84d4ed7bc19',1,'Constants::get()']]],
|
||||
['getbytesize_40',['getByteSize',['../classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e',1,'Metadata']]],
|
||||
['getdata_41',['getData',['../classDObject.html#a4862655c3634d019b0a45b811d6f7235',1,'DObject']]],
|
||||
['getdataas_42',['getDataAs',['../classDObject.html#aca2db093c1c8c6f7893de07544aed619',1,'DObject']]],
|
||||
['getdatatype_43',['getDataType',['../classMetadata.html#aeed7f22ccc61d9a3d6425441d381dcdc',1,'Metadata']]],
|
||||
['getdimensions_44',['getDimensions',['../classMetadata.html#a412c0c0b8754d85f9edbbdcd637f3b20',1,'Metadata']]],
|
||||
['geterrorcode_45',['getErrorCode',['../classDObject.html#afa8926d916081de72478cb8813c25e98',1,'DObject']]],
|
||||
['getheader_46',['getHeader',['../classOpatIO.html#afe725b647bc5bb802f6d711fc5dca3ab',1,'OpatIO']]],
|
||||
['getinstance_47',['getInstance',['../classConstants.html#aaa6f3af20fa563cf22df71a987923065',1,'Constants']]],
|
||||
['getmaxqdepth_48',['getMaxQDepth',['../classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01',1,'OpatIO']]],
|
||||
['getmesh_49',['GetMesh',['../classMeshIO.html#a3e4bccff08abf9a28b3d64c8fb9f7317',1,'MeshIO']]],
|
||||
['getnumindex_50',['getNumIndex',['../classOpatIO.html#a8f7cc9a4ec8845c22df330678afd29c6',1,'OpatIO']]],
|
||||
['getopatversion_51',['getOPATVersion',['../classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f',1,'OpatIO']]],
|
||||
['gettable_52',['getTable',['../classOpatIO.html#a5c35b863873239e023427864ed016f58',1,'OpatIO']]],
|
||||
['gettableindex_53',['getTableIndex',['../classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a',1,'OpatIO::getTableIndex()'],['../classOpatIO.html#a408b7f7d58d4a49636220f0431813dad',1,'OpatIO::getTableIndex(std::vector< double > index)']]]
|
||||
];
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['indexoffset_40',['indexOffset',['../structHeader.html#a31039c09176a479defcbe38597eb9957',1,'Header']]],
|
||||
['initializedobject_41',['initializedObject',['../classDObjectTest.html#a2150dd7881a4d1c68ce51344f174738e',1,'DObjectTest']]],
|
||||
['initlaize_5fopac_42',['initlaize_opac',['../opac_8h.html#a6243596bfdc55d73744ebecd9e577ee8',1,'opac.h']]],
|
||||
['is_5fbig_5fendian_43',['is_big_endian',['../opatIO_8cpp.html#aed5f3e73e01248d8a2d6792a69081f9e',1,'opatIO.cpp']]],
|
||||
['isdebugenabled_44',['isDebugEnabled',['../classMetadata.html#abe52c81e04665628666b4140cd346b69',1,'Metadata']]],
|
||||
['isdebuggingenabled_45',['isDebuggingEnabled',['../classDObject.html#ae47bf220fbe2173cf6933c2380035dbd',1,'DObject']]],
|
||||
['isloaded_46',['isLoaded',['../classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630',1,'Constants::isLoaded()'],['../classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890',1,'OpatIO::isLoaded()']]]
|
||||
['has_54',['has',['../classConstants.html#a2aa041fd223f259e55bf098c90581039',1,'Constants']]],
|
||||
['header_55',['Header',['../structHeader.html',1,'']]],
|
||||
['headersize_56',['headerSize',['../structHeader.html#af0bdf31defd5888cc8d2f7537e687917',1,'Header']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
var searchData=
|
||||
[
|
||||
['keys_47',['keys',['../classConstants.html#ab9de36fa145552a3e7964e7e85a67149',1,'Constants']]]
|
||||
['index_57',['index',['../structTableIndex.html#a5abb8638b94f778674d999db0f506ecc',1,'TableIndex']]],
|
||||
['indexoffset_58',['indexOffset',['../structHeader.html#a31039c09176a479defcbe38597eb9957',1,'Header']]],
|
||||
['initializedobject_59',['initializedObject',['../classDObjectTest.html#a2150dd7881a4d1c68ce51344f174738e',1,'DObjectTest']]],
|
||||
['initlaize_5fopac_60',['initlaize_opac',['../opac_8h.html#a6243596bfdc55d73744ebecd9e577ee8',1,'opac.h']]],
|
||||
['is_5fbig_5fendian_61',['is_big_endian',['../opatIO_8cpp.html#aed5f3e73e01248d8a2d6792a69081f9e',1,'opatIO.cpp']]],
|
||||
['isdebugenabled_62',['isDebugEnabled',['../classMetadata.html#abe52c81e04665628666b4140cd346b69',1,'Metadata']]],
|
||||
['isdebuggingenabled_63',['isDebuggingEnabled',['../classDObject.html#ae47bf220fbe2173cf6933c2380035dbd',1,'DObject']]],
|
||||
['isloaded_64',['isLoaded',['../classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630',1,'Constants::isLoaded()'],['../classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890',1,'OpatIO::isLoaded()']]],
|
||||
['isloaded_65',['IsLoaded',['../classMeshIO.html#a12495fc814254021d44e0509ac760672',1,'MeshIO']]]
|
||||
];
|
||||
|
||||
@@ -1,16 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['load_48',['load',['../classOpatIO.html#a3578ac9bad40dd45ada3459f92a93b56',1,'OpatIO']]],
|
||||
['lock_49',['lock',['../classLockableDObject.html#ade38ca54703913359fc3b4366f6e292a',1,'LockableDObject']]],
|
||||
['lockabledobject_50',['LockableDObject',['../classLockableDObject.html',1,'LockableDObject'],['../classLockableDObject.html#ae1a174a2740fa053626fe2820ee0efee',1,'LockableDObject::LockableDObject()']]],
|
||||
['lockabledobject_2ecpp_51',['LockableDObject.cpp',['../LockableDObject_8cpp.html',1,'']]],
|
||||
['lockabledobject_2eh_52',['LockableDObject.h',['../LockableDObject_8h.html',1,'']]],
|
||||
['lockabledobjecttest_53',['LockableDObjectTest',['../classLockableDObjectTest.html',1,'']]],
|
||||
['lockabledobjecttest_2ecpp_54',['LockableDObjectTest.cpp',['../LockableDObjectTest_8cpp.html',1,'']]],
|
||||
['lockableobject_55',['lockableObject',['../classLockableDObjectTest.html#a6f639c0023311b7900595ab11c40cd59',1,'LockableDObjectTest']]],
|
||||
['logkappa_56',['logKappa',['../structOPATTable.html#aee4e3713cffa0ed0a5bd79e2dec97d6e',1,'OPATTable']]],
|
||||
['logr_57',['logR',['../structOPATTable.html#afaf11794675d27e75de5233b947fced9',1,'OPATTable']]],
|
||||
['logt_58',['logT',['../structOPATTable.html#a237ed50cee8df2144a2c47b5ffa443d3',1,'OPATTable']]],
|
||||
['lookupclosesttableid_59',['lookupClosestTableID',['../classOpatIO.html#af870ebd76bef969fa1f7c8270ac25cd8',1,'OpatIO']]],
|
||||
['lookuptableid_60',['lookupTableID',['../classOpatIO.html#a37959ed6845e09302bb8c206e3e006e4',1,'OpatIO']]]
|
||||
['keys_66',['keys',['../classConstants.html#ab9de36fa145552a3e7964e7e85a67149',1,'Constants']]]
|
||||
];
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['constant_122',['Constant',['../structConstant.html',1,'']]],
|
||||
['constants_123',['Constants',['../classConstants.html',1,'']]],
|
||||
['consttest_124',['constTest',['../classconstTest.html',1,'']]]
|
||||
['bilinearintegratorwrapper_164',['BilinearIntegratorWrapper',['../classBilinearIntegratorWrapper.html',1,'']]]
|
||||
];
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['dobject_125',['DObject',['../classDObject.html',1,'']]],
|
||||
['dobjecttest_126',['DObjectTest',['../classDObjectTest.html',1,'']]]
|
||||
['compositenonlinearintegrator_165',['CompositeNonlinearIntegrator',['../classCompositeNonlinearIntegrator.html',1,'']]],
|
||||
['config_166',['Config',['../classConfig.html',1,'']]],
|
||||
['configtest_167',['configTest',['../classconfigTest.html',1,'']]],
|
||||
['configtestprivateaccessor_168',['configTestPrivateAccessor',['../classconfigTestPrivateAccessor.html',1,'']]],
|
||||
['constant_169',['Constant',['../structConstant.html',1,'']]],
|
||||
['constants_170',['Constants',['../classConstants.html',1,'']]],
|
||||
['consttest_171',['constTest',['../classconstTest.html',1,'']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['header_127',['Header',['../structHeader.html',1,'']]]
|
||||
['dobject_172',['DObject',['../classDObject.html',1,'']]],
|
||||
['dobjecttest_173',['DObjectTest',['../classDObjectTest.html',1,'']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['_5f_5finit_5f_5f_2epy_136',['__init__.py',['../build_2lib_2opatio_2____init_____8py.html',1,'(Global Namespace)'],['../build_2lib_2opatio_2opat_2____init_____8py.html',1,'(Global Namespace)'],['../src_2opatio_2____init_____8py.html',1,'(Global Namespace)'],['../src_2opatio_2opat_2____init_____8py.html',1,'(Global Namespace)']]]
|
||||
['_5f_5finit_5f_5f_2epy_186',['__init__.py',['../build_2lib_2opatio_2____init_____8py.html',1,'(Global Namespace)'],['../build_2lib_2opatio_2opat_2____init_____8py.html',1,'(Global Namespace)'],['../src_2opatio_2____init_____8py.html',1,'(Global Namespace)'],['../src_2opatio_2opat_2____init_____8py.html',1,'(Global Namespace)']]]
|
||||
];
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['const_2ecpp_137',['const.cpp',['../const_8cpp.html',1,'']]],
|
||||
['const_2eh_138',['const.h',['../const_8h.html',1,'']]],
|
||||
['consttest_2ecpp_139',['constTest.cpp',['../constTest_8cpp.html',1,'']]]
|
||||
['config_2ecpp_187',['config.cpp',['../config_8cpp.html',1,'']]],
|
||||
['config_2eh_188',['config.h',['../config_8h.html',1,'']]],
|
||||
['configtest_2ecpp_189',['configTest.cpp',['../configTest_8cpp.html',1,'']]],
|
||||
['const_2ecpp_190',['const.cpp',['../const_8cpp.html',1,'']]],
|
||||
['const_2eh_191',['const.h',['../const_8h.html',1,'']]],
|
||||
['consttest_2ecpp_192',['constTest.cpp',['../constTest_8cpp.html',1,'']]]
|
||||
];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['dobject_2ecpp_140',['DObject.cpp',['../DObject_8cpp.html',1,'']]],
|
||||
['dobject_2eh_141',['DObject.h',['../DObject_8h.html',1,'']]],
|
||||
['dobjecttest_2ecpp_142',['DObjectTest.cpp',['../DObjectTest_8cpp.html',1,'']]]
|
||||
['dobject_2ecpp_193',['DObject.cpp',['../DObject_8cpp.html',1,'']]],
|
||||
['dobject_2eh_194',['DObject.h',['../DObject_8h.html',1,'']]],
|
||||
['dobjecttest_2ecpp_195',['DObjectTest.cpp',['../DObjectTest_8cpp.html',1,'']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['constant_156',['Constant',['../structConstant.html#a84ca5b6951cc8a8eccd083894302a857',1,'Constant']]]
|
||||
['add_5fintegrator_219',['add_integrator',['../classCompositeNonlinearIntegrator.html#af336df4849e99a3bc95161f03868efc4',1,'CompositeNonlinearIntegrator']]],
|
||||
['assembleelementgrad_220',['AssembleElementGrad',['../classNonlinearPowerIntegrator.html#a5d8116206e35119fbee20540f5bd3157',1,'NonlinearPowerIntegrator::AssembleElementGrad()'],['../classBilinearIntegratorWrapper.html#a19b6facddeba8256619981e6276f5815',1,'BilinearIntegratorWrapper::AssembleElementGrad()'],['../classCompositeNonlinearIntegrator.html#a2b466f6e16a5797f5ed50621fc4818a0',1,'CompositeNonlinearIntegrator::AssembleElementGrad()']]],
|
||||
['assembleelementvector_221',['AssembleElementVector',['../classNonlinearPowerIntegrator.html#a23b79c0ab632824ffda9b43928a00504',1,'NonlinearPowerIntegrator::AssembleElementVector()'],['../classBilinearIntegratorWrapper.html#a10c3ac5bb62c91c3a437924e33a527d8',1,'BilinearIntegratorWrapper::AssembleElementVector()'],['../classCompositeNonlinearIntegrator.html#a0a3c6ccf134c4566218eb3a33861214c',1,'CompositeNonlinearIntegrator::AssembleElementVector()']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['dobject_157',['DObject',['../classDObject.html#a0ae54853e18265657296bfb5ac3bf9d0',1,'DObject::DObject()'],['../classDObject.html#a598321f3b8524b98df72393c04d7470c',1,'DObject::DObject(const DataType &data)']]]
|
||||
['bilinearintegratorwrapper_222',['BilinearIntegratorWrapper',['../classBilinearIntegratorWrapper.html#a72155007095c629dfca4f349739e4a18',1,'BilinearIntegratorWrapper']]]
|
||||
];
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
var searchData=
|
||||
[
|
||||
['get_158',['get',['../classLockableDObject.html#adcfe201fc728cc1c6fcf638a566ba9a1',1,'LockableDObject::get()'],['../classConstants.html#a36ddd7fe6857d1bbf6d1c84d4ed7bc19',1,'Constants::get()']]],
|
||||
['getbytesize_159',['getByteSize',['../classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e',1,'Metadata']]],
|
||||
['getclosesttables_160',['getClosestTables',['../classOpatIO.html#a939e4edec4053517463f848648db770d',1,'OpatIO']]],
|
||||
['getclosestxtables_161',['getClosestXTables',['../classOpatIO.html#a83acf4fe2aec4e588453b5a39a4def1a',1,'OpatIO']]],
|
||||
['getclosestztables_162',['getClosestZTables',['../classOpatIO.html#a9d9600e7af036deeada78da9afd4b65b',1,'OpatIO']]],
|
||||
['getdata_163',['getData',['../classDObject.html#a4862655c3634d019b0a45b811d6f7235',1,'DObject']]],
|
||||
['getdataas_164',['getDataAs',['../classDObject.html#aca2db093c1c8c6f7893de07544aed619',1,'DObject']]],
|
||||
['getdatatype_165',['getDataType',['../classMetadata.html#aeed7f22ccc61d9a3d6425441d381dcdc',1,'Metadata']]],
|
||||
['getdimensions_166',['getDimensions',['../classMetadata.html#a412c0c0b8754d85f9edbbdcd637f3b20',1,'Metadata']]],
|
||||
['geterrorcode_167',['getErrorCode',['../classDObject.html#afa8926d916081de72478cb8813c25e98',1,'DObject']]],
|
||||
['getheader_168',['getHeader',['../classOpatIO.html#afe725b647bc5bb802f6d711fc5dca3ab',1,'OpatIO']]],
|
||||
['getinstance_169',['getInstance',['../classConstants.html#aaa6f3af20fa563cf22df71a987923065',1,'Constants']]],
|
||||
['getmaxqdepth_170',['getMaxQDepth',['../classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01',1,'OpatIO']]],
|
||||
['getopatversion_171',['getOPATVersion',['../classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f',1,'OpatIO']]],
|
||||
['gettable_172',['getTable',['../classOpatIO.html#a0817f135f44e3bdc610d30df145f118d',1,'OpatIO']]],
|
||||
['gettableindex_173',['getTableIndex',['../classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a',1,'OpatIO']]]
|
||||
['calladdtocache_223',['callAddToCache',['../classconfigTestPrivateAccessor.html#adf7f5c651bdd5ca8c12f18a6a0f8a8e9',1,'configTestPrivateAccessor']]],
|
||||
['callcachesize_224',['callCacheSize',['../classconfigTestPrivateAccessor.html#aaa9517067ef84ab7fb6365536180ce13',1,'configTestPrivateAccessor']]],
|
||||
['calliskeyincache_225',['callIsKeyInCache',['../classconfigTestPrivateAccessor.html#a6d7d0e1bf82c1917dde20167697a03b1',1,'configTestPrivateAccessor']]],
|
||||
['callregisterkeynotfound_226',['callRegisterKeyNotFound',['../classconfigTestPrivateAccessor.html#a447eb550ff20700e31bd530b7ca01592',1,'configTestPrivateAccessor']]],
|
||||
['checkifkeyunknown_227',['CheckIfKeyUnknown',['../classconfigTestPrivateAccessor.html#a4de7c133e8e296d7f9e713aa0b2c4329',1,'configTestPrivateAccessor']]],
|
||||
['compositenonlinearintegrator_228',['CompositeNonlinearIntegrator',['../classCompositeNonlinearIntegrator.html#aba931cf9d57170b7483eed0ade6cd459',1,'CompositeNonlinearIntegrator']]],
|
||||
['computechecksum_229',['computeChecksum',['../classOpatIO.html#af5c52b5d862f5b94ee847c6c791998db',1,'OpatIO::computeChecksum(int tableID)'],['../classOpatIO.html#a6161d6e006312ebd79b037501ade9943',1,'OpatIO::computeChecksum(std::vector< double > index)']]],
|
||||
['computemeshvolume_230',['ComputeMeshVolume',['../meshIOTest_8cpp.html#aa6ba7ddcf2f95334ee7497d22d9f0f25',1,'meshIOTest.cpp']]],
|
||||
['constant_231',['Constant',['../structConstant.html#a84ca5b6951cc8a8eccd083894302a857',1,'Constant']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['has_174',['has',['../classConstants.html#a2aa041fd223f259e55bf098c90581039',1,'Constants']]]
|
||||
['dobject_232',['DObject',['../classDObject.html#a0ae54853e18265657296bfb5ac3bf9d0',1,'DObject::DObject()'],['../classDObject.html#a598321f3b8524b98df72393c04d7470c',1,'DObject::DObject(const DataType &data)']]]
|
||||
];
|
||||
|
||||
@@ -1,8 +1,18 @@
|
||||
var searchData=
|
||||
[
|
||||
['initlaize_5fopac_175',['initlaize_opac',['../opac_8h.html#a6243596bfdc55d73744ebecd9e577ee8',1,'opac.h']]],
|
||||
['is_5fbig_5fendian_176',['is_big_endian',['../opatIO_8cpp.html#aed5f3e73e01248d8a2d6792a69081f9e',1,'opatIO.cpp']]],
|
||||
['isdebugenabled_177',['isDebugEnabled',['../classMetadata.html#abe52c81e04665628666b4140cd346b69',1,'Metadata']]],
|
||||
['isdebuggingenabled_178',['isDebuggingEnabled',['../classDObject.html#ae47bf220fbe2173cf6933c2380035dbd',1,'DObject']]],
|
||||
['isloaded_179',['isLoaded',['../classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630',1,'Constants::isLoaded()'],['../classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890',1,'OpatIO::isLoaded()']]]
|
||||
['get_233',['get',['../classLockableDObject.html#adcfe201fc728cc1c6fcf638a566ba9a1',1,'LockableDObject::get()'],['../classConstants.html#a36ddd7fe6857d1bbf6d1c84d4ed7bc19',1,'Constants::get()']]],
|
||||
['getbytesize_234',['getByteSize',['../classMetadata.html#ac7980d1efdd6ae434f0115f83d08348e',1,'Metadata']]],
|
||||
['getdata_235',['getData',['../classDObject.html#a4862655c3634d019b0a45b811d6f7235',1,'DObject']]],
|
||||
['getdataas_236',['getDataAs',['../classDObject.html#aca2db093c1c8c6f7893de07544aed619',1,'DObject']]],
|
||||
['getdatatype_237',['getDataType',['../classMetadata.html#aeed7f22ccc61d9a3d6425441d381dcdc',1,'Metadata']]],
|
||||
['getdimensions_238',['getDimensions',['../classMetadata.html#a412c0c0b8754d85f9edbbdcd637f3b20',1,'Metadata']]],
|
||||
['geterrorcode_239',['getErrorCode',['../classDObject.html#afa8926d916081de72478cb8813c25e98',1,'DObject']]],
|
||||
['getheader_240',['getHeader',['../classOpatIO.html#afe725b647bc5bb802f6d711fc5dca3ab',1,'OpatIO']]],
|
||||
['getinstance_241',['getInstance',['../classConstants.html#aaa6f3af20fa563cf22df71a987923065',1,'Constants']]],
|
||||
['getmaxqdepth_242',['getMaxQDepth',['../classOpatIO.html#a48cd5e4f3fdb221bc1b6253e149e8e01',1,'OpatIO']]],
|
||||
['getmesh_243',['GetMesh',['../classMeshIO.html#a3e4bccff08abf9a28b3d64c8fb9f7317',1,'MeshIO']]],
|
||||
['getnumindex_244',['getNumIndex',['../classOpatIO.html#a8f7cc9a4ec8845c22df330678afd29c6',1,'OpatIO']]],
|
||||
['getopatversion_245',['getOPATVersion',['../classOpatIO.html#a2894437c09f4cdb06c9b06d6aad4bd2f',1,'OpatIO']]],
|
||||
['gettable_246',['getTable',['../classOpatIO.html#a5c35b863873239e023427864ed016f58',1,'OpatIO']]],
|
||||
['gettableindex_247',['getTableIndex',['../classOpatIO.html#af0bc6bb210c4ff74bc1e043aeb252e1a',1,'OpatIO::getTableIndex()'],['../classOpatIO.html#a408b7f7d58d4a49636220f0431813dad',1,'OpatIO::getTableIndex(std::vector< double > index)']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['keys_180',['keys',['../classConstants.html#ab9de36fa145552a3e7964e7e85a67149',1,'Constants']]]
|
||||
['has_248',['has',['../classConstants.html#a2aa041fd223f259e55bf098c90581039',1,'Constants']]]
|
||||
];
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['load_181',['load',['../classOpatIO.html#a3578ac9bad40dd45ada3459f92a93b56',1,'OpatIO']]],
|
||||
['lock_182',['lock',['../classLockableDObject.html#ade38ca54703913359fc3b4366f6e292a',1,'LockableDObject']]],
|
||||
['lockabledobject_183',['LockableDObject',['../classLockableDObject.html#ae1a174a2740fa053626fe2820ee0efee',1,'LockableDObject']]],
|
||||
['lookupclosesttableid_184',['lookupClosestTableID',['../classOpatIO.html#af870ebd76bef969fa1f7c8270ac25cd8',1,'OpatIO']]],
|
||||
['lookuptableid_185',['lookupTableID',['../classOpatIO.html#a37959ed6845e09302bb8c206e3e006e4',1,'OpatIO']]]
|
||||
['initlaize_5fopac_249',['initlaize_opac',['../opac_8h.html#a6243596bfdc55d73744ebecd9e577ee8',1,'opac.h']]],
|
||||
['is_5fbig_5fendian_250',['is_big_endian',['../opatIO_8cpp.html#aed5f3e73e01248d8a2d6792a69081f9e',1,'opatIO.cpp']]],
|
||||
['isdebugenabled_251',['isDebugEnabled',['../classMetadata.html#abe52c81e04665628666b4140cd346b69',1,'Metadata']]],
|
||||
['isdebuggingenabled_252',['isDebuggingEnabled',['../classDObject.html#ae47bf220fbe2173cf6933c2380035dbd',1,'DObject']]],
|
||||
['isloaded_253',['isLoaded',['../classConstants.html#ae276dfdc0ffe75a53e3842e33ab52630',1,'Constants::isLoaded()'],['../classOpatIO.html#aba1be05d51d4b0b9e4581b95ad0e1890',1,'OpatIO::isLoaded()']]],
|
||||
['isloaded_254',['IsLoaded',['../classMeshIO.html#a12495fc814254021d44e0509ac760672',1,'MeshIO']]]
|
||||
];
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['main_186',['main',['../testDObject_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'testDObject.cpp']]],
|
||||
['metadata_187',['Metadata',['../classMetadata.html#ae849560667461008cb72e83919c20be0',1,'Metadata::Metadata()=default'],['../classMetadata.html#a3d56c8c5adee4b8c7d2089802211522b',1,'Metadata::Metadata(std::size_t byteSize, std::string dataType, std::vector< std::size_t > dimensions, bool debugFlag=false)']]]
|
||||
['keys_255',['keys',['../classConstants.html#ab9de36fa145552a3e7964e7e85a67149',1,'Constants']]]
|
||||
];
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['opatio_188',['OpatIO',['../classOpatIO.html#a7f3436b3ac0dbe141b08d8064550f1b3',1,'OpatIO::OpatIO()'],['../classOpatIO.html#ae24b6a4f78529c4fe4719ea5438d5ed6',1,'OpatIO::OpatIO(std::string filename)']]],
|
||||
['operator_3c_3c_189',['operator<<',['../DObject_8cpp.html#a5b2896a287295bf59a0b9e4d0af21161',1,'operator<<(std::ostream &os, const DObject &obj): DObject.cpp'],['../Metadata_8cpp.html#a9bc49cc23da2d1ff8b3e197630b9dfd2',1,'operator<<(std::ostream &os, const Metadata &metadata): Metadata.cpp']]],
|
||||
['operator_5b_5d_190',['operator[]',['../classConstants.html#ad75620743b867fc20d4a05027d1a1c01',1,'Constants']]]
|
||||
['load_256',['load',['../classOpatIO.html#a3578ac9bad40dd45ada3459f92a93b56',1,'OpatIO']]],
|
||||
['lock_257',['lock',['../classLockableDObject.html#ade38ca54703913359fc3b4366f6e292a',1,'LockableDObject']]],
|
||||
['lockabledobject_258',['LockableDObject',['../classLockableDObject.html#ae1a174a2740fa053626fe2820ee0efee',1,'LockableDObject']]],
|
||||
['lookupclosesttableid_259',['lookupClosestTableID',['../classOpatIO.html#a82715d95a5ddd1e78470b90fbd005c4d',1,'OpatIO']]],
|
||||
['lookuptableid_260',['lookupTableID',['../classOpatIO.html#a1a4456b7745c0dd559eca72d5d744fc0',1,'OpatIO']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['operator_3c_3c_247',['operator<<',['../structConstant.html#ad298f7af7cdfd2e2267fd9e464558e2b',1,'Constant::operator<<()'],['../classDObject.html#a5b2896a287295bf59a0b9e4d0af21161',1,'DObject::operator<<()'],['../classMetadata.html#a9bc49cc23da2d1ff8b3e197630b9dfd2',1,'Metadata::operator<<()']]]
|
||||
['operator_3c_3c_335',['operator<<',['../structConstant.html#ad298f7af7cdfd2e2267fd9e464558e2b',1,'Constant::operator<<()'],['../classDObject.html#a5b2896a287295bf59a0b9e4d0af21161',1,'DObject::operator<<()'],['../classMetadata.html#a9bc49cc23da2d1ff8b3e197630b9dfd2',1,'Metadata::operator<<()']]]
|
||||
];
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
var indexSectionsWithContent =
|
||||
{
|
||||
0: "_bcdeghiklmnoprstuvxz~",
|
||||
1: "cdhlmot",
|
||||
2: "_cdlmort",
|
||||
3: "cdghiklmoprstu~",
|
||||
4: "bcdehilmnorsuvxz",
|
||||
0: "_abcdeghiklmnoprstuvwx~",
|
||||
1: "bcdhlmnot",
|
||||
2: "_cdlmoprt",
|
||||
3: "abcdghiklmnoprstuvwx~",
|
||||
4: "bcdehilmnorsuv",
|
||||
5: "dp",
|
||||
6: "o",
|
||||
7: "e",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['datatype_245',['DataType',['../classDObject.html#a79a2ecac4130ef3df272bdfeed26a620',1,'DObject']]]
|
||||
['datatype_333',['DataType',['../classDObject.html#a79a2ecac4130ef3df272bdfeed26a620',1,'DObject']]]
|
||||
];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['plugin_246',['Plugin',['../classDObject.html#af11334d08ef85c68b3aae7554548e5a7',1,'DObject']]]
|
||||
['plugin_334',['Plugin',['../classDObject.html#af11334d08ef85c68b3aae7554548e5a7',1,'DObject']]]
|
||||
];
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
\doxysection{Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classBilinearIntegratorWrapper}{Bilinear\+Integrator\+Wrapper}} \\*A wrapper class for bilinear integrator }{\pageref{classBilinearIntegratorWrapper}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classCompositeNonlinearIntegrator}{Composite\+Nonlinear\+Integrator}} \\*A class for composite nonlinear integrator }{\pageref{classCompositeNonlinearIntegrator}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classConfig}{Config}} \\*Singleton class to manage configuration settings loaded from a YAML file }{\pageref{classConfig}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classconfigTest}{config\+Test}} \\*Test suite for the \mbox{\hyperlink{classConfig}{Config}} class }{\pageref{classconfigTest}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classconfigTestPrivateAccessor}{config\+Test\+Private\+Accessor}} }{\pageref{classconfigTestPrivateAccessor}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structConstant}{Constant}} \\*Structure to hold a constant\textquotesingle{}s details }{\pageref{structConstant}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classConstants}{Constants}} \\*Class to manage a collection of constants }{\pageref{classConstants}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classconstTest}{const\+Test}} \\*Test suite for the const class }{\pageref{classconstTest}}{}
|
||||
@@ -8,8 +13,11 @@ Here are the classes, structs, unions and interfaces with brief descriptions\+:\
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structHeader}{Header}} \\*Structure to hold the header information of an OPAT file }{\pageref{structHeader}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classLockableDObject}{Lockable\+DObject}} \\*Wrapper for \mbox{\hyperlink{classDObject}{DObject}} with thread-\/safe access }{\pageref{classLockableDObject}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classLockableDObjectTest}{Lockable\+DObject\+Test}} \\*Test suite for the \mbox{\hyperlink{classLockableDObject}{Lockable\+DObject}} class }{\pageref{classLockableDObjectTest}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classMeshIO}{Mesh\+IO}} \\*Class for handling mesh input/output operations }{\pageref{classMeshIO}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classmeshIOTest}{mesh\+IOTest}} }{\pageref{classmeshIOTest}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classMetadata}{Metadata}} \\*Represents metadata information for data objects in the dobj module }{\pageref{classMetadata}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classMetadataTest}{Metadata\+Test}} \\*Test suite for the \mbox{\hyperlink{classMetadata}{Metadata}} class }{\pageref{classMetadataTest}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classNonlinearPowerIntegrator}{Nonlinear\+Power\+Integrator}} \\*A class for nonlinear power integrator }{\pageref{classNonlinearPowerIntegrator}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classOpatIO}{Opat\+IO}} \\*Class to manage the input/output operations for OPAT files }{\pageref{classOpatIO}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classopatIOTest}{opat\+IOTest}} \\*Test suite for the const class }{\pageref{classopatIOTest}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structOPATTable}{OPATTable}} \\*Structure to hold the data of an OPAT table }{\pageref{structOPATTable}}{}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
\doxysection{File List}
|
||||
Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{src/config/private/\mbox{\hyperlink{config_8cpp}{config.\+cpp}} }{\pageref{config_8cpp}}{}
|
||||
\item\contentsline{section}{src/config/public/\mbox{\hyperlink{config_8h}{config.\+h}} }{\pageref{config_8h}}{}
|
||||
\item\contentsline{section}{src/const/private/\mbox{\hyperlink{const_8cpp}{const.\+cpp}} }{\pageref{const_8cpp}}{}
|
||||
\item\contentsline{section}{src/const/public/\mbox{\hyperlink{const_8h}{const.\+h}} }{\pageref{const_8h}}{}
|
||||
\item\contentsline{section}{src/dobj/private/\mbox{\hyperlink{DObject_8cpp}{DObject.\+cpp}} \\*Implementation of the \mbox{\hyperlink{classDObject}{DObject}} class }{\pageref{DObject_8cpp}}{}
|
||||
@@ -8,14 +10,24 @@ Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{src/dobj/public/\mbox{\hyperlink{DObject_8h}{DObject.\+h}} \\*Defines the \mbox{\hyperlink{classDObject}{DObject}} class, a universal data container for the project }{\pageref{DObject_8h}}{}
|
||||
\item\contentsline{section}{src/dobj/public/\mbox{\hyperlink{LockableDObject_8h}{Lockable\+DObject.\+h}} \\*A lightweight wrapper for \mbox{\hyperlink{classDObject}{DObject}} that adds locking capabilities }{\pageref{LockableDObject_8h}}{}
|
||||
\item\contentsline{section}{src/dobj/public/\mbox{\hyperlink{Metadata_8h}{Metadata.\+h}} \\*Public interface for the \mbox{\hyperlink{classMetadata}{Metadata}} class used in the dobj module }{\pageref{Metadata_8h}}{}
|
||||
\item\contentsline{section}{src/mesh\+IO/private/\mbox{\hyperlink{meshIO_8cpp}{mesh\+IO.\+cpp}} }{\pageref{meshIO_8cpp}}{}
|
||||
\item\contentsline{section}{src/mesh\+IO/public/\mbox{\hyperlink{meshIO_8h}{mesh\+IO.\+h}} }{\pageref{meshIO_8h}}{}
|
||||
\item\contentsline{section}{src/opac/public/\mbox{\hyperlink{opac_8h}{opac.\+h}} }{\pageref{opac_8h}}{}
|
||||
\item\contentsline{section}{src/opat\+IO/private/\mbox{\hyperlink{opatIO_8cpp}{opat\+IO.\+cpp}} }{\pageref{opatIO_8cpp}}{}
|
||||
\item\contentsline{section}{src/opat\+IO/public/\mbox{\hyperlink{opatIO_8h}{opat\+IO.\+h}} }{\pageref{opatIO_8h}}{}
|
||||
\item\contentsline{section}{src/poly/coeff/private/\mbox{\hyperlink{polyCoeff_8cpp}{poly\+Coeff.\+cpp}} }{\pageref{polyCoeff_8cpp}}{}
|
||||
\item\contentsline{section}{src/poly/coeff/public/\mbox{\hyperlink{polyCoeff_8h}{poly\+Coeff.\+h}} }{\pageref{polyCoeff_8h}}{}
|
||||
\item\contentsline{section}{src/poly/utils/private/\mbox{\hyperlink{polyIO_8cpp}{poly\+IO.\+cpp}} }{\pageref{polyIO_8cpp}}{}
|
||||
\item\contentsline{section}{src/poly/utils/private/\mbox{\hyperlink{polyMFEMUtils_8cpp}{poly\+MFEMUtils.\+cpp}} }{\pageref{polyMFEMUtils_8cpp}}{}
|
||||
\item\contentsline{section}{src/poly/utils/public/\mbox{\hyperlink{polyIO_8h}{poly\+IO.\+h}} }{\pageref{polyIO_8h}}{}
|
||||
\item\contentsline{section}{src/poly/utils/public/\mbox{\hyperlink{polyMFEMUtils_8h}{poly\+MFEMUtils.\+h}} }{\pageref{polyMFEMUtils_8h}}{}
|
||||
\item\contentsline{section}{tests/config/\mbox{\hyperlink{configTest_8cpp}{config\+Test.\+cpp}} \\*Unit tests for the \mbox{\hyperlink{classConfig}{Config}} class }{\pageref{configTest_8cpp}}{}
|
||||
\item\contentsline{section}{tests/const/\mbox{\hyperlink{constTest_8cpp}{const\+Test.\+cpp}} \\*Unit tests for the const class }{\pageref{constTest_8cpp}}{}
|
||||
\item\contentsline{section}{tests/dobj/\mbox{\hyperlink{DObjectTest_8cpp}{DObject\+Test.\+cpp}} \\*Unit tests for the \mbox{\hyperlink{classDObject}{DObject}} class }{\pageref{DObjectTest_8cpp}}{}
|
||||
\item\contentsline{section}{tests/dobj/\mbox{\hyperlink{LockableDObjectTest_8cpp}{Lockable\+DObject\+Test.\+cpp}} \\*Unit tests for the \mbox{\hyperlink{classLockableDObject}{Lockable\+DObject}} class }{\pageref{LockableDObjectTest_8cpp}}{}
|
||||
\item\contentsline{section}{tests/dobj/\mbox{\hyperlink{MetadataTest_8cpp}{Metadata\+Test.\+cpp}} \\*Unit tests and integration tests for the \mbox{\hyperlink{classMetadata}{Metadata}} class }{\pageref{MetadataTest_8cpp}}{}
|
||||
\item\contentsline{section}{tests/dobj\+\_\+sandbox/\mbox{\hyperlink{testDObject_8cpp}{test\+DObject.\+cpp}} }{\pageref{testDObject_8cpp}}{}
|
||||
\item\contentsline{section}{tests/mesh\+IO/\mbox{\hyperlink{meshIOTest_8cpp}{mesh\+IOTest.\+cpp}} }{\pageref{meshIOTest_8cpp}}{}
|
||||
\item\contentsline{section}{tests/opat\+IO/\mbox{\hyperlink{opatIOTest_8cpp}{opat\+IOTest.\+cpp}} \\*Unit tests for the \mbox{\hyperlink{classOpatIO}{Opat\+IO}} class and associated structs }{\pageref{opatIOTest_8cpp}}{}
|
||||
\item\contentsline{section}{utils/opatio/build/lib/opatio/\mbox{\hyperlink{build_2lib_2opatio_2____init_____8py}{\+\_\+\+\_\+init\+\_\+\+\_\+.\+py}} }{\pageref{build_2lib_2opatio_2____init_____8py}}{}
|
||||
\item\contentsline{section}{utils/opatio/build/lib/opatio/opat/\mbox{\hyperlink{build_2lib_2opatio_2opat_2____init_____8py}{\+\_\+\+\_\+init\+\_\+\+\_\+.\+py}} }{\pageref{build_2lib_2opatio_2opat_2____init_____8py}}{}
|
||||
@@ -23,4 +35,5 @@ Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{utils/opatio/src/opatio/\mbox{\hyperlink{src_2opatio_2____init_____8py}{\+\_\+\+\_\+init\+\_\+\+\_\+.\+py}} }{\pageref{src_2opatio_2____init_____8py}}{}
|
||||
\item\contentsline{section}{utils/opatio/src/opatio/opat/\mbox{\hyperlink{src_2opatio_2opat_2____init_____8py}{\+\_\+\+\_\+init\+\_\+\+\_\+.\+py}} }{\pageref{src_2opatio_2opat_2____init_____8py}}{}
|
||||
\item\contentsline{section}{utils/opatio/src/opatio/opat/\mbox{\hyperlink{src_2opatio_2opat_2opat_8py}{opat.\+py}} }{\pageref{src_2opatio_2opat_2opat_8py}}{}
|
||||
\item\contentsline{section}{utils/opatio/utils/\mbox{\hyperlink{mkTestData_8py}{mk\+Test\+Data.\+py}} }{\pageref{mkTestData_8py}}{}
|
||||
\end{DoxyCompactList}
|
||||
|
||||
@@ -186,6 +186,11 @@
|
||||
\chapter{File Index}
|
||||
\input{files}
|
||||
\chapter{Class Documentation}
|
||||
\input{classBilinearIntegratorWrapper}
|
||||
\input{classCompositeNonlinearIntegrator}
|
||||
\input{classConfig}
|
||||
\input{classconfigTest}
|
||||
\input{classconfigTestPrivateAccessor}
|
||||
\input{structConstant}
|
||||
\input{classConstants}
|
||||
\input{classconstTest}
|
||||
@@ -194,13 +199,18 @@
|
||||
\input{structHeader}
|
||||
\input{classLockableDObject}
|
||||
\input{classLockableDObjectTest}
|
||||
\input{classMeshIO}
|
||||
\input{classmeshIOTest}
|
||||
\input{classMetadata}
|
||||
\input{classMetadataTest}
|
||||
\input{classNonlinearPowerIntegrator}
|
||||
\input{classOpatIO}
|
||||
\input{classopatIOTest}
|
||||
\input{structOPATTable}
|
||||
\input{structTableIndex}
|
||||
\chapter{File Documentation}
|
||||
\input{config_8cpp}
|
||||
\input{config_8h}
|
||||
\input{const_8cpp}
|
||||
\input{const_8h}
|
||||
\input{DObject_8cpp}
|
||||
@@ -209,14 +219,24 @@
|
||||
\input{DObject_8h}
|
||||
\input{LockableDObject_8h}
|
||||
\input{Metadata_8h}
|
||||
\input{meshIO_8cpp}
|
||||
\input{meshIO_8h}
|
||||
\input{opac_8h}
|
||||
\input{opatIO_8cpp}
|
||||
\input{opatIO_8h}
|
||||
\input{polyCoeff_8cpp}
|
||||
\input{polyCoeff_8h}
|
||||
\input{polyIO_8cpp}
|
||||
\input{polyMFEMUtils_8cpp}
|
||||
\input{polyIO_8h}
|
||||
\input{polyMFEMUtils_8h}
|
||||
\input{configTest_8cpp}
|
||||
\input{constTest_8cpp}
|
||||
\input{DObjectTest_8cpp}
|
||||
\input{LockableDObjectTest_8cpp}
|
||||
\input{MetadataTest_8cpp}
|
||||
\input{testDObject_8cpp}
|
||||
\input{meshIOTest_8cpp}
|
||||
\input{opatIOTest_8cpp}
|
||||
\input{build_2lib_2opatio_2____init_____8py}
|
||||
\input{build_2lib_2opatio_2opat_2____init_____8py}
|
||||
@@ -225,6 +245,7 @@
|
||||
\input{build_2lib_2opatio_2opat_2opat_8py}
|
||||
\input{src_2opatio_2opat_2opat_8py}
|
||||
\input{readme_8md}
|
||||
\input{mkTestData_8py}
|
||||
%--- End generated contents ---
|
||||
|
||||
% Index
|
||||
|
||||
@@ -5,6 +5,7 @@ add_project_arguments('-fvisibility=default', language: 'cpp')
|
||||
|
||||
# Build external dependencies first so that all the embedded resources are available to the other targets
|
||||
subdir('build-config')
|
||||
subdir('subprojects/PicoSHA2')
|
||||
|
||||
# Build the main project
|
||||
subdir('src')
|
||||
|
||||
4
mk
4
mk
@@ -2,9 +2,9 @@
|
||||
|
||||
# Check for the --noTest flag
|
||||
if [[ "$1" == "--noTest" ]]; then
|
||||
meson setup build -Dbuild_tests=false
|
||||
meson setup build -Dbuild_tests=false --buildtype=release
|
||||
else
|
||||
meson setup build -Dbuild_tests=true
|
||||
meson setup build -Dbuild_tests=true --buildtype=debug
|
||||
fi
|
||||
|
||||
# Compile the project
|
||||
|
||||
BIN
specs/OPAT/._OPAT.pdf
Executable file
BIN
specs/OPAT/._OPAT.pdf
Executable file
Binary file not shown.
BIN
specs/OPAT/OPAT.pdf
Normal file → Executable file
BIN
specs/OPAT/OPAT.pdf
Normal file → Executable file
Binary file not shown.
26
src/config/meson.build
Normal file
26
src/config/meson.build
Normal file
@@ -0,0 +1,26 @@
|
||||
# Define the library
|
||||
config_sources = files(
|
||||
'private/config.cpp',
|
||||
)
|
||||
|
||||
config_headers = files(
|
||||
'public/config.h'
|
||||
)
|
||||
|
||||
# Define the libconfig library so it can be linked against by other parts of the build system
|
||||
libconfig = static_library('config',
|
||||
config_sources,
|
||||
include_directories: include_directories('public'),
|
||||
cpp_args: ['-fvisibility=default'],
|
||||
dependencies: [yaml_cpp_dep],
|
||||
install : true)
|
||||
|
||||
config_dep = declare_dependency(
|
||||
include_directories: include_directories('public'),
|
||||
link_with: libconfig,
|
||||
sources: config_sources,
|
||||
dependencies: [yaml_cpp_dep],
|
||||
)
|
||||
|
||||
# Make headers accessible
|
||||
install_headers(config_headers, subdir : '4DSSE/config')
|
||||
42
src/config/private/config.cpp
Normal file
42
src/config/private/config.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
#include "yaml-cpp/yaml.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
Config::Config() {}
|
||||
|
||||
Config::~Config() {}
|
||||
|
||||
Config& Config::getInstance() {
|
||||
static Config instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
bool Config::loadConfig(const std::string& configFile) {
|
||||
configFilePath = configFile;
|
||||
try {
|
||||
yamlRoot = YAML::LoadFile(configFile);
|
||||
} catch (YAML::BadFile& e) {
|
||||
std::cerr << "Error: " << e.what() << std::endl;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Config::isKeyInCache(const std::string &key) {
|
||||
return configMap.find(key) != configMap.end();
|
||||
}
|
||||
|
||||
void Config::addToCache(const std::string &key, const YAML::Node &node) {
|
||||
configMap[key] = node;
|
||||
}
|
||||
|
||||
void Config::registerUnknownKey(const std::string &key) {
|
||||
unknownKeys.push_back(key);
|
||||
}
|
||||
175
src/config/public/config.h
Normal file
175
src/config/public/config.h
Normal file
@@ -0,0 +1,175 @@
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <algorithm>
|
||||
|
||||
#include "yaml-cpp/yaml.h"
|
||||
|
||||
/**
|
||||
* @class Config
|
||||
* @brief Singleton class to manage configuration settings loaded from a YAML file.
|
||||
*/
|
||||
class Config {
|
||||
private:
|
||||
/**
|
||||
* @brief Private constructor to prevent instantiation.
|
||||
*/
|
||||
Config();
|
||||
|
||||
/**
|
||||
* @brief Destructor.
|
||||
*/
|
||||
~Config();
|
||||
|
||||
YAML::Node yamlRoot; ///< Root node of the YAML configuration.
|
||||
std::string configFilePath; ///< Path to the configuration file.
|
||||
bool debug = false; ///< Flag to enable debug output.
|
||||
|
||||
std::map<std::string, YAML::Node> configMap; ///< Cache for the location of configuration settings.
|
||||
std::vector<std::string> unknownKeys; ///< Cache for the existence of configuration settings.
|
||||
|
||||
/**
|
||||
* @brief Get a value from the configuration cache.
|
||||
* @tparam T Type of the value to retrieve.
|
||||
* @param key Key of the configuration value.
|
||||
* @param defaultValue Default value to return if the key does not exist.
|
||||
* @return Configuration value of type T.
|
||||
*/
|
||||
template <typename T>
|
||||
T getFromCache(const std::string &key, T defaultValue) {
|
||||
if (configMap.find(key) != configMap.end()) {
|
||||
try {
|
||||
return configMap[key].as<T>();
|
||||
} catch (const YAML::Exception& e) {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Check if a key exists in the configuration cache.
|
||||
* @param key Key to check.
|
||||
* @return True if the key exists in the cache, false otherwise.
|
||||
*/
|
||||
bool isKeyInCache(const std::string &key);
|
||||
|
||||
/**
|
||||
* @brief Add a key-value pair to the configuration cache.
|
||||
* @param key Key of the configuration value.
|
||||
* @param node YAML node containing the configuration value.
|
||||
*/
|
||||
void addToCache(const std::string &key, const YAML::Node &node);
|
||||
|
||||
/**
|
||||
* @brief Register a key as not found in the configuration.
|
||||
* @param key Key that was not found.
|
||||
*/
|
||||
void registerUnknownKey(const std::string &key);
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Get the singleton instance of the Config class.
|
||||
* @return Reference to the Config instance.
|
||||
*/
|
||||
static Config& getInstance();
|
||||
|
||||
Config (const Config&) = delete;
|
||||
Config& operator= (const Config&) = delete;
|
||||
Config (Config&&) = delete;
|
||||
Config& operator= (Config&&) = delete;
|
||||
|
||||
void setDebug(bool debug) { this->debug = debug; }
|
||||
|
||||
/**
|
||||
* @brief Load configuration from a YAML file.
|
||||
* @param configFilePath Path to the YAML configuration file.
|
||||
* @return True if the configuration was loaded successfully, false otherwise.
|
||||
*/
|
||||
bool loadConfig(const std::string& configFilePath);
|
||||
|
||||
/**
|
||||
* @brief Get the input table from the configuration.
|
||||
* @return Input table as a string.
|
||||
*/
|
||||
std::string getInputTable() const;
|
||||
|
||||
/**
|
||||
* @brief Get a configuration value by key.
|
||||
* @tparam T Type of the value to retrieve.
|
||||
* @param key Key of the configuration value.
|
||||
* @param defaultValue Default value to return if the key does not exist.
|
||||
* @return Configuration value of type T.
|
||||
*
|
||||
* @example
|
||||
* @code
|
||||
* Config& config = Config::getInstance();
|
||||
* config.loadConfig("example.yaml");
|
||||
* int maxIter = config.get<int>("opac:lowTemp:numeric:maxIter", 10);
|
||||
*/
|
||||
template <typename T>
|
||||
T get(const std::string &key, T defaultValue) {
|
||||
// --- Check if the key has already been checked for existence
|
||||
if (std::find(unknownKeys.begin(), unknownKeys.end(), key) != unknownKeys.end()) {
|
||||
return defaultValue; // If the key has already been added to the unknown cache do not traverse the YAML tree or hit the cache
|
||||
}
|
||||
|
||||
// --- Check if the key is already in the cache (avoid traversing YAML nodes)
|
||||
if (isKeyInCache(key)) {
|
||||
return getFromCache<T>(key, defaultValue);
|
||||
}
|
||||
// --- If the key is not in the cache, check the YAML file
|
||||
else {
|
||||
YAML::Node node = YAML::Clone(yamlRoot);
|
||||
std::istringstream keyStream(key);
|
||||
std::string subKey;
|
||||
while (std::getline(keyStream, subKey, ':')) {
|
||||
if (!node[subKey]) {
|
||||
// Key does not exist
|
||||
registerUnknownKey(key);
|
||||
return defaultValue;
|
||||
}
|
||||
node = node[subKey]; // go deeper
|
||||
}
|
||||
|
||||
try {
|
||||
// Key exists and is of the requested type
|
||||
addToCache(key, node);
|
||||
return node.as<T>();
|
||||
} catch (const YAML::Exception& e) {
|
||||
// Key is not of the requested type
|
||||
registerUnknownKey(key);
|
||||
return defaultValue; // return default value if the key does not exist
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Print the configuration file path and the YAML root node.
|
||||
* @param os Output stream.
|
||||
* @param config Config object to print.
|
||||
* @return Output stream.
|
||||
*/
|
||||
friend std::ostream& operator<<(std::ostream& os, const Config& config) {
|
||||
if (!config.debug) {
|
||||
os << "Config file: " << config.configFilePath << std::endl;
|
||||
} else{
|
||||
// Print entire YAML file from root
|
||||
os << "Config file: " << config.configFilePath << std::endl;
|
||||
os << config.yamlRoot << std::endl;
|
||||
}
|
||||
return os;
|
||||
}
|
||||
|
||||
// Setup gTest class as a friend
|
||||
friend class configTestPrivateAccessor;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -6,4 +6,6 @@ subdir('dobj')
|
||||
subdir('const')
|
||||
subdir('opatIO')
|
||||
subdir('meshIO')
|
||||
subdir('poly')
|
||||
subdir('probe')
|
||||
subdir('poly')
|
||||
subdir('config')
|
||||
|
||||
@@ -12,7 +12,9 @@ libopatIO = library('opatIO',
|
||||
opatIO_sources,
|
||||
include_directories: include_directories('public'),
|
||||
cpp_args: ['-fvisibility=default'],
|
||||
install : true)
|
||||
dependencies: [picosha2_dep],
|
||||
install : true,
|
||||
)
|
||||
|
||||
# Make headers accessible
|
||||
install_headers(opatIO_headers, subdir : '4DSSE/opatIO')
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <cmath>
|
||||
#include <limits>
|
||||
#include <deque>
|
||||
#include "picosha2.h"
|
||||
|
||||
// Function to check system endianness
|
||||
bool is_big_endian() {
|
||||
@@ -75,13 +76,14 @@ void OpatIO::unload() {
|
||||
void OpatIO::readHeader(std::ifstream &file) {
|
||||
file.read(reinterpret_cast<char*>(&header), sizeof(Header));
|
||||
if (file.gcount() != sizeof(Header)) {
|
||||
throw std::runtime_error("Error reading header from file: " + filename);
|
||||
throw std::runtime_error("Error reading header from file");
|
||||
}
|
||||
|
||||
if (is_big_endian()) {
|
||||
header.version = swap_bytes(header.version);
|
||||
header.numTables = swap_bytes(header.numTables);
|
||||
header.indexOffset = swap_bytes(header.indexOffset);
|
||||
header.numIndex = swap_bytes(header.numIndex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,75 +91,86 @@ void OpatIO::readHeader(std::ifstream &file) {
|
||||
void OpatIO::readTableIndex(std::ifstream &file) {
|
||||
file.seekg(header.indexOffset, std::ios::beg);
|
||||
tableIndex.resize(header.numTables);
|
||||
file.read(reinterpret_cast<char*>(tableIndex.data()), header.numTables * sizeof(TableIndex));
|
||||
if (file.gcount() != static_cast<std::streamsize>(header.numTables * sizeof(TableIndex))) {
|
||||
throw std::runtime_error("Error reading table index from file: " + filename);
|
||||
long unsigned int indexReadBytes;
|
||||
for (uint32_t i = 0; i < header.numTables; i++) {
|
||||
indexReadBytes = 0;
|
||||
// Read the index vector in based on numIndex
|
||||
tableIndex.at(i).index.resize(header.numIndex);
|
||||
file.read(reinterpret_cast<char*>(tableIndex.at(i).index.data()), header.numIndex * sizeof(double));
|
||||
indexReadBytes += static_cast<int>(file.gcount());
|
||||
|
||||
// Read the start and end position of the table in
|
||||
file.read(reinterpret_cast<char*>(&tableIndex.at(i).byteStart), sizeof(uint64_t));
|
||||
indexReadBytes += static_cast<int>(file.gcount());
|
||||
file.read(reinterpret_cast<char*>(&tableIndex.at(i).byteEnd), sizeof(uint64_t));
|
||||
indexReadBytes += static_cast<int>(file.gcount());
|
||||
|
||||
// Read the checksum in
|
||||
file.read(tableIndex.at(i).sha256, 32);
|
||||
indexReadBytes += static_cast<int>(file.gcount());
|
||||
|
||||
// validate that the size of read data is correct
|
||||
if (indexReadBytes != header.numIndex * sizeof(double) + 32 + 2 * sizeof(uint64_t)) {
|
||||
throw std::runtime_error("Error reading table index from file");
|
||||
}
|
||||
}
|
||||
|
||||
buildTableIDToComposition();
|
||||
|
||||
buildTableIDToIndex();
|
||||
}
|
||||
|
||||
void OpatIO::buildTableIDToComposition(){
|
||||
tableIDToComposition.clear();
|
||||
void OpatIO::buildTableIDToIndex(){
|
||||
tableIDToIndex.clear();
|
||||
int tableID = 0;
|
||||
std::pair<double, double> comp;
|
||||
for (const auto &index : tableIndex) {
|
||||
comp.first = index.X;
|
||||
comp.second = index.Z;
|
||||
tableIDToComposition.emplace(tableID, comp);
|
||||
std::vector<double> ind;
|
||||
ind.resize(header.numIndex);
|
||||
for (const auto &table : tableIndex) {
|
||||
ind.clear();
|
||||
for (const auto &index : table.index) {
|
||||
ind.push_back(index);
|
||||
}
|
||||
tableIDToIndex.emplace(tableID, ind);
|
||||
tableID++;
|
||||
}
|
||||
XZLookupEpsilon();
|
||||
LookupEpsilon();
|
||||
}
|
||||
|
||||
void OpatIO::XZLookupEpsilon() {
|
||||
void OpatIO::LookupEpsilon() {
|
||||
/*
|
||||
Get 10% of the minimum spacing between XZ values
|
||||
in the tableIDToComposition map. This can be used
|
||||
Get 10% of the minimum spacing between index values
|
||||
in the tableIDToIndex map. This can be used
|
||||
to set the comparison distance when doing a reverse
|
||||
lookup (composition -> tableID)
|
||||
lookup (index -> tableID)
|
||||
*/
|
||||
std::vector<double> Xvalues, Zvalues;
|
||||
double epsilonX, epsilonZ, xgap, zgap;
|
||||
indexEpsilon.resize(header.numIndex);
|
||||
|
||||
// Start these out as larger than they will ever be
|
||||
epsilonX = 1;
|
||||
epsilonZ = 1;
|
||||
for (const auto& pair : tableIDToComposition) {
|
||||
Xvalues.push_back(pair.second.first);
|
||||
Zvalues.push_back(pair.second.second);
|
||||
}
|
||||
|
||||
// Sorting is required for this algorithm.
|
||||
std::sort(Xvalues.begin(), Xvalues.end());
|
||||
std::sort(Zvalues.begin(), Zvalues.end());
|
||||
|
||||
for (size_t i = 1; i < Xvalues.size(); ++i) {
|
||||
xgap = Xvalues[i] - Xvalues[i - 1];
|
||||
zgap = Zvalues[i] - Zvalues[i - 1];
|
||||
if (xgap > 0 && xgap < epsilonX) {
|
||||
epsilonX = xgap;
|
||||
}
|
||||
if (zgap > 0 && zgap < epsilonZ) {
|
||||
epsilonZ = zgap;
|
||||
double epsilon;
|
||||
for (int i = 0; i < static_cast<int>(header.numIndex); i++) {
|
||||
epsilon = std::numeric_limits<double>::max();
|
||||
for (int j = 1; j < static_cast<int>(header.numTables); j++) {
|
||||
epsilon = std::min(epsilon, std::fabs(tableIDToIndex.at(j).at(i) - tableIDToIndex.at(j-1).at(i)));
|
||||
}
|
||||
indexEpsilon.at(i) = epsilon * 0.1;
|
||||
}
|
||||
// 0.1 to extract 10% of min distance.
|
||||
XZepsilon = {0.1*epsilonX, 0.1*epsilonZ};
|
||||
}
|
||||
|
||||
int OpatIO::lookupTableID(double X, double Z){
|
||||
bool XOkay;
|
||||
bool ZOkay;
|
||||
int OpatIO::lookupTableID(std::vector<double> index) {
|
||||
std::vector<bool> IndexOkay;
|
||||
IndexOkay.resize(header.numIndex);
|
||||
int tableID = 0;
|
||||
for (const auto &tableMap : tableIDToComposition){
|
||||
XOkay = std::fabs(tableMap.second.first - X) < XZepsilon.first;
|
||||
ZOkay = std::fabs(tableMap.second.second - Z) < XZepsilon.second;
|
||||
if (XOkay and ZOkay){
|
||||
for (const auto &tableMap : tableIDToIndex){
|
||||
// Loop through all index values and check if they are within epsilon for that index
|
||||
std::fill(IndexOkay.begin(), IndexOkay.end(), false);
|
||||
for (long unsigned int i = 0; i < index.size(); i++) {
|
||||
IndexOkay.at(i) = std::fabs(tableMap.second.at(i) - index.at(i)) < indexEpsilon.at(i);
|
||||
}
|
||||
// If all index values are within epsilon, return the table ID
|
||||
if (std::all_of(IndexOkay.begin(), IndexOkay.end(), [](bool i){return i;})) {
|
||||
return tableID;
|
||||
}
|
||||
tableID++;
|
||||
}
|
||||
// If no table is found, return -1 (sentinal value)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -201,10 +214,10 @@ uint16_t OpatIO::getOPATVersion() {
|
||||
}
|
||||
|
||||
// Get a table for given X and Z
|
||||
OPATTable OpatIO::getTable(double X, double Z) {
|
||||
int tableID = lookupTableID(X, Z);
|
||||
OPATTable OpatIO::getTable(std::vector<double> index) {
|
||||
int tableID = lookupTableID(index);
|
||||
if (tableID == -1) {
|
||||
throw std::out_of_range("X Z Pair Not found!");
|
||||
throw std::out_of_range("Index Not found!");
|
||||
}
|
||||
try {
|
||||
return getTableFromQueue(tableID);
|
||||
@@ -288,6 +301,7 @@ void OpatIO::printHeader() {
|
||||
std::cout << "Creation Date: " << header.creationDate << std::endl;
|
||||
std::cout << "Source Info: " << header.sourceInfo << std::endl;
|
||||
std::cout << "Comment: " << header.comment << std::endl;
|
||||
std::cout << "Number of Indices: " << header.numIndex << std::endl;
|
||||
}
|
||||
|
||||
// Print the table index
|
||||
@@ -298,9 +312,11 @@ void OpatIO::printTableIndex() {
|
||||
}
|
||||
|
||||
// Print table header
|
||||
std::cout << std::left << std::setw(10) << "X"
|
||||
<< std::setw(10) << "Z"
|
||||
<< std::setw(15) << "Byte Start"
|
||||
std::cout << std::left << std::setw(10);
|
||||
for (int i = 0; i < header.numIndex; i++) {
|
||||
std::cout << "Index " << i << std::setw(10);
|
||||
}
|
||||
std::cout << std::setw(15) << "Byte Start"
|
||||
<< std::setw(15) << "Byte End"
|
||||
<< "Checksum (SHA-256)" << std::endl;
|
||||
|
||||
@@ -308,10 +324,11 @@ void OpatIO::printTableIndex() {
|
||||
|
||||
// Print each entry in the table
|
||||
for (const auto &index : tableIndex) {
|
||||
std::cout << std::fixed << std::setprecision(4)
|
||||
<< std::setw(10) << index.X
|
||||
<< std::setw(10) << index.Z
|
||||
<< std::setw(15) << index.byteStart
|
||||
std::cout << std::fixed << std::setprecision(4) << std::setw(10);
|
||||
for (int i = 0; i < header.numIndex; i++) {
|
||||
std::cout << index.index[i] << std::setw(10);
|
||||
}
|
||||
std::cout << std::setw(5) << index.byteStart
|
||||
<< std::setw(15) << index.byteEnd
|
||||
<< std::hex; // Switch to hex mode for checksum
|
||||
|
||||
@@ -422,8 +439,8 @@ void OpatIO::printTable(OPATTable table, uint32_t truncateDigits) {
|
||||
std::cout << "]" << std::endl;
|
||||
}
|
||||
|
||||
void OpatIO::printTable(double X, double Z, uint32_t truncateDigits) {
|
||||
int tableID = lookupTableID(X, Z);
|
||||
void OpatIO::printTable(std::vector<double> index, uint32_t truncateDigits) {
|
||||
int tableID = lookupTableID(index);
|
||||
OPATTable table = getTable(tableID);
|
||||
printTable(table, truncateDigits);
|
||||
}
|
||||
@@ -438,23 +455,45 @@ Header OpatIO::getHeader() {
|
||||
return header;
|
||||
}
|
||||
|
||||
// // Get the closest X tables
|
||||
// std::vector<OPATTable> OpatIO::getClosestXTables(double X, double ZExact, int numTables) {
|
||||
// std::vector<OPATTable> closestTables;
|
||||
// // Implement logic to find closest X tables
|
||||
// return closestTables;
|
||||
// }
|
||||
// Get the size of the index vector used
|
||||
uint16_t OpatIO::getNumIndex() {
|
||||
return header.numIndex;
|
||||
}
|
||||
|
||||
// // Get the closest Z tables
|
||||
// std::vector<OPATTable> OpatIO::getClosestZTables(double XExact, double Z, int numTables) {
|
||||
// std::vector<OPATTable> closestTables;
|
||||
// // Implement logic to find closest Z tables
|
||||
// return closestTables;
|
||||
// }
|
||||
TableIndex OpatIO::getTableIndex(std::vector<double> index) {
|
||||
int tableID = lookupTableID(index);
|
||||
return tableIndex.at(tableID);
|
||||
}
|
||||
|
||||
// // Get the closest tables
|
||||
// std::vector<OPATTable> OpatIO::getClosestTables(double X, double Z, int numTables) {
|
||||
// std::vector<OPATTable> closestTables;
|
||||
// // Implement logic to find closest tables
|
||||
// return closestTables;
|
||||
// }
|
||||
std::vector<unsigned char> OpatIO::computeChecksum(int tableID) {
|
||||
OPATTable table = getTable(tableID);
|
||||
std::vector<std::vector<double>> logKappa = table.logKappa;
|
||||
std::vector<double> flatData(logKappa.size() * logKappa.size());
|
||||
size_t offset = 0;
|
||||
for (const auto& row : logKappa) {
|
||||
for (const auto& val : row) {
|
||||
flatData[offset++] = val;
|
||||
}
|
||||
}
|
||||
std::vector<unsigned char> flatDataBytes(flatData.size() * sizeof(double));
|
||||
std::memcpy(flatDataBytes.data(), flatData.data(), flatDataBytes.size());
|
||||
std::vector<unsigned char> hash(picosha2::k_digest_size);
|
||||
picosha2::hash256(flatDataBytes.begin(), flatDataBytes.end(), hash.begin(), hash.end());
|
||||
return hash;
|
||||
}
|
||||
|
||||
std::vector<unsigned char> OpatIO::computeChecksum(std::vector<double> index) {
|
||||
int tableID = lookupTableID(index);
|
||||
return computeChecksum(tableID);
|
||||
}
|
||||
|
||||
bool OpatIO::validateAll() {
|
||||
for (const auto &table : tableIDToIndex) {
|
||||
std::vector<unsigned char> hash = computeChecksum(table.first);
|
||||
std::vector<unsigned char> storedHash(tableIndex.at(table.first).sha256, tableIndex.at(table.first).sha256 + 32);
|
||||
if (hash != storedHash) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -22,7 +22,8 @@ struct Header {
|
||||
char creationDate[16]; ///< Creation date of the file
|
||||
char sourceInfo[64]; ///< Source information
|
||||
char comment[128]; ///< Comment section
|
||||
char reserved[26]; ///< Reserved for future use
|
||||
uint16_t numIndex; ///< Size of index vector per table
|
||||
char reserved[24]; ///< Reserved for future use
|
||||
};
|
||||
#pragma pack()
|
||||
|
||||
@@ -30,8 +31,7 @@ struct Header {
|
||||
* @brief Structure to hold the index information of a table in an OPAT file.
|
||||
*/
|
||||
struct TableIndex {
|
||||
double X; ///< X composition value
|
||||
double Z; ///< Z composition value
|
||||
std::vector<double> index; ///< Index vector for associated table
|
||||
uint64_t byteStart; ///< Byte start position of the table
|
||||
uint64_t byteEnd; ///< Byte end position of the table
|
||||
char sha256[32]; ///< SHA-256 hash of the table data
|
||||
@@ -58,9 +58,9 @@ private:
|
||||
Header header; ///< Header information of the OPAT file
|
||||
std::vector<TableIndex> tableIndex; ///< Index information of the tables
|
||||
std::deque<std::pair<int, OPATTable>> tableQueue; ///< Queue to manage table caching
|
||||
std::map<int, std::pair<double, double>> tableIDToComposition; ///< Map to store table ID to composition mapping
|
||||
std::pair<double, double> XZepsilon; ///< Epsilon values for X and Z
|
||||
int maxQDepth = 10; ///< Maximum depth of the table queue
|
||||
std::map<int, std::vector<double>> tableIDToIndex; ///< Map to store table ID to indexing
|
||||
std::vector<double> indexEpsilon; ///< Epsilon values for each index
|
||||
int maxQDepth = 20; ///< Maximum depth of the table queue
|
||||
std::string filename; ///< Filename of the OPAT file
|
||||
bool loaded = false; ///< Flag to indicate if the file is loaded
|
||||
|
||||
@@ -115,14 +115,14 @@ private:
|
||||
void printTable(OPATTable table, uint32_t truncateDigits=5);
|
||||
|
||||
/**
|
||||
* @brief Lookup epsilon values for X and Z.
|
||||
* @brief Lookup epsilon values for Index.
|
||||
*/
|
||||
void XZLookupEpsilon();
|
||||
void LookupEpsilon();
|
||||
|
||||
/**
|
||||
* @brief Build the table ID to composition mapping.
|
||||
* @brief Build the table ID to Index mapping.
|
||||
*/
|
||||
void buildTableIDToComposition();
|
||||
void buildTableIDToIndex();
|
||||
|
||||
public:
|
||||
/**
|
||||
@@ -142,12 +142,12 @@ public:
|
||||
~OpatIO();
|
||||
|
||||
/**
|
||||
* @brief Get a table by X and Z values.
|
||||
* @param X The X composition value.
|
||||
* @param Z The Z composition value.
|
||||
* @brief Get a table by index vector
|
||||
* @param index The index vector associated with the table to retrieve.
|
||||
* @throw std::out_of_range if the index is not found.
|
||||
* @return The OPAT table.
|
||||
*/
|
||||
OPATTable getTable(double X, double Z);
|
||||
OPATTable getTable(std::vector<double> index);
|
||||
|
||||
/**
|
||||
* @brief Set the maximum depth of the table queue.
|
||||
@@ -195,11 +195,10 @@ public:
|
||||
|
||||
/**
|
||||
* @brief Print a table by X and Z values.
|
||||
* @param X The X composition value.
|
||||
* @param Z The Z composition value.
|
||||
* @param index The index vector associated with the table to print.
|
||||
* @param truncateDigits Number of digits to truncate.
|
||||
*/
|
||||
void printTable(double X, double Z, uint32_t truncateDigits=5);
|
||||
void printTable(std::vector<double> index, uint32_t truncateDigits=5);
|
||||
|
||||
/**
|
||||
* @brief Get the table index.
|
||||
@@ -213,60 +212,58 @@ public:
|
||||
*/
|
||||
Header getHeader();
|
||||
|
||||
/**
|
||||
* @brief Get the closest tables by X value.
|
||||
* @param X The X composition value.
|
||||
* @param ZExact The exact Z composition value.
|
||||
* @param C The C composition value (default is 0).
|
||||
* @param O The O composition value (default is 0).
|
||||
* @param numTables The number of closest tables to retrieve (default is 1).
|
||||
* @return A vector of OPAT tables.
|
||||
*/
|
||||
std::vector<OPATTable> getClosestXTables(double X, double ZExact, double C=0, double O=0, int numTables=1);
|
||||
|
||||
/**
|
||||
* @brief Get the closest tables by Z value.
|
||||
* @param XExact The exact X composition value.
|
||||
* @param Z The Z composition value.
|
||||
* @param C The C composition value (default is 0).
|
||||
* @param O The O composition value (default is 0).
|
||||
* @param numTables The number of closest tables to retrieve (default is 1).
|
||||
* @return A vector of OPAT tables.
|
||||
*/
|
||||
std::vector<OPATTable> getClosestZTables(double XExact, double Z, double C=0, double O=0, int numTables=1);
|
||||
|
||||
/**
|
||||
* @brief Get the closest tables by X and Z values.
|
||||
* @param X The X composition value.
|
||||
* @param Z The Z composition value.
|
||||
* @param C The C composition value (default is 0).
|
||||
* @param O The O composition value (default is 0).
|
||||
* @param numTables The number of closest tables to retrieve (default is 1).
|
||||
* @return A vector of OPAT tables.
|
||||
*/
|
||||
std::vector<OPATTable> getClosestTables(double X, double Z, double C=0, double O=0, int numTables=1);
|
||||
|
||||
/**
|
||||
* @brief Lookup the table ID by X and Z values.
|
||||
* @param X The X composition value.
|
||||
* @param Z The Z composition value.
|
||||
* @return The table ID.
|
||||
* @param index The index vector associated with the table to lookup.
|
||||
* @return The table ID if index is found, otherwise -1.
|
||||
*/
|
||||
int lookupTableID(double X, double Z);
|
||||
int lookupTableID(std::vector<double> index);
|
||||
|
||||
/**
|
||||
* @brief Lookup the closest table ID by X and Z values.
|
||||
* @param X The X composition value.
|
||||
* @param Z The Z composition value.
|
||||
* @param index The index vector associated with the table to lookup.
|
||||
* @return The closest table ID.
|
||||
*/
|
||||
int lookupClosestTableID(double X, double Z);
|
||||
int lookupClosestTableID(std::vector<double> index);
|
||||
|
||||
/**
|
||||
* @brief Get the version of the OPAT file format.
|
||||
* @return The version of the OPAT file format.
|
||||
*/
|
||||
uint16_t getOPATVersion();
|
||||
|
||||
/**
|
||||
* @brief Get size of the index vector per table in the OPAT file.
|
||||
* @return The size of the index vector per table.
|
||||
*/
|
||||
uint16_t getNumIndex();
|
||||
|
||||
/**
|
||||
* @brief Get the index vector for a given table ID.
|
||||
* @param index The index vector associated with the table to retrieve.
|
||||
* @return The full TableIndex entry for the table
|
||||
*/
|
||||
TableIndex getTableIndex(std::vector<double> index);
|
||||
|
||||
/**
|
||||
* @brief Get the checksum (sha256) for a given table ID.
|
||||
* @param tableID The ID of the table.
|
||||
* @return The checksum vector for the table.
|
||||
*/
|
||||
std::vector<unsigned char> computeChecksum(int tableID);
|
||||
|
||||
/**
|
||||
* @brief Get the checksum (sha256) for a given index vector.
|
||||
* @param index The index vector associated with the table to retrieve.
|
||||
* @return The checksum vector for the table.
|
||||
*/
|
||||
std::vector<unsigned char> computeChecksum(std::vector<double> index);
|
||||
|
||||
/**
|
||||
* @brief Validate the checksum of all tables.
|
||||
* @return True if all checksum are valid, false otherwise.
|
||||
*/
|
||||
bool validateAll();
|
||||
};
|
||||
|
||||
#endif
|
||||
22
src/probe/meson.build
Normal file
22
src/probe/meson.build
Normal file
@@ -0,0 +1,22 @@
|
||||
# Define the library
|
||||
probe_sources = files(
|
||||
'private/probe.cpp',
|
||||
)
|
||||
|
||||
probe_headers = files(
|
||||
'public/probe.h'
|
||||
)
|
||||
|
||||
# Define the liblogger library so it can be linked against by other parts of the build system
|
||||
libprobe = static_library('probe',
|
||||
probe_sources,
|
||||
include_directories: include_directories('public'),
|
||||
cpp_args: ['-fvisibility=default'],
|
||||
install : true,
|
||||
dependencies: [config_dep, mfem_dep, quill_dep]
|
||||
)
|
||||
|
||||
probe_dep = declare_dependency(
|
||||
include_directories: include_directories('public'),
|
||||
link_with: libprobe,
|
||||
)
|
||||
99
src/probe/private/probe.cpp
Normal file
99
src/probe/private/probe.cpp
Normal file
@@ -0,0 +1,99 @@
|
||||
#include "quill/Backend.h"
|
||||
#include "quill/Frontend.h"
|
||||
#include "quill/Logger.h"
|
||||
#include "quill/sinks/ConsoleSink.h"
|
||||
#include "quill/sinks/FileSink.h"
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <chrono>
|
||||
|
||||
#include "mfem.hpp"
|
||||
|
||||
#include "config.h"
|
||||
#include "probe.h"
|
||||
|
||||
|
||||
namespace Probe {
|
||||
|
||||
void pause() {
|
||||
std::cout << "Execution paused. Please press enter to continue..."
|
||||
<< std::endl; // Use endl to flush
|
||||
std::cin.get();
|
||||
}
|
||||
|
||||
void wait(int seconds) {
|
||||
std::this_thread::sleep_for(std::chrono::seconds(seconds));
|
||||
}
|
||||
|
||||
void glVisView(mfem::GridFunction& u, mfem::Mesh& mesh,
|
||||
const std::string& windowTitle) {
|
||||
Config& config = Config::getInstance();
|
||||
if (config.get<bool>("Probe:GLVis:Visualization", true)) {
|
||||
std::string vishost = config.get<std::string>("Probe:GLVis:Host", "localhost");
|
||||
int visport = config.get<int>("Probe:GLVis:Port", 19916); // Changed default port
|
||||
mfem::socketstream sol_sock(vishost.c_str(), visport);
|
||||
sol_sock.precision(8);
|
||||
sol_sock << "solution\n" << mesh << u
|
||||
<< "window_title '" << windowTitle << "'\n" << std::flush; // Added title
|
||||
}
|
||||
}
|
||||
|
||||
LogManager::LogManager() {
|
||||
Config& config = Config::getInstance();
|
||||
quill::Backend::start();
|
||||
auto CLILogger = quill::Frontend::create_or_get_logger(
|
||||
"root",
|
||||
quill::Frontend::create_or_get_sink<quill::ConsoleSink>("sink_id_1"));
|
||||
|
||||
newFileLogger(config.get<std::string>("Probe:LogManager:DefaultLogName", "4DSSE.log"), "log");
|
||||
loggerMap.emplace("stdout", CLILogger);
|
||||
}
|
||||
|
||||
LogManager::~LogManager() = default;
|
||||
|
||||
quill::Logger* LogManager::getLogger(const std::string& loggerName) {
|
||||
auto it = loggerMap.find(loggerName); // Find *once*
|
||||
if (it == loggerMap.end()) {
|
||||
throw std::runtime_error("Cannot find logger " + loggerName);
|
||||
}
|
||||
return it->second; // Return the raw pointer from the shared_ptr
|
||||
}
|
||||
|
||||
std::vector<std::string> LogManager::getLoggerNames() {
|
||||
std::vector<std::string> loggerNames;
|
||||
loggerNames.reserve(loggerMap.size());
|
||||
for (const auto& pair : loggerMap) { // Use range-based for loop and const auto&
|
||||
loggerNames.push_back(pair.first);
|
||||
}
|
||||
return loggerNames;
|
||||
}
|
||||
|
||||
std::vector<quill::Logger*> LogManager::getLoggers() {
|
||||
std::vector<quill::Logger*> loggers;
|
||||
loggers.reserve(loggerMap.size());
|
||||
for (const auto& pair : loggerMap) {
|
||||
loggers.push_back(pair.second); // Get the raw pointer
|
||||
}
|
||||
return loggers;
|
||||
}
|
||||
|
||||
quill::Logger* LogManager::newFileLogger(const std::string& filename,
|
||||
const std::string& loggerName) {
|
||||
auto file_sink = quill::Frontend::create_or_get_sink<quill::FileSink>(
|
||||
filename,
|
||||
[]() {
|
||||
quill::FileSinkConfig cfg;
|
||||
cfg.set_open_mode('w');
|
||||
return cfg;
|
||||
}(),
|
||||
quill::FileEventNotifier{});
|
||||
// Get the raw pointer.
|
||||
quill::Logger* rawLogger = quill::Frontend::create_or_get_logger(loggerName, std::move(file_sink));
|
||||
|
||||
// Create a shared_ptr from the raw pointer.
|
||||
loggerMap.emplace(loggerName, rawLogger);
|
||||
return rawLogger;
|
||||
}
|
||||
|
||||
} // namespace Probe
|
||||
99
src/probe/public/probe.h
Normal file
99
src/probe/public/probe.h
Normal file
@@ -0,0 +1,99 @@
|
||||
//=== Probe.h ===
|
||||
#ifndef PROBE_H
|
||||
#define PROBE_H
|
||||
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <iostream>
|
||||
|
||||
#include "mfem.hpp"
|
||||
#include "quill/Logger.h"
|
||||
|
||||
/**
|
||||
* @brief The Probe namespace contains utility functions for debugging and logging.
|
||||
*/
|
||||
namespace Probe {
|
||||
/**
|
||||
* @brief Pause the execution and wait for user input.
|
||||
*/
|
||||
void pause();
|
||||
|
||||
/**
|
||||
* @brief Wait for a specified number of seconds.
|
||||
* @param seconds The number of seconds to wait.
|
||||
*/
|
||||
void wait(int seconds);
|
||||
|
||||
/**
|
||||
* @brief Visualize a solution using GLVis.
|
||||
* @param u The GridFunction to visualize.
|
||||
* @param mesh The mesh associated with the GridFunction.
|
||||
* @param windowTitle The title of the visualization window.
|
||||
*/
|
||||
void glVisView(mfem::GridFunction& u, mfem::Mesh& mesh,
|
||||
const std::string& windowTitle = "solution");
|
||||
|
||||
/**
|
||||
* @brief Class to manage logging operations.
|
||||
*/
|
||||
class LogManager {
|
||||
private:
|
||||
/**
|
||||
* @brief Private constructor for singleton pattern.
|
||||
*/
|
||||
LogManager();
|
||||
|
||||
/**
|
||||
* @brief Destructor.
|
||||
*/
|
||||
~LogManager();
|
||||
|
||||
// Map to store pointers to quill loggers (raw pointers as quill deals with its own memory managment in a seperated, detatched, thread)
|
||||
std::map<std::string, quill::Logger*> loggerMap;
|
||||
|
||||
// Prevent copying and assignment (Rule of Zero)
|
||||
LogManager(const LogManager&) = delete;
|
||||
LogManager& operator=(const LogManager&) = delete;
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Get the singleton instance of LogManager.
|
||||
* @return The singleton instance of LogManager.
|
||||
*/
|
||||
static LogManager& getInstance() {
|
||||
static LogManager instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get a logger by name.
|
||||
* @param loggerName The name of the logger.
|
||||
* @return A pointer to the logger.
|
||||
*/
|
||||
quill::Logger* getLogger(const std::string& loggerName);
|
||||
|
||||
/**
|
||||
* @brief Get the names of all loggers.
|
||||
* @return A vector of logger names.
|
||||
*/
|
||||
std::vector<std::string> getLoggerNames();
|
||||
|
||||
/**
|
||||
* @brief Get all loggers.
|
||||
* @return A vector of pointers to the loggers.
|
||||
*/
|
||||
std::vector<quill::Logger*> getLoggers();
|
||||
|
||||
/**
|
||||
* @brief Create a new file logger.
|
||||
* @param filename The name of the log file.
|
||||
* @param loggerName The name of the logger.
|
||||
* @return A pointer to the new logger.
|
||||
*/
|
||||
quill::Logger* newFileLogger(const std::string& filename,
|
||||
const std::string& loggerName);
|
||||
};
|
||||
|
||||
} // namespace Probe
|
||||
#endif
|
||||
21
subprojects/PicoSHA2/LICENSE
Normal file
21
subprojects/PicoSHA2/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
# MIT License
|
||||
|
||||
Copyright (c) 2017 okdshin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
138
subprojects/PicoSHA2/README.md
Normal file
138
subprojects/PicoSHA2/README.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# PicoSHA2 - a C++ SHA256 hash generator
|
||||
|
||||
Copyright © 2017 okdshin
|
||||
|
||||
## Introduction
|
||||
|
||||
PicoSHA2 is a tiny SHA256 hash generator for C++ with following properties:
|
||||
|
||||
- header-file only
|
||||
- no external dependencies (only uses standard C++ libraries)
|
||||
- STL-friendly
|
||||
- licensed under MIT License
|
||||
|
||||
## Generating SHA256 hash and hash hex string
|
||||
|
||||
```c++
|
||||
// any STL sequantial container (vector, list, dequeue...)
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog";
|
||||
|
||||
std::vector<unsigned char> hash(picosha2::k_digest_size);
|
||||
picosha2::hash256(src_str.begin(), src_str.end(), hash.begin(), hash.end());
|
||||
|
||||
std::string hex_str = picosha2::bytes_to_hex_string(hash.begin(), hash.end());
|
||||
```
|
||||
|
||||
## Generating SHA256 hash and hash hex string from byte stream
|
||||
|
||||
```c++
|
||||
picosha2::hash256_one_by_one hasher;
|
||||
...
|
||||
hasher.process(block.begin(), block.end());
|
||||
...
|
||||
hasher.finish();
|
||||
|
||||
std::vector<unsigned char> hash(picosha2::k_digest_size);
|
||||
hasher.get_hash_bytes(hash.begin(), hash.end());
|
||||
|
||||
std::string hex_str = picosha2::get_hash_hex_string(hasher);
|
||||
```
|
||||
|
||||
The file `example/interactive_hasher.cpp` has more detailed information.
|
||||
|
||||
## Generating SHA256 hash from a binary file
|
||||
|
||||
```c++
|
||||
std::ifstream f("file.txt", std::ios::binary);
|
||||
std::vector<unsigned char> s(picosha2::k_digest_size);
|
||||
picosha2::hash256(f, s.begin(), s.end());
|
||||
```
|
||||
|
||||
This `hash256` may use less memory than reading whole of the file.
|
||||
|
||||
## Generating SHA256 hash hex string from std::string
|
||||
|
||||
```c++
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog";
|
||||
std::string hash_hex_str;
|
||||
picosha2::hash256_hex_string(src_str, hash_hex_str);
|
||||
std::cout << hash_hex_str << std::endl;
|
||||
//this output is "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592"
|
||||
```
|
||||
|
||||
```c++
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog";
|
||||
std::string hash_hex_str = picosha2::hash256_hex_string(src_str);
|
||||
std::cout << hash_hex_str << std::endl;
|
||||
//this output is "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592"
|
||||
```
|
||||
|
||||
```c++
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog.";//add '.'
|
||||
std::string hash_hex_str = picosha2::hash256_hex_string(src_str.begin(), src_str.end());
|
||||
std::cout << hash_hex_str << std::endl;
|
||||
//this output is "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c"
|
||||
```
|
||||
|
||||
## Generating SHA256 hash hex string from byte sequence
|
||||
|
||||
```c++
|
||||
std::vector<unsigned char> src_vect(...);
|
||||
std::string hash_hex_str;
|
||||
picosha2::hash256_hex_string(src_vect, hash_hex_str);
|
||||
```
|
||||
|
||||
```c++
|
||||
std::vector<unsigned char> src_vect(...);
|
||||
std::string hash_hex_str = picosha2::hash256_hex_string(src_vect);
|
||||
```
|
||||
|
||||
```c++
|
||||
unsigned char src_c_array[picosha2::k_digest_size] = {...};
|
||||
std::string hash_hex_str;
|
||||
picosha2::hash256_hex_string(src_c_array, src_c_array+picosha2::k_digest_size, hash_hex_str);
|
||||
```
|
||||
|
||||
```c++
|
||||
unsigned char src_c_array[picosha2::k_digest_size] = {...};
|
||||
std::string hash_hex_str = picosha2::hash256_hex_string(src_c_array, src_c_array+picosha2::k_digest_size);
|
||||
```
|
||||
|
||||
|
||||
## Generating SHA256 hash byte sequence from STL sequential container
|
||||
|
||||
```c++
|
||||
//any STL sequantial container (vector, list, dequeue...)
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog";
|
||||
|
||||
//any STL sequantial containers (vector, list, dequeue...)
|
||||
std::vector<unsigned char> hash(picosha2::k_digest_size);
|
||||
|
||||
// in: container, out: container
|
||||
picosha2::hash256(src_str, hash);
|
||||
```
|
||||
|
||||
```c++
|
||||
//any STL sequantial container (vector, list, dequeue...)
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog";
|
||||
|
||||
//any STL sequantial containers (vector, list, dequeue...)
|
||||
std::vector<unsigned char> hash(picosha2::k_digest_size);
|
||||
|
||||
// in: iterator pair, out: contaner
|
||||
picosha2::hash256(src_str.begin(), src_str.end(), hash);
|
||||
```
|
||||
|
||||
```c++
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog";
|
||||
unsigned char hash_byte_c_array[picosha2::k_digest_size];
|
||||
// in: container, out: iterator(pointer) pair
|
||||
picosha2::hash256(src_str, hash_byte_c_array, hash_byte_c_array+picosha2::k_digest_size);
|
||||
```
|
||||
|
||||
```c++
|
||||
std::string src_str = "The quick brown fox jumps over the lazy dog";
|
||||
std::vector<unsigned char> hash(picosha2::k_digest_size);
|
||||
// in: iterator pair, out: iterator pair
|
||||
picosha2::hash256(src_str.begin(), src_str.end(), hash.begin(), hash.end());
|
||||
```
|
||||
4
subprojects/PicoSHA2/meson.build
Normal file
4
subprojects/PicoSHA2/meson.build
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
picosha2_dep = declare_dependency(
|
||||
include_directories: include_directories('public')
|
||||
)
|
||||
377
subprojects/PicoSHA2/public/picosha2.h
Normal file
377
subprojects/PicoSHA2/public/picosha2.h
Normal file
@@ -0,0 +1,377 @@
|
||||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (C) 2017 okdshin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
#ifndef PICOSHA2_H
|
||||
#define PICOSHA2_H
|
||||
// picosha2:20140213
|
||||
|
||||
#ifndef PICOSHA2_BUFFER_SIZE_FOR_INPUT_ITERATOR
|
||||
#define PICOSHA2_BUFFER_SIZE_FOR_INPUT_ITERATOR \
|
||||
1048576 //=1024*1024: default is 1MB memory
|
||||
#endif
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <iterator>
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
#include <fstream>
|
||||
namespace picosha2 {
|
||||
typedef unsigned long word_t;
|
||||
typedef unsigned char byte_t;
|
||||
|
||||
static const size_t k_digest_size = 32;
|
||||
|
||||
namespace detail {
|
||||
inline byte_t mask_8bit(byte_t x) { return x & 0xff; }
|
||||
|
||||
inline word_t mask_32bit(word_t x) { return x & 0xffffffff; }
|
||||
|
||||
const word_t add_constant[64] = {
|
||||
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
|
||||
0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
|
||||
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
|
||||
0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
||||
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
|
||||
0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
|
||||
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
|
||||
0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
||||
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
|
||||
0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
||||
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2};
|
||||
|
||||
const word_t initial_message_digest[8] = {0x6a09e667, 0xbb67ae85, 0x3c6ef372,
|
||||
0xa54ff53a, 0x510e527f, 0x9b05688c,
|
||||
0x1f83d9ab, 0x5be0cd19};
|
||||
|
||||
inline word_t ch(word_t x, word_t y, word_t z) { return (x & y) ^ ((~x) & z); }
|
||||
|
||||
inline word_t maj(word_t x, word_t y, word_t z) {
|
||||
return (x & y) ^ (x & z) ^ (y & z);
|
||||
}
|
||||
|
||||
inline word_t rotr(word_t x, std::size_t n) {
|
||||
assert(n < 32);
|
||||
return mask_32bit((x >> n) | (x << (32 - n)));
|
||||
}
|
||||
|
||||
inline word_t bsig0(word_t x) { return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22); }
|
||||
|
||||
inline word_t bsig1(word_t x) { return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25); }
|
||||
|
||||
inline word_t shr(word_t x, std::size_t n) {
|
||||
assert(n < 32);
|
||||
return x >> n;
|
||||
}
|
||||
|
||||
inline word_t ssig0(word_t x) { return rotr(x, 7) ^ rotr(x, 18) ^ shr(x, 3); }
|
||||
|
||||
inline word_t ssig1(word_t x) { return rotr(x, 17) ^ rotr(x, 19) ^ shr(x, 10); }
|
||||
|
||||
template <typename RaIter1, typename RaIter2>
|
||||
void hash256_block(RaIter1 message_digest, RaIter2 first, RaIter2 last) {
|
||||
assert(first + 64 == last);
|
||||
static_cast<void>(last); // for avoiding unused-variable warning
|
||||
word_t w[64];
|
||||
std::fill(w, w + 64, word_t(0));
|
||||
for (std::size_t i = 0; i < 16; ++i) {
|
||||
w[i] = (static_cast<word_t>(mask_8bit(*(first + i * 4))) << 24) |
|
||||
(static_cast<word_t>(mask_8bit(*(first + i * 4 + 1))) << 16) |
|
||||
(static_cast<word_t>(mask_8bit(*(first + i * 4 + 2))) << 8) |
|
||||
(static_cast<word_t>(mask_8bit(*(first + i * 4 + 3))));
|
||||
}
|
||||
for (std::size_t i = 16; i < 64; ++i) {
|
||||
w[i] = mask_32bit(ssig1(w[i - 2]) + w[i - 7] + ssig0(w[i - 15]) +
|
||||
w[i - 16]);
|
||||
}
|
||||
|
||||
word_t a = *message_digest;
|
||||
word_t b = *(message_digest + 1);
|
||||
word_t c = *(message_digest + 2);
|
||||
word_t d = *(message_digest + 3);
|
||||
word_t e = *(message_digest + 4);
|
||||
word_t f = *(message_digest + 5);
|
||||
word_t g = *(message_digest + 6);
|
||||
word_t h = *(message_digest + 7);
|
||||
|
||||
for (std::size_t i = 0; i < 64; ++i) {
|
||||
word_t temp1 = h + bsig1(e) + ch(e, f, g) + add_constant[i] + w[i];
|
||||
word_t temp2 = bsig0(a) + maj(a, b, c);
|
||||
h = g;
|
||||
g = f;
|
||||
f = e;
|
||||
e = mask_32bit(d + temp1);
|
||||
d = c;
|
||||
c = b;
|
||||
b = a;
|
||||
a = mask_32bit(temp1 + temp2);
|
||||
}
|
||||
*message_digest += a;
|
||||
*(message_digest + 1) += b;
|
||||
*(message_digest + 2) += c;
|
||||
*(message_digest + 3) += d;
|
||||
*(message_digest + 4) += e;
|
||||
*(message_digest + 5) += f;
|
||||
*(message_digest + 6) += g;
|
||||
*(message_digest + 7) += h;
|
||||
for (std::size_t i = 0; i < 8; ++i) {
|
||||
*(message_digest + i) = mask_32bit(*(message_digest + i));
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace detail
|
||||
|
||||
template <typename InIter>
|
||||
void output_hex(InIter first, InIter last, std::ostream& os) {
|
||||
os.setf(std::ios::hex, std::ios::basefield);
|
||||
while (first != last) {
|
||||
os.width(2);
|
||||
os.fill('0');
|
||||
os << static_cast<unsigned int>(*first);
|
||||
++first;
|
||||
}
|
||||
os.setf(std::ios::dec, std::ios::basefield);
|
||||
}
|
||||
|
||||
template <typename InIter>
|
||||
void bytes_to_hex_string(InIter first, InIter last, std::string& hex_str) {
|
||||
std::ostringstream oss;
|
||||
output_hex(first, last, oss);
|
||||
hex_str.assign(oss.str());
|
||||
}
|
||||
|
||||
template <typename InContainer>
|
||||
void bytes_to_hex_string(const InContainer& bytes, std::string& hex_str) {
|
||||
bytes_to_hex_string(bytes.begin(), bytes.end(), hex_str);
|
||||
}
|
||||
|
||||
template <typename InIter>
|
||||
std::string bytes_to_hex_string(InIter first, InIter last) {
|
||||
std::string hex_str;
|
||||
bytes_to_hex_string(first, last, hex_str);
|
||||
return hex_str;
|
||||
}
|
||||
|
||||
template <typename InContainer>
|
||||
std::string bytes_to_hex_string(const InContainer& bytes) {
|
||||
std::string hex_str;
|
||||
bytes_to_hex_string(bytes, hex_str);
|
||||
return hex_str;
|
||||
}
|
||||
|
||||
class hash256_one_by_one {
|
||||
public:
|
||||
hash256_one_by_one() { init(); }
|
||||
|
||||
void init() {
|
||||
buffer_.clear();
|
||||
std::fill(data_length_digits_, data_length_digits_ + 4, word_t(0));
|
||||
std::copy(detail::initial_message_digest,
|
||||
detail::initial_message_digest + 8, h_);
|
||||
}
|
||||
|
||||
template <typename RaIter>
|
||||
void process(RaIter first, RaIter last) {
|
||||
add_to_data_length(static_cast<word_t>(std::distance(first, last)));
|
||||
std::copy(first, last, std::back_inserter(buffer_));
|
||||
std::size_t i = 0;
|
||||
for (; i + 64 <= buffer_.size(); i += 64) {
|
||||
detail::hash256_block(h_, buffer_.begin() + i,
|
||||
buffer_.begin() + i + 64);
|
||||
}
|
||||
buffer_.erase(buffer_.begin(), buffer_.begin() + i);
|
||||
}
|
||||
|
||||
void finish() {
|
||||
byte_t temp[64];
|
||||
std::fill(temp, temp + 64, byte_t(0));
|
||||
std::size_t remains = buffer_.size();
|
||||
std::copy(buffer_.begin(), buffer_.end(), temp);
|
||||
temp[remains] = 0x80;
|
||||
|
||||
if (remains > 55) {
|
||||
std::fill(temp + remains + 1, temp + 64, byte_t(0));
|
||||
detail::hash256_block(h_, temp, temp + 64);
|
||||
std::fill(temp, temp + 64 - 4, byte_t(0));
|
||||
} else {
|
||||
std::fill(temp + remains + 1, temp + 64 - 4, byte_t(0));
|
||||
}
|
||||
|
||||
write_data_bit_length(&(temp[56]));
|
||||
detail::hash256_block(h_, temp, temp + 64);
|
||||
}
|
||||
|
||||
template <typename OutIter>
|
||||
void get_hash_bytes(OutIter first, OutIter last) const {
|
||||
for (const word_t* iter = h_; iter != h_ + 8; ++iter) {
|
||||
for (std::size_t i = 0; i < 4 && first != last; ++i) {
|
||||
*(first++) = detail::mask_8bit(
|
||||
static_cast<byte_t>((*iter >> (24 - 8 * i))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
void add_to_data_length(word_t n) {
|
||||
word_t carry = 0;
|
||||
data_length_digits_[0] += n;
|
||||
for (std::size_t i = 0; i < 4; ++i) {
|
||||
data_length_digits_[i] += carry;
|
||||
if (data_length_digits_[i] >= 65536u) {
|
||||
carry = data_length_digits_[i] >> 16;
|
||||
data_length_digits_[i] &= 65535u;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void write_data_bit_length(byte_t* begin) {
|
||||
word_t data_bit_length_digits[4];
|
||||
std::copy(data_length_digits_, data_length_digits_ + 4,
|
||||
data_bit_length_digits);
|
||||
|
||||
// convert byte length to bit length (multiply 8 or shift 3 times left)
|
||||
word_t carry = 0;
|
||||
for (std::size_t i = 0; i < 4; ++i) {
|
||||
word_t before_val = data_bit_length_digits[i];
|
||||
data_bit_length_digits[i] <<= 3;
|
||||
data_bit_length_digits[i] |= carry;
|
||||
data_bit_length_digits[i] &= 65535u;
|
||||
carry = (before_val >> (16 - 3)) & 65535u;
|
||||
}
|
||||
|
||||
// write data_bit_length
|
||||
for (int i = 3; i >= 0; --i) {
|
||||
(*begin++) = static_cast<byte_t>(data_bit_length_digits[i] >> 8);
|
||||
(*begin++) = static_cast<byte_t>(data_bit_length_digits[i]);
|
||||
}
|
||||
}
|
||||
std::vector<byte_t> buffer_;
|
||||
word_t data_length_digits_[4]; // as 64bit integer (16bit x 4 integer)
|
||||
word_t h_[8];
|
||||
};
|
||||
|
||||
inline void get_hash_hex_string(const hash256_one_by_one& hasher,
|
||||
std::string& hex_str) {
|
||||
byte_t hash[k_digest_size];
|
||||
hasher.get_hash_bytes(hash, hash + k_digest_size);
|
||||
return bytes_to_hex_string(hash, hash + k_digest_size, hex_str);
|
||||
}
|
||||
|
||||
inline std::string get_hash_hex_string(const hash256_one_by_one& hasher) {
|
||||
std::string hex_str;
|
||||
get_hash_hex_string(hasher, hex_str);
|
||||
return hex_str;
|
||||
}
|
||||
|
||||
namespace impl {
|
||||
template <typename RaIter, typename OutIter>
|
||||
void hash256_impl(RaIter first, RaIter last, OutIter first2, OutIter last2, int,
|
||||
std::random_access_iterator_tag) {
|
||||
hash256_one_by_one hasher;
|
||||
// hasher.init();
|
||||
hasher.process(first, last);
|
||||
hasher.finish();
|
||||
hasher.get_hash_bytes(first2, last2);
|
||||
}
|
||||
|
||||
template <typename InputIter, typename OutIter>
|
||||
void hash256_impl(InputIter first, InputIter last, OutIter first2,
|
||||
OutIter last2, int buffer_size, std::input_iterator_tag) {
|
||||
std::vector<byte_t> buffer(buffer_size);
|
||||
hash256_one_by_one hasher;
|
||||
// hasher.init();
|
||||
while (first != last) {
|
||||
int size = buffer_size;
|
||||
for (int i = 0; i != buffer_size; ++i, ++first) {
|
||||
if (first == last) {
|
||||
size = i;
|
||||
break;
|
||||
}
|
||||
buffer[i] = *first;
|
||||
}
|
||||
hasher.process(buffer.begin(), buffer.begin() + size);
|
||||
}
|
||||
hasher.finish();
|
||||
hasher.get_hash_bytes(first2, last2);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename InIter, typename OutIter>
|
||||
void hash256(InIter first, InIter last, OutIter first2, OutIter last2,
|
||||
int buffer_size = PICOSHA2_BUFFER_SIZE_FOR_INPUT_ITERATOR) {
|
||||
picosha2::impl::hash256_impl(
|
||||
first, last, first2, last2, buffer_size,
|
||||
typename std::iterator_traits<InIter>::iterator_category());
|
||||
}
|
||||
|
||||
template <typename InIter, typename OutContainer>
|
||||
void hash256(InIter first, InIter last, OutContainer& dst) {
|
||||
hash256(first, last, dst.begin(), dst.end());
|
||||
}
|
||||
|
||||
template <typename InContainer, typename OutIter>
|
||||
void hash256(const InContainer& src, OutIter first, OutIter last) {
|
||||
hash256(src.begin(), src.end(), first, last);
|
||||
}
|
||||
|
||||
template <typename InContainer, typename OutContainer>
|
||||
void hash256(const InContainer& src, OutContainer& dst) {
|
||||
hash256(src.begin(), src.end(), dst.begin(), dst.end());
|
||||
}
|
||||
|
||||
template <typename InIter>
|
||||
void hash256_hex_string(InIter first, InIter last, std::string& hex_str) {
|
||||
byte_t hashed[k_digest_size];
|
||||
hash256(first, last, hashed, hashed + k_digest_size);
|
||||
std::ostringstream oss;
|
||||
output_hex(hashed, hashed + k_digest_size, oss);
|
||||
hex_str.assign(oss.str());
|
||||
}
|
||||
|
||||
template <typename InIter>
|
||||
std::string hash256_hex_string(InIter first, InIter last) {
|
||||
std::string hex_str;
|
||||
hash256_hex_string(first, last, hex_str);
|
||||
return hex_str;
|
||||
}
|
||||
|
||||
inline void hash256_hex_string(const std::string& src, std::string& hex_str) {
|
||||
hash256_hex_string(src.begin(), src.end(), hex_str);
|
||||
}
|
||||
|
||||
template <typename InContainer>
|
||||
void hash256_hex_string(const InContainer& src, std::string& hex_str) {
|
||||
hash256_hex_string(src.begin(), src.end(), hex_str);
|
||||
}
|
||||
|
||||
template <typename InContainer>
|
||||
std::string hash256_hex_string(const InContainer& src) {
|
||||
return hash256_hex_string(src.begin(), src.end());
|
||||
}
|
||||
template<typename OutIter>void hash256(std::ifstream& f, OutIter first, OutIter last){
|
||||
hash256(std::istreambuf_iterator<char>(f), std::istreambuf_iterator<char>(), first,last);
|
||||
|
||||
}
|
||||
}// namespace picosha2
|
||||
#endif // PICOSHA2_H
|
||||
5
subprojects/quill.wrap
Normal file
5
subprojects/quill.wrap
Normal file
@@ -0,0 +1,5 @@
|
||||
[wrap-git]
|
||||
url = https://github.com/odygrd/quill
|
||||
revision = v8.1.1
|
||||
|
||||
[cmake]
|
||||
5
subprojects/yaml-cpp.wrap
Normal file
5
subprojects/yaml-cpp.wrap
Normal file
@@ -0,0 +1,5 @@
|
||||
[wrap-git]
|
||||
url = https://github.com/jbeder/yaml-cpp.git
|
||||
revision = yaml-cpp-0.7.0
|
||||
|
||||
[cmake]
|
||||
111
tests/config/configTest.cpp
Normal file
111
tests/config/configTest.cpp
Normal file
@@ -0,0 +1,111 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include "config.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <algorithm>
|
||||
|
||||
std::string EXAMPLE_FILENAME = std::string(getenv("MESON_SOURCE_ROOT")) + "/tests/config/example.yaml";
|
||||
/**
|
||||
* @file configTest.cpp
|
||||
* @brief Unit tests for the Config class.
|
||||
*/
|
||||
|
||||
class configTestPrivateAccessor {
|
||||
public:
|
||||
static bool callIsKeyInCache(Config& config, const std::string& key) {
|
||||
return config.isKeyInCache(key);
|
||||
}
|
||||
|
||||
static int callCacheSize(Config& config) {
|
||||
return config.configMap.size();
|
||||
}
|
||||
|
||||
static void callAddToCache(Config& config, const std::string& key, const YAML::Node& node) {
|
||||
config.addToCache(key, node);
|
||||
}
|
||||
|
||||
static void callRegisterKeyNotFound(Config& config, const std::string& key) {
|
||||
config.registerUnknownKey(key);
|
||||
}
|
||||
|
||||
static bool CheckIfKeyUnknown(Config& config, const std::string& key) {
|
||||
if (std::find(config.unknownKeys.begin(), config.unknownKeys.end(), key) == config.unknownKeys.end()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Test suite for the Config class.
|
||||
*/
|
||||
class configTest : public ::testing::Test {};
|
||||
|
||||
/**
|
||||
* @brief Test the constructor of the Config class.
|
||||
*/
|
||||
TEST_F(configTest, constructor) {
|
||||
EXPECT_NO_THROW(Config::getInstance());
|
||||
}
|
||||
|
||||
TEST_F(configTest, loadConfig) {
|
||||
Config& config = Config::getInstance();
|
||||
EXPECT_TRUE(config.loadConfig(EXAMPLE_FILENAME));
|
||||
}
|
||||
|
||||
TEST_F(configTest, singletonTest) {
|
||||
Config& config1 = Config::getInstance();
|
||||
Config& config2 = Config::getInstance();
|
||||
EXPECT_EQ(&config1, &config2);
|
||||
}
|
||||
|
||||
TEST_F(configTest, getTest) {
|
||||
Config& config = Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
int maxIter = config.get<int>("opac:lowTemp:numeric:maxIter", 10);
|
||||
EXPECT_EQ(maxIter, 100);
|
||||
EXPECT_NE(maxIter, 10);
|
||||
|
||||
std::string logLevel = config.get<std::string>("logLevel", "DEBUG");
|
||||
EXPECT_EQ(logLevel, "INFO");
|
||||
EXPECT_NE(logLevel, "DEBUG");
|
||||
|
||||
float polytropicIndex = config.get<float>("poly:physics:index", 2);
|
||||
EXPECT_EQ(polytropicIndex, 1.5);
|
||||
EXPECT_NE(polytropicIndex, 2);
|
||||
|
||||
float polytropicIndex2 = config.get<float>("poly:physics:index2", 2.0);
|
||||
EXPECT_EQ(polytropicIndex2, 2.0);
|
||||
}
|
||||
|
||||
TEST_F(configTest, secondSingletonTest) {
|
||||
Config& config = Config::getInstance();
|
||||
EXPECT_EQ(config.get<int>("opac:lowTemp:numeric:maxIter", 10), 100);
|
||||
}
|
||||
|
||||
TEST_F(configTest, isKeyInCacheTest) {
|
||||
Config& config = Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
EXPECT_TRUE(configTestPrivateAccessor::callIsKeyInCache(config, "opac:lowTemp:numeric:maxIter"));
|
||||
EXPECT_FALSE(configTestPrivateAccessor::callIsKeyInCache(config, "opac:lowTemp:numeric:maxIter2"));
|
||||
}
|
||||
|
||||
TEST_F(configTest, cacheSize) {
|
||||
Config& config = Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
EXPECT_EQ(configTestPrivateAccessor::callCacheSize(config), 3);
|
||||
EXPECT_NE(configTestPrivateAccessor::callCacheSize(config), 4);
|
||||
config.get<std::string>("outputDir", "DEBUG");
|
||||
EXPECT_EQ(configTestPrivateAccessor::callCacheSize(config), 4);
|
||||
}
|
||||
|
||||
TEST_F(configTest, unknownKeyTest) {
|
||||
Config& config = Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
config.get<int>("opac:lowTemp:numeric:random", 10);
|
||||
EXPECT_FALSE(configTestPrivateAccessor::CheckIfKeyUnknown(config, "opac:lowTemp:numeric:maxIter"));
|
||||
EXPECT_TRUE(configTestPrivateAccessor::CheckIfKeyUnknown(config, "opac:lowTemp:numeric:random"));
|
||||
}
|
||||
32
tests/config/example.yaml
Normal file
32
tests/config/example.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# High level options
|
||||
logLevel: "INFO"
|
||||
outputDir: output
|
||||
|
||||
# Module options
|
||||
poly:
|
||||
numeric:
|
||||
newtonTol: 1e-6
|
||||
newtonMaxIter: 100
|
||||
gmresTol: 1e-6
|
||||
gmresMaxIter: 100
|
||||
physics:
|
||||
index: 1.5
|
||||
|
||||
# Module options
|
||||
opac:
|
||||
highTemp:
|
||||
physics:
|
||||
table: "/path/to/highTempTable.dat"
|
||||
numeric:
|
||||
tol: 1e-6
|
||||
maxIter: 100
|
||||
lowTemp:
|
||||
physics:
|
||||
table: "/path/to/lowTempTable.dat"
|
||||
numeric:
|
||||
tol: 1e-6
|
||||
maxIter: 100
|
||||
|
||||
mesh:
|
||||
structure:
|
||||
refine: 2
|
||||
25
tests/config/meson.build
Normal file
25
tests/config/meson.build
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test files for const
|
||||
test_sources = [
|
||||
'configTest.cpp',
|
||||
]
|
||||
|
||||
foreach test_file : test_sources
|
||||
exe_name = test_file.split('.')[0]
|
||||
message('Building test: ' + exe_name)
|
||||
|
||||
# Create an executable target for each test
|
||||
test_exe = executable(
|
||||
exe_name,
|
||||
test_file,
|
||||
dependencies: [gtest_dep, config_dep],
|
||||
include_directories: include_directories('../../src/config/public'),
|
||||
link_with: libconst, # Link the dobj library
|
||||
install_rpath: '@loader_path/../../src' # Ensure runtime library path resolves correctly
|
||||
)
|
||||
|
||||
# Add the executable as a test
|
||||
test(
|
||||
exe_name,
|
||||
test_exe,
|
||||
env: ['MESON_SOURCE_ROOT=' + meson.project_source_root(), 'MESON_BUILD_ROOT=' + meson.project_build_root()])
|
||||
endforeach
|
||||
@@ -7,7 +7,9 @@ subdir('dobj')
|
||||
subdir('const')
|
||||
subdir('opatIO')
|
||||
subdir('meshIO')
|
||||
subdir('probe')
|
||||
subdir('poly')
|
||||
subdir('config')
|
||||
|
||||
# Subdirectories for sandbox tests
|
||||
subdir('dobj_sandbox')
|
||||
|
||||
@@ -13,7 +13,7 @@ foreach test_file : test_sources
|
||||
test_exe = executable(
|
||||
exe_name,
|
||||
test_file,
|
||||
dependencies: [gtest_dep],
|
||||
dependencies: [gtest_dep, picosha2_dep],
|
||||
include_directories: include_directories('../../src/opatIO/public'),
|
||||
link_with: libopatIO, # Link the dobj library
|
||||
install_rpath: '@loader_path/../../src' # Ensure runtime library path resolves correctly
|
||||
|
||||
@@ -5,8 +5,10 @@
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <cstring>
|
||||
#include "picosha2.h"
|
||||
|
||||
std::string EXAMPLE_FILENAME = std::string(getenv("MESON_SOURCE_ROOT")) + "/tests/opatIO/test.opat";
|
||||
std::string EXAMPLE_FILENAME = std::string(getenv("MESON_SOURCE_ROOT")) + "/tests/opatIO/synthetic_tables.opat";
|
||||
|
||||
/**
|
||||
* @file opatIOTest.cpp
|
||||
@@ -32,6 +34,9 @@ TEST_F(opatIOTest, Constructor) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Verify the header is read correctly.
|
||||
*/
|
||||
TEST_F(opatIOTest, Header) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
Header header = opatIO.getHeader();
|
||||
@@ -39,42 +44,60 @@ TEST_F(opatIOTest, Header) {
|
||||
EXPECT_EQ(header.numTables, 20);
|
||||
EXPECT_EQ(header.headerSize, 256);
|
||||
EXPECT_EQ(header.indexOffset, 416416);
|
||||
EXPECT_EQ(std::string(header.creationDate), "Feb 16, 2025");
|
||||
EXPECT_EQ(std::string(header.sourceInfo), "no source provided by user");
|
||||
EXPECT_EQ(std::string(header.comment), "default header");
|
||||
EXPECT_EQ(std::string(header.creationDate), "Feb 17, 2025");
|
||||
EXPECT_EQ(std::string(header.sourceInfo), "utils/opatio/utils/mkTestData.py");
|
||||
EXPECT_EQ(std::string(header.comment), "Synthetic Opacity Tables");
|
||||
EXPECT_EQ(header.numIndex, 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Verify the number of index values is correct. Also check the byte position and index vector
|
||||
*/
|
||||
TEST_F(opatIOTest, TableIndex) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
std::vector<TableIndex> tableIndex = opatIO.getTableIndex();
|
||||
EXPECT_EQ(tableIndex.size(), 20);
|
||||
EXPECT_EQ(tableIndex[0].X, 0.1);
|
||||
EXPECT_EQ(tableIndex[0].Z, 0.001);
|
||||
EXPECT_EQ(tableIndex[0].index.at(0), 0.1);
|
||||
EXPECT_EQ(tableIndex[0].index.at(1), 0.001);
|
||||
EXPECT_EQ(tableIndex[0].byteStart, 256);
|
||||
EXPECT_EQ(tableIndex[0].byteEnd, 21064);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Verify the maxQDepth (for caching)
|
||||
*/
|
||||
TEST_F(opatIOTest, MaxQDepth) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
EXPECT_EQ(opatIO.getMaxQDepth(), 10);
|
||||
EXPECT_EQ(opatIO.getMaxQDepth(), 20);
|
||||
opatIO.setMaxQDepth(5);
|
||||
EXPECT_EQ(opatIO.getMaxQDepth(), 5);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Verify the Unload function
|
||||
*/
|
||||
TEST_F(opatIOTest, Unload){
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
EXPECT_NO_THROW(opatIO.unload());
|
||||
EXPECT_FALSE(opatIO.isLoaded());
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Verify the lookupTableID function
|
||||
*/
|
||||
TEST_F(opatIOTest, LookupTableID) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
EXPECT_EQ(opatIO.lookupTableID(0.321053, 0.0116842), 7);
|
||||
std::vector<double> index = {0.321053, 0.0116842};
|
||||
EXPECT_EQ(opatIO.lookupTableID(index), 7);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test Verify the GetTable function by checking the first 2x2 square of the table
|
||||
*/
|
||||
TEST_F(opatIOTest, GetTable) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
OPATTable tab = opatIO.getTable(0.1, 0.001);
|
||||
std::vector<double> index = {0.1, 0.001};
|
||||
OPATTable tab = opatIO.getTable(index);
|
||||
EXPECT_EQ(tab.N_R, 50);
|
||||
EXPECT_EQ(tab.N_T, 50);
|
||||
EXPECT_DOUBLE_EQ(tab.logR[0], -8.0);
|
||||
@@ -83,4 +106,28 @@ TEST_F(opatIOTest, GetTable) {
|
||||
EXPECT_DOUBLE_EQ(tab.logKappa[0][1], 1.8028572256396647);
|
||||
EXPECT_DOUBLE_EQ(tab.logKappa[1][0], 1.8783385110582342);
|
||||
EXPECT_DOUBLE_EQ(tab.logKappa[1][1], 1.1005312934444582);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @test Verify the GetTable function by computing the checksum of the first table and
|
||||
* comparing it to the stored checksum
|
||||
*/
|
||||
TEST_F(opatIOTest, Checksum) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
std::vector<double> index = {0.1, 0.001};
|
||||
TableIndex tableIndex = opatIO.getTableIndex(index);
|
||||
std::vector<unsigned char> hash = opatIO.computeChecksum(index);
|
||||
std::string hexRepr = picosha2::bytes_to_hex_string(hash);
|
||||
|
||||
std::vector<unsigned char> storedHashVec(tableIndex.sha256, tableIndex.sha256 + 32);
|
||||
std::string storedHexRepr = picosha2::bytes_to_hex_string(storedHashVec);
|
||||
EXPECT_EQ(hexRepr, storedHexRepr);
|
||||
}
|
||||
|
||||
TEST_F(opatIOTest, ChecksumAll) {
|
||||
OpatIO opatIO(EXAMPLE_FILENAME);
|
||||
opatIO.setMaxQDepth(5);
|
||||
EXPECT_TRUE(opatIO.validateAll());
|
||||
}
|
||||
BIN
tests/opatIO/synthetic_tables.opat
Normal file
BIN
tests/opatIO/synthetic_tables.opat
Normal file
Binary file not shown.
20
tests/probe/meson.build
Normal file
20
tests/probe/meson.build
Normal file
@@ -0,0 +1,20 @@
|
||||
# Test files for dobj
|
||||
test_sources = [
|
||||
'probeTest.cpp',
|
||||
]
|
||||
|
||||
foreach test_file : test_sources
|
||||
exe_name = test_file.split('.')[0]
|
||||
message('Building test: ' + exe_name)
|
||||
|
||||
# Create an executable target for each test
|
||||
test_exe = executable(
|
||||
exe_name,
|
||||
test_file,
|
||||
dependencies: [gtest_dep, probe_dep, mfem_dep, quill_dep],
|
||||
install_rpath: '@loader_path/../../src' # Ensure runtime library path resolves correctly
|
||||
)
|
||||
|
||||
# Add the executable as a test
|
||||
test(exe_name, test_exe)
|
||||
endforeach
|
||||
88
tests/probe/probeTest.cpp
Normal file
88
tests/probe/probeTest.cpp
Normal file
@@ -0,0 +1,88 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include "probe.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <regex>
|
||||
#include <source_location>
|
||||
#include <chrono>
|
||||
#include "quill/LogMacros.h"
|
||||
|
||||
std::string getLastLine(const std::string& filename) {
|
||||
std::ifstream file(filename);
|
||||
std::string line, lastLine;
|
||||
|
||||
if (!file.is_open()) {
|
||||
throw std::runtime_error("Could not open file");
|
||||
}
|
||||
|
||||
while (std::getline(file, line)) {
|
||||
lastLine = line;
|
||||
}
|
||||
|
||||
return lastLine; // Returns the last non-empty line
|
||||
}
|
||||
|
||||
std::string stripTimestamps(const std::string& logLine) {
|
||||
std::regex logPattern(R"(\d+:\d+:\d+\.\d+\s+\[\d+\]\s+probeTest\.cpp:\d+\s+LOG_INFO\s+[A-Za-z]*\s+(.*))");
|
||||
std::smatch match;
|
||||
if (std::regex_match(logLine, match, logPattern) && match.size() > 1) {
|
||||
return match[1].str(); // Extract log message after timestamp
|
||||
}
|
||||
return logLine; // Return as-is if pattern doesn't match
|
||||
}
|
||||
|
||||
|
||||
class probeTest : public ::testing::Test {};
|
||||
|
||||
TEST_F(probeTest, DefaultConstructorTest) {
|
||||
EXPECT_NO_THROW(Probe::LogManager::getInstance());
|
||||
}
|
||||
|
||||
TEST_F(probeTest, waitTest) {
|
||||
auto start = std::chrono::high_resolution_clock::now();
|
||||
Probe::wait(1);
|
||||
auto end = std::chrono::high_resolution_clock::now();
|
||||
std::chrono::duration<double> elapsed = end - start;
|
||||
EXPECT_LE(elapsed.count(), 1.1);
|
||||
}
|
||||
|
||||
TEST_F(probeTest, getLoggerTest) {
|
||||
Probe::LogManager& logManager = Probe::LogManager::getInstance();
|
||||
std::string loggerName = "log";
|
||||
quill::Logger* logger = logManager.getLogger(loggerName);
|
||||
EXPECT_NE(logger, nullptr);
|
||||
LOG_INFO(logger, "This is a test message");
|
||||
// Wait for the log to be written by calling getLastLine until it is non empty
|
||||
std::string lastLine;
|
||||
while (lastLine.empty()) {
|
||||
lastLine = getLastLine("4DSSE.log");
|
||||
}
|
||||
EXPECT_EQ(stripTimestamps(lastLine), "This is a test message");
|
||||
}
|
||||
|
||||
TEST_F(probeTest, newFileLoggerTest) {
|
||||
Probe::LogManager& logManager = Probe::LogManager::getInstance();
|
||||
const std::string loggerName = "newLog";
|
||||
const std::string filename = "newLog.log";
|
||||
quill::Logger* logger = logManager.newFileLogger(filename, loggerName);
|
||||
EXPECT_NE(logger, nullptr);
|
||||
LOG_INFO(logger, "This is a new test message");
|
||||
// Wait for the log to be written by calling getLastLine until it is non empty
|
||||
std::string lastLine;
|
||||
while (lastLine.empty()) {
|
||||
lastLine = getLastLine(filename);
|
||||
}
|
||||
EXPECT_EQ(stripTimestamps(lastLine), "This is a new test message");
|
||||
}
|
||||
|
||||
TEST_F(probeTest, getLoggerNames) {
|
||||
Probe::LogManager& logManager = Probe::LogManager::getInstance();
|
||||
std::vector<std::string> loggerNames = logManager.getLoggerNames();
|
||||
EXPECT_EQ(loggerNames.size(), 3);
|
||||
EXPECT_EQ(loggerNames.at(0), "log");
|
||||
EXPECT_EQ(loggerNames.at(1), "newLog");
|
||||
EXPECT_EQ(loggerNames.at(2), "stdout");
|
||||
}
|
||||
11
utils/defaultConfig/defaults.yaml
Normal file
11
utils/defaultConfig/defaults.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
opac:
|
||||
lowTemp:
|
||||
numeric:
|
||||
maxIter: 10
|
||||
Probe:
|
||||
GLVis:
|
||||
Visualization: true
|
||||
Host: localhost
|
||||
Port: '19916'
|
||||
LogManager:
|
||||
DefaultLogName: 4DSSE.log
|
||||
70
utils/defaultConfig/generateDefaultConfig.py
Normal file
70
utils/defaultConfig/generateDefaultConfig.py
Normal file
@@ -0,0 +1,70 @@
|
||||
import os
|
||||
import re
|
||||
import yaml
|
||||
|
||||
# Regular expression to match .get<T>("a:b:c", x)
|
||||
pattern = re.compile(r'\.get<([^>]+)>\("([^"]+)",\s*([^);]+)\)')
|
||||
|
||||
def parse_value(value, type_hint):
|
||||
"""Converts values to appropriate types."""
|
||||
value = value.strip()
|
||||
|
||||
# Handle common types
|
||||
if type_hint in {"int", "long"}:
|
||||
return int(value)
|
||||
elif type_hint in {"float", "double"}:
|
||||
return float(value)
|
||||
elif type_hint == "bool":
|
||||
return value.lower() in {"true", "1"}
|
||||
elif value.startswith('"') and value.endswith('"'):
|
||||
return value.strip('"') # Remove quotes for string literals
|
||||
elif value.startswith("'") and value.endswith("'"):
|
||||
return value.strip("'") # Remove single quotes
|
||||
|
||||
return value # Return as-is if unsure
|
||||
|
||||
def insert_into_dict(hierarchy_dict, keys, value, type_hint):
|
||||
"""Recursively inserts values into a nested dictionary."""
|
||||
key = keys.pop(0)
|
||||
if not keys: # If last key, store value
|
||||
hierarchy_dict[key] = parse_value(value, type_hint)
|
||||
else:
|
||||
if key not in hierarchy_dict:
|
||||
hierarchy_dict[key] = {}
|
||||
insert_into_dict(hierarchy_dict[key], keys, value, type_hint)
|
||||
|
||||
def scan_files(directory):
|
||||
"""Scans all .cpp, .h, .c, and .hpp files in a directory recursively."""
|
||||
hierarchy_dict = {}
|
||||
|
||||
for root, _, files in os.walk(directory):
|
||||
for file in files:
|
||||
if file.endswith(('.cpp', '.h', '.c', '.hpp')):
|
||||
file_path = os.path.join(root, file)
|
||||
with open(file_path, 'r', encoding='utf-8', errors='ignore') as f:
|
||||
for line in f:
|
||||
match = pattern.search(line)
|
||||
if match:
|
||||
type_hint, hierarchy, value = match.groups()
|
||||
keys = hierarchy.split(":")
|
||||
insert_into_dict(hierarchy_dict, keys, value, type_hint)
|
||||
|
||||
return hierarchy_dict
|
||||
|
||||
def save_yaml(data, output_file):
|
||||
"""Saves the nested dictionary to a YAML file."""
|
||||
with open(output_file, 'w', encoding='utf-8') as f:
|
||||
yaml.dump(data, f, default_flow_style=False, sort_keys=False, indent=4)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser(description="Generate a YAML file with default configuration values.")
|
||||
parser.add_argument("directory", help="Directory to scan for .cpp, .h, .c, and .hpp files.")
|
||||
parser.add_argument("-o", "--output", help="Output file name.", default="defaults.yaml")
|
||||
args = parser.parse_args()
|
||||
|
||||
extracted_data = scan_files(args.directory)
|
||||
save_yaml(extracted_data, args.output)
|
||||
|
||||
print(f"✅ YAML file generated: {args.output}")
|
||||
|
||||
9
utils/defaultConfig/generateDefaultConfig.sh
Executable file
9
utils/defaultConfig/generateDefaultConfig.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if python is installed
|
||||
if ! [ -x "$(command -v python)" ]; then
|
||||
echo 'Error: python is not installed.' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
python ./generateDefaultConfig.py ../../src
|
||||
14
utils/defaultConfig/readme.md
Normal file
14
utils/defaultConfig/readme.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Default Configuration Generator
|
||||
Small tool to quickly generate a YAML config file which encodes all the default options used in 4DSSE. All c, c++, h, and hpp in the src directory are scanned and the config variables and their default values pulled out.
|
||||
|
||||
## Usage
|
||||
- You must have python installed
|
||||
|
||||
```bash
|
||||
./generateDefaultConfig.sh
|
||||
```
|
||||
|
||||
There should now be a file called defaults.yaml which stores all the default values.
|
||||
|
||||
## Notes
|
||||
This file could be used as a config file; however, it is more realistically intended for debugging and for checking what the default values set for config options in the code are.
|
||||
@@ -24,6 +24,7 @@ class Header:
|
||||
creationDate: str #< Creation date of the file
|
||||
sourceInfo: str #< Source information
|
||||
comment: str #< Comment section
|
||||
numIndex: int #< Number of values to use when indexing table
|
||||
reserved: bytes #< Reserved for future use
|
||||
|
||||
@dataclass
|
||||
@@ -31,8 +32,7 @@ class TableIndex:
|
||||
"""
|
||||
@brief Structure to hold the index information of a table in an OPAT file.
|
||||
"""
|
||||
X: float #< X composition value
|
||||
Z: float #< Z composition value
|
||||
index: List[float] #< Index values of the table
|
||||
byteStart: int #< Byte start position of the table
|
||||
byteEnd: int #< Byte end position of the table
|
||||
sha256: bytes #< SHA-256 hash of the table data
|
||||
@@ -57,7 +57,8 @@ defaultHeader = Header(
|
||||
creationDate=datetime.now().strftime("%b %d, %Y"),
|
||||
sourceInfo="no source provided by user",
|
||||
comment="default header",
|
||||
reserved=b"\x00" * 26
|
||||
numIndex=2,
|
||||
reserved=b"\x00" * 24
|
||||
)
|
||||
|
||||
class OpatIO:
|
||||
@@ -166,13 +167,13 @@ class OpatIO:
|
||||
raise TypeError(f"{name} must be a non-empty 1D array or iterable")
|
||||
|
||||
@staticmethod
|
||||
def compute_checksum(data: bytes) -> bytes:
|
||||
def compute_checksum(data: np.ndarray) -> bytes:
|
||||
"""
|
||||
@brief Compute the SHA-256 checksum of the given data.
|
||||
@param data The data to compute the checksum for.
|
||||
@return The SHA-256 checksum.
|
||||
"""
|
||||
return hashlib.sha256(data).digest()
|
||||
return hashlib.sha256(data.tobytes()).digest()
|
||||
|
||||
def set_version(self, version: int) -> int:
|
||||
"""
|
||||
@@ -206,17 +207,29 @@ class OpatIO:
|
||||
raise TypeError(f"comment string ({comment}) is too long ({len(comment)}). Max length is 128")
|
||||
self.header.comment = comment
|
||||
return self.header.comment
|
||||
|
||||
def set_numIndex(self, numIndex: int) -> int:
|
||||
"""
|
||||
@brief Set the number of values to use when indexing table.
|
||||
@param numIndex The number of values to use when indexing table.
|
||||
@return The set number of values to use when indexing table.
|
||||
"""
|
||||
if numIndex < 1:
|
||||
raise ValueError(f"numIndex must be greater than 0! It is currently {numIndex}")
|
||||
self.header.numIndex = numIndex
|
||||
return self.header.numIndex
|
||||
|
||||
def add_table(self, X: float, Z: float, logR: Iterable[float], logT: Iterable[float], logKappa: Iterable[Iterable[float]]):
|
||||
def add_table(self, indicies: Tuple[float], logR: Iterable[float], logT: Iterable[float], logKappa: Iterable[Iterable[float]]):
|
||||
"""
|
||||
@brief Add a table to the OPAT file.
|
||||
@param X The X composition value.
|
||||
@param Z The Z composition value.
|
||||
@param indicies The index values of the table.
|
||||
@param logR The logR values.
|
||||
@param logT The logT values.
|
||||
@param logKappa The logKappa values.
|
||||
@throws ValueError if logKappa is not a non-empty 2D array or if logR and logT are not 1D arrays.
|
||||
"""
|
||||
if len(indicies) != self.header.numIndex:
|
||||
raise ValueError(f"indicies must have length {self.header.numIndex}! Currently it has length {len(indicies)}")
|
||||
self.validate_logKappa(logKappa)
|
||||
self.validate_1D(logR, "logR")
|
||||
self.validate_1D(logT, "logT")
|
||||
@@ -236,7 +249,7 @@ class OpatIO:
|
||||
logKappa = logKappa
|
||||
)
|
||||
|
||||
self.tables.append(((X, Z), table))
|
||||
self.tables.append((indicies, table))
|
||||
self.header.numTables += 1
|
||||
|
||||
|
||||
@@ -246,7 +259,7 @@ class OpatIO:
|
||||
@return The header as bytes.
|
||||
"""
|
||||
headerBytes = struct.pack(
|
||||
"<4s H I I Q 16s 64s 128s 26s",
|
||||
"<4s H I I Q 16s 64s 128s H 24s",
|
||||
self.header.magic.encode('utf-8'),
|
||||
self.header.version,
|
||||
self.header.numTables,
|
||||
@@ -255,6 +268,7 @@ class OpatIO:
|
||||
self.header.creationDate.encode('utf-8'),
|
||||
self.header.sourceInfo.encode('utf-8'),
|
||||
self.header.comment.encode('utf-8'),
|
||||
self.header.numIndex,
|
||||
self.header.reserved
|
||||
)
|
||||
return headerBytes
|
||||
@@ -276,7 +290,7 @@ class OpatIO:
|
||||
*logT,
|
||||
*logKappa
|
||||
)
|
||||
checksum = self.compute_checksum(tableBytes)
|
||||
checksum = self.compute_checksum(logKappa)
|
||||
return (checksum, tableBytes)
|
||||
|
||||
def _tableIndex_bytes(self, tableIndex: TableIndex) -> bytes:
|
||||
@@ -286,16 +300,16 @@ class OpatIO:
|
||||
@return The table index as bytes.
|
||||
@throws RuntimeError if the table index entry does not have 64 bytes.
|
||||
"""
|
||||
tableIndexFMTString = "<"+"d"*self.header.numIndex+f"QQ"
|
||||
tableIndexBytes = struct.pack(
|
||||
'<ddQQ',
|
||||
tableIndex.X,
|
||||
tableIndex.Z,
|
||||
tableIndexFMTString,
|
||||
*tableIndex.index,
|
||||
tableIndex.byteStart,
|
||||
tableIndex.byteEnd
|
||||
)
|
||||
tableIndexBytes += tableIndex.sha256
|
||||
|
||||
if len(tableIndexBytes) != 64:
|
||||
if len(tableIndexBytes) != 16+self.header.numIndex*8+32:
|
||||
raise RuntimeError(f"Each table index entry must have 64 bytes. Due to an unknown error the table index entry for (X,Z)=({tableIndex.X},{tableIndex.Z}) header has {len(tableIndexBytes)} bytes")
|
||||
|
||||
return tableIndexBytes
|
||||
@@ -313,24 +327,28 @@ class OpatIO:
|
||||
creationDate: {self.header.creationDate}
|
||||
sourceInfo: {self.header.sourceInfo}
|
||||
comment: {self.header.comment}
|
||||
numIndex: {self.header.numIndex}
|
||||
reserved: {self.header.reserved}
|
||||
)"""
|
||||
return reprString
|
||||
|
||||
def _format_table_as_string(self, table: OPATTable, X: float, Z: float) -> str:
|
||||
def _format_table_as_string(self, table: OPATTable, indices: List[float]) -> str:
|
||||
"""
|
||||
@brief Format a table as a string.
|
||||
@param table The OPAT table.
|
||||
@param X The X composition value.
|
||||
@param Z The Z composition value.
|
||||
@indices The index values of the table.
|
||||
@return The formatted table as a string.
|
||||
"""
|
||||
tableString: List[str] = []
|
||||
# fixed width X and Z header per table
|
||||
tableString.append(f"X: {X:<10.4f} Z: {Z:<10.4f}")
|
||||
tableIndexString: List[str] = []
|
||||
for index in indices:
|
||||
tableIndexString.append(f"{index:<10.4f}")
|
||||
tableString.append(" ".join(tableIndexString))
|
||||
tableString.append("-" * 80)
|
||||
# write logR across the top (reserving one col for where logT will be)
|
||||
logRRow = f"{'':<10}"
|
||||
tableString.append(f"{'':<10}{'logR':<10}")
|
||||
logRRow = f"{'logT':<10}"
|
||||
logRRowTrue = "".join(f"{r:<10.4f}" for r in table.logR)
|
||||
tableString.append(logRRow + logRRowTrue)
|
||||
for i, logT in enumerate(table.logT):
|
||||
@@ -354,10 +372,19 @@ class OpatIO:
|
||||
|
||||
tableRows: List[str] = []
|
||||
tableRows.append("\nTable Indexes in OPAT File:\n")
|
||||
tableRows.append(f"{'X':<10} {'Z':<10} {'Byte Start':<15} {'Byte End':<15} {'Checksum (SHA-256)'}")
|
||||
headerString: str = ''
|
||||
for indexID, index in enumerate(table_indexes[0].index):
|
||||
indexKey = f"Index {indexID}"
|
||||
headerString += f"{indexKey:<10}"
|
||||
headerString += f"{'Byte Start':<15} {'Byte End':<15} {'Checksum (SHA-256)'}"
|
||||
tableRows.append(headerString)
|
||||
tableRows.append("=" * 80)
|
||||
for entry in table_indexes:
|
||||
tableRows.append(f"{entry.X:<10.4f} {entry.Z:<10.4f} {entry.byteStart:<15} {entry.byteEnd:<15} {entry.sha256[:16]}...")
|
||||
tableEntry = ''
|
||||
for index in entry.index:
|
||||
tableEntry += f"{index:<10.4f}"
|
||||
tableEntry += f"{entry.byteStart:<15} {entry.byteEnd:<15} {entry.sha256[:16]}..."
|
||||
tableRows.append(tableEntry)
|
||||
return '\n'.join(tableRows)
|
||||
|
||||
def save_as_ascii(self, filename: str) -> str:
|
||||
@@ -370,12 +397,11 @@ class OpatIO:
|
||||
currentStartByte: int = 256
|
||||
tableIndexs: List[bytes] = []
|
||||
tableStrings: List[bytes] = []
|
||||
for (X, Z), table in self.tables:
|
||||
for index, table in self.tables:
|
||||
checksum, tableBytes = self._table_bytes(table)
|
||||
tableStrings.append(self._format_table_as_string(table, X, Z) + "\n")
|
||||
tableStrings.append(self._format_table_as_string(table, index) + "\n")
|
||||
tableIndex = TableIndex(
|
||||
X = X,
|
||||
Z = Z,
|
||||
index = index,
|
||||
byteStart = currentStartByte,
|
||||
byteEnd = currentStartByte + len(tableBytes),
|
||||
sha256 = checksum
|
||||
@@ -386,20 +412,27 @@ class OpatIO:
|
||||
currentStartByte += len(tableBytes)
|
||||
self.header.indexOffset = currentStartByte
|
||||
with open(filename, 'w') as f:
|
||||
f.write(f"{self.header.magic}\n")
|
||||
f.write(f"Version: {self.header.version}\n")
|
||||
f.write(f"numTables: {self.header.numTables}\n")
|
||||
f.write(f"headerSize (bytes): {self.header.headerSize}\n")
|
||||
f.write(f"tableIndex Offset (bytes): {self.header.indexOffset}\n")
|
||||
f.write(f"Creation Date: {self.header.creationDate}\n")
|
||||
f.write(f"Source Info: {self.header.sourceInfo}\n")
|
||||
f.write(f"Comment: {self.header.comment}\n")
|
||||
f.write("="*80 + "\n")
|
||||
f.write("This is an ASCII representation of an OPAT file, it is not a valid OPAT file in and of itself.\n")
|
||||
f.write("This file is meant to be human readable and is not meant to be read by a computer.\n")
|
||||
f.write("The purpose of this file is to provide a human readable representation of the OPAT file which can be used for debugging purposes.\n")
|
||||
f.write("The full binary specification of the OPAT file can be found in the OPAT file format documentation at:\n")
|
||||
f.write(" https://github.com/4D-STAR/4DSSE/blob/main/specs/OPAT/OPAT.pdf\n")
|
||||
f.write("="*35 + " HEADER " + "="*36 + "\n")
|
||||
f.write(f">> {self.header.magic}\n")
|
||||
f.write(f">> Version: {self.header.version}\n")
|
||||
f.write(f">> numTables: {self.header.numTables}\n")
|
||||
f.write(f">> headerSize (bytes): {self.header.headerSize}\n")
|
||||
f.write(f">> tableIndex Offset (bytes): {self.header.indexOffset}\n")
|
||||
f.write(f">> Creation Date: {self.header.creationDate}\n")
|
||||
f.write(f">> Source Info: {self.header.sourceInfo}\n")
|
||||
f.write(f">> Comment: {self.header.comment}\n")
|
||||
f.write(f">> numIndex: {self.header.numIndex}\n")
|
||||
f.write("="*37 + " DATA " + "="*37 + "\n")
|
||||
f.write("="*80 + "\n")
|
||||
for tableString in tableStrings:
|
||||
f.write(tableString)
|
||||
f.write("="*80 + "\n")
|
||||
f.write("="*80 + "\n")
|
||||
f.write("="*36 + " INDEX " + "="*37 + "\n")
|
||||
f.write(self.print_table_indexes(tableIndexs))
|
||||
|
||||
def save(self, filename: str) -> str:
|
||||
@@ -417,11 +450,10 @@ class OpatIO:
|
||||
currentStartByte: int = 256
|
||||
tableIndicesBytes: List[bytes] = []
|
||||
tablesBytes: List[bytes] = []
|
||||
for (X, Z), table in self.tables:
|
||||
for index, table in self.tables:
|
||||
checksum, tableBytes = self._table_bytes(table)
|
||||
tableIndex = TableIndex(
|
||||
X = X,
|
||||
Z = Z,
|
||||
index,
|
||||
byteStart = currentStartByte,
|
||||
byteEnd = currentStartByte + len(tableBytes),
|
||||
sha256 = checksum
|
||||
@@ -455,7 +487,7 @@ def loadOpat(filename: str) -> OpatIO:
|
||||
opat = OpatIO()
|
||||
with open(filename, 'rb') as f:
|
||||
headerBytes: bytes = f.read(256)
|
||||
unpackedHeader = struct.unpack("<4s H I I Q 16s 64s 128s 26s", headerBytes)
|
||||
unpackedHeader = struct.unpack("<4s H I I Q 16s 64s 128s H 24s", headerBytes)
|
||||
loadedHeader = Header(
|
||||
magic = unpackedHeader[0].decode().replace("\x00", ""),
|
||||
version = unpackedHeader[1],
|
||||
@@ -465,19 +497,22 @@ def loadOpat(filename: str) -> OpatIO:
|
||||
creationDate = unpackedHeader[5].decode().replace("\x00", ""),
|
||||
sourceInfo = unpackedHeader[6].decode().replace("\x00", ""),
|
||||
comment = unpackedHeader[7].decode().replace("\x00", ""),
|
||||
reserved = unpackedHeader[8]
|
||||
numIndex = unpackedHeader[8],
|
||||
reserved = unpackedHeader[9]
|
||||
)
|
||||
opat.header = loadedHeader
|
||||
f.seek(opat.header.indexOffset)
|
||||
tableIndices: List[TableIndex] = []
|
||||
while tableIndexEntryBytes := f.read(32):
|
||||
unpackedTableIndexEntry = struct.unpack("<ddQQ", tableIndexEntryBytes)
|
||||
tableIndexChunkSize = 16 + loadedHeader.numIndex*8
|
||||
tableIndexFMTString = "<"+"d"*loadedHeader.numIndex+"QQ"
|
||||
while tableIndexEntryBytes := f.read(tableIndexChunkSize):
|
||||
unpackedTableIndexEntry = struct.unpack(tableIndexFMTString, tableIndexEntryBytes)
|
||||
checksum = f.read(32)
|
||||
index = unpackedTableIndexEntry[:loadedHeader.numIndex]
|
||||
tableIndexEntry = TableIndex(
|
||||
X = unpackedTableIndexEntry[0],
|
||||
Z = unpackedTableIndexEntry[1],
|
||||
byteStart = unpackedTableIndexEntry[2],
|
||||
byteEnd = unpackedTableIndexEntry[3],
|
||||
index = index,
|
||||
byteStart = unpackedTableIndexEntry[loadedHeader.numIndex],
|
||||
byteEnd = unpackedTableIndexEntry[loadedHeader.numIndex+1],
|
||||
sha256 = checksum
|
||||
)
|
||||
tableIndices.append(tableIndexEntry)
|
||||
@@ -500,5 +535,5 @@ def loadOpat(filename: str) -> OpatIO:
|
||||
logT = np.array(unpackedData[N_R: N_R+N_T], dtype=np.float64)
|
||||
logKappa = np.array(unpackedData[N_R+N_T:], dtype=np.float64).reshape((N_R, N_T))
|
||||
|
||||
opat.add_table(tableIndex.X, tableIndex.Z, logR, logT, logKappa)
|
||||
opat.add_table(tableIndex.index, logR, logT, logKappa)
|
||||
return opat
|
||||
|
||||
27
utils/opatio/utils/mkTestData.py
Normal file
27
utils/opatio/utils/mkTestData.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from opatio import OpatIO
|
||||
import numpy as np
|
||||
np.random.seed(42)
|
||||
|
||||
def generate_synthetic_opacity_table(n_r, n_t):
|
||||
logR = np.linspace(-8, 2, n_r, dtype=np.float64) # log Density grid
|
||||
logT = np.linspace(3, 9, n_t, dtype=np.float64) # log Temperature grid
|
||||
logK = np.random.uniform(-2, 2, size=(n_r, n_t)).astype(np.float64) # Synthetic Opacity
|
||||
return logR, logT, logK
|
||||
|
||||
if __name__ == "__main__":
|
||||
n_r = 50
|
||||
n_t = 50
|
||||
num_tables = 20
|
||||
XValues = np.linspace(0.1, 0.7, num_tables)
|
||||
ZValues = np.linspace(0.001, 0.03, num_tables)
|
||||
opat = OpatIO()
|
||||
opat.set_comment("Synthetic Opacity Tables")
|
||||
opat.set_source("utils/opatio/utils/mkTestData.py")
|
||||
|
||||
for i in range(num_tables):
|
||||
logR, logT, logK = generate_synthetic_opacity_table(n_r, n_t)
|
||||
opat.add_table((XValues[i], ZValues[i]), logR, logT, logK)
|
||||
|
||||
opat.save("testData/synthetic_tables.opat")
|
||||
opat.save_as_ascii("testData/synthetic_tables_OPAT.ascii")
|
||||
|
||||
BIN
utils/opatio/utils/testData/synthetic_tables.opat
Normal file
BIN
utils/opatio/utils/testData/synthetic_tables.opat
Normal file
Binary file not shown.
1163
utils/opatio/utils/testData/synthetic_tables_OPAT.ascii
Normal file
1163
utils/opatio/utils/testData/synthetic_tables_OPAT.ascii
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user