Merge pull request #4 from tboudreaux/feature/observerCallback
Solver callback functions
This commit is contained in:
2
Doxyfile
2
Doxyfile
@@ -48,7 +48,7 @@ PROJECT_NAME = GridFire
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 0.0.1a
|
||||
PROJECT_NUMBER = 0.6.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewers a
|
||||
|
||||
295
README.md
295
README.md
@@ -1,7 +1,17 @@
|
||||
<p align="center">
|
||||
<img src="assets/logo/GridFire.png" width="300" alt="OPAT Core Libraries Logo">
|
||||
<img src="https://github.com/4D-STAR/GridFire/blob/main/assets/logo/GridFire.png?raw=true" width="300" alt="OPAT Core Libraries Logo">
|
||||
</p>
|
||||
|
||||
---
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
'&style=for-the-badge&label=GitHub%20Main%20Branch)
|
||||

|
||||
|
||||
|
||||
---
|
||||
|
||||
@@ -49,7 +59,7 @@ By far the easiest way to install is with pip. This will install either
|
||||
pre-compiled wheels or, if your system has not had a wheel compiled for it, it
|
||||
will try to build locally (this may take **a long time**). The python bindings
|
||||
are just that and should maintain nearly the same speed as the C++ code. End
|
||||
users are strongly encorages to use the python module rather than the C++ code.
|
||||
users are strongly encourages to use the python module rather than the C++ code.
|
||||
|
||||
### pypi
|
||||
Installing from pip is as simple as
|
||||
@@ -60,16 +70,16 @@ pip install gridfire
|
||||
These wheels have been compiled on many systems
|
||||
|
||||
| Version | Platform | Architecture | CPython Versions | PyPy Versions |
|
||||
| ------- | -------- | ------------ | ---------------------------------------------------------- | ------------- |
|
||||
|---------|----------|--------------|------------------------------------------------------------|---------------|
|
||||
| 0.5.0 | macOS | arm64 | 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 (std & t), 3.14 (std & t) | 3.10, 3.11 |
|
||||
| 0.5.0 | Linux | aarch64 | 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 (std & t), 3.14 (std & t) | 3.10, 3.11 |
|
||||
| 0.5.0 | Linux | x86\_64 | 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 (std & t), 3.14 (std & t) | 3.10, 3.11 |
|
||||
|
||||
> **Note**: Currently macOS x86\_64 does **not** have a precompiled wheel. Due
|
||||
> **Note**: Currently macOS x86\_64 does **not** have a precompiled wheel. Do
|
||||
> to that platform being phased out it is likely that there will never be
|
||||
> precompiled wheels or releases for it.
|
||||
|
||||
> **Note:** macOS wheels were targeted to MacOS 12 Monterey and should work on
|
||||
> **Note:** macOS wheels were targeted to macOS 12 Monterey and should work on
|
||||
> any version more recent than that (at least as of August 2025).
|
||||
|
||||
> **Note:** Linux wheels were compiled using manylinux_2_28 and are expected to
|
||||
@@ -94,7 +104,7 @@ pip install .
|
||||
> fail, the steps in further sections address these in more detail.
|
||||
|
||||
### source for developers
|
||||
If you are a developer and would like an editable and incrimental python
|
||||
If you are a developer and would like an editable and incremental python
|
||||
install `meson-python` makes this very easy
|
||||
|
||||
```bash
|
||||
@@ -103,10 +113,10 @@ cd GridFire
|
||||
pip install -e . --no-build-isolation -vv
|
||||
```
|
||||
|
||||
This will generate incrimental builds whenever source code changes and you run
|
||||
a python script automartically (note that since `meson setup` must run for each
|
||||
This will generate incremental builds whenever source code changes, and you run
|
||||
a python script automatically (note that since `meson setup` must run for each
|
||||
of these it does still take a few seconds to recompile regardless of how small
|
||||
a source code change you have made). It is **strongly** reccomended that
|
||||
a source code change you have made). It is **strongly** recommended that
|
||||
developers use this approach and end users *do not*.
|
||||
|
||||
|
||||
@@ -130,7 +140,7 @@ Generally, both are intended to be easy to use and will prompt you
|
||||
automatically to install any missing dependencies.
|
||||
|
||||
|
||||
### Currently known good platforms
|
||||
### Currently, known good platforms
|
||||
The installation script has been tested and found to work on clean
|
||||
installations of the following platforms:
|
||||
- MacOS 15.3.2 (Apple Silicon + brew installed)
|
||||
@@ -176,10 +186,10 @@ if using meson directly)
|
||||
|
||||
### Install Scripts
|
||||
GridFire ships with an installer (`install.sh`) which is intended to make the
|
||||
process of installation both easier and more repetable.
|
||||
process of installation both easier and more repeatable.
|
||||
|
||||
#### Ease of Installation
|
||||
Both scripts are intended to automate installation more or less completly. This
|
||||
Both scripts are intended to automate installation more or less completely. This
|
||||
includes dependency checking. In the event that a dependency cannot be found
|
||||
they try to install (after explicitly asking for user permission). If that does
|
||||
not work they will provide a clear message as to what went wrong.
|
||||
@@ -189,7 +199,7 @@ The TUI mode provides easy modification of meson build system and compiler
|
||||
settings which can then be saved to a config file. This config file can then be
|
||||
loaded by either tui mode or cli mode (with the `--config`) flag meaning that
|
||||
build configurations can be made and reused. Note that this is **not** a
|
||||
deterministicly reproducible build system as it does not interact with any
|
||||
deterministically reproducible build system as it does not interact with any
|
||||
system dependencies or settings, only meson and compiler settings.
|
||||
|
||||
#### Examples
|
||||
@@ -204,7 +214,7 @@ system dependencies or settings, only meson and compiler settings.
|
||||
[](https://asciinema.org/a/GYaWTXZbDJRD4ohde0s3DkFMC)
|
||||
|
||||
|
||||
> **Note:** `install-tui.sh` is simply a script which calles `install.sh` with
|
||||
> **Note:** `install-tui.sh` is simply a script which calls `install.sh` with
|
||||
> the `--tui` flag. You can get the exact same results by running `install.sh
|
||||
> --tui`.
|
||||
|
||||
@@ -227,9 +237,9 @@ sudo apt-get install -y build-essential meson python3 python3-pip libboost-all-d
|
||||
> documentation for how to download and install a version `>=1.83.0`
|
||||
|
||||
> **Note:** On recent versions of ubuntu python has switched to being
|
||||
> externally managed by the system. We **strongly** recomend that if you
|
||||
> install manaully all python pacakges are installed inside some kind of
|
||||
> virtual enviroment (e.g. `pyenv`, `conda`, `python-venv`, etc...). When using
|
||||
> externally managed by the system. We **strongly** recommend that if you
|
||||
> install manually all python packages are installed inside some kind of
|
||||
> virtual environment (e.g. `pyenv`, `conda`, `python-venv`, etc...). When using
|
||||
> the installer script this is handled automatically using `python-venv`.
|
||||
|
||||
- **Fedora/CentOS/RHEL:**
|
||||
@@ -252,7 +262,7 @@ meson compile -C build
|
||||
#### Clang vs. GCC
|
||||
As noted above `clang` tends to compile GridFire much faster than `gcc`. If
|
||||
your system has both `clang` and `gcc` installed you may force meson to use
|
||||
clang via enviromental variables
|
||||
clang via environmental variables
|
||||
|
||||
```bash
|
||||
CC=clang CXX=clang++ meson setup build_clang
|
||||
@@ -266,7 +276,7 @@ meson install -C build
|
||||
|
||||
### Minimum compiler versions
|
||||
GridFire uses C++23 features and therefore only compilers and standard library
|
||||
implimentations which support C++23 are supported. Generally we have found that
|
||||
implementations which support C++23 are supported. Generally we have found that
|
||||
`gcc >= 13.0.0` or `clang >= 16.0.0` work well.
|
||||
|
||||
|
||||
@@ -278,7 +288,7 @@ include:
|
||||
|
||||
- **Engine Module:** Core interfaces and implementations (e.g., `GraphEngine`)
|
||||
that evaluate reaction network rate equations and energy generation. Also
|
||||
implimented `Views` submodule.
|
||||
implemented `Views` submodule.
|
||||
- **Engine::Views Module:** Composable engine optimization and modification
|
||||
(e.g. `MultiscalePartitioningEngineView`) which can be used to make a problem
|
||||
more tractable or applicable.
|
||||
@@ -312,16 +322,16 @@ abundances and diagnostics.
|
||||
## Engines
|
||||
GridFire is, at its core, based on a series of `Engines`. These are constructs
|
||||
which know how to report information on series of ODEs which need to be solved
|
||||
to evolver abundnances. The important thing to understand about `Engines` is
|
||||
that they contain all of the detailed physics GridFire uses. For example a
|
||||
to evolver abundances. The important thing to understand about `Engines` is
|
||||
that they contain all the detailed physics GridFire uses. For example a
|
||||
`Solver` takes an `Engine` but does not compute physics itself. Rather, it asks
|
||||
the `Engine` for stuff like the jacobian matrix, stoichiometry, nuclear energy
|
||||
generation rate, and change in abundance with time.
|
||||
|
||||
Refer to the API documentation for the exact interface which an `Engine` must
|
||||
impliment to be compatible with GridFire solvers.
|
||||
implement to be compatible with GridFire solvers.
|
||||
|
||||
Currently we only impliment `GraphEngine` which is intended to be a very general and
|
||||
Currently, we only implement `GraphEngine` which is intended to be a very general and
|
||||
adaptable `Engine`.
|
||||
|
||||
### GraphEngine
|
||||
@@ -331,7 +341,7 @@ connecting some set of atomic species through reactions listed in the [JINA
|
||||
Reaclib database](https://reaclib.jinaweb.org/index.php).
|
||||
|
||||
`GraphEngine`s are constructed from a seed composition of species from which
|
||||
they recursivley expand their topology outward, following known reaction
|
||||
they recursively expand their topology outward, following known reaction
|
||||
pathways and adding new species to the tracked list as they expand.
|
||||
|
||||
|
||||
@@ -343,9 +353,9 @@ construction and rate evaluations:
|
||||
- **Constructor Parameters:**
|
||||
- `composition`: The initial seed composition to start network construction from.
|
||||
- `BuildDepthType` (`Full`, `Shallow`, `SecondOrder`, etc...): controls
|
||||
number of recursions used to construct the network topology. Can either be an
|
||||
member of the `NetworkBuildDepth` enum or an integerl.
|
||||
- `partition::PartitionFunction`: Partition function used when evlauating
|
||||
number of recursions used to construct the network topology. Can either be a
|
||||
member of the `NetworkBuildDepth` enum or an integer.
|
||||
- `partition::PartitionFunction`: Partition function used when evaluating
|
||||
detailed balance for inverse rates.
|
||||
|
||||
- **setPrecomputation(bool precompute):**
|
||||
@@ -363,7 +373,7 @@ construction and rate evaluations:
|
||||
### Available Partition Functions
|
||||
|
||||
| Function Name | Identifier / Enum | Description |
|
||||
|---------------------------------------|--------------------------|-----------------------------------------------------------------|
|
||||
|---------------------------------------|----------------------|--------------------------------------------------------------------------------------------------------------------------|
|
||||
| `GroundStatePartitionFunction` | "GroundState" | Weights using nuclear ground-state spin factors. |
|
||||
| `RauscherThielemannPartitionFunction` | "RauscherThielemann" | Interpolates normalized g-factors per Rauscher & Thielemann. |
|
||||
| `CompositePartitionFunction` | "Composite" | Combines multiple partition functions for situations where different partitions functions are used for different domains |
|
||||
@@ -371,7 +381,7 @@ construction and rate evaluations:
|
||||
### AutoDiff
|
||||
One of the primary tasks any engine must accomplish is to report the jacobian
|
||||
matrix of the system to the solver. `GraphEngine` uses `CppAD`, a C++ auto
|
||||
differentiation library, to generate analytic jacobian matricies very
|
||||
differentiation library, to generate analytic jacobian matrices very
|
||||
efficiently.
|
||||
|
||||
|
||||
@@ -380,14 +390,14 @@ All reactions in JINA Reaclib which only include reactants iron and lighter
|
||||
were downloaded on June 17th, 2025 where the most recent documented change on
|
||||
the JINA Reaclib site was on June 24th, 2021.
|
||||
|
||||
All of thes reactions have been compiled into a header file which is then
|
||||
All of these reactions have been compiled into a header file which is then
|
||||
statically compiled into the gridfire binaries (specifically into
|
||||
lib_reaction_reaclib.cpp.o). This does increase the binary size by a few MB;
|
||||
however, the benafit is faster load times and more importantly no need for end
|
||||
however, the benefit is faster load times and more importantly no need for end
|
||||
users to manage resource files.
|
||||
|
||||
If a developer wants to add new reaclib reactions we include a script at
|
||||
`utils/reaclib/format.py` which can injest a reaclib data file and produce the
|
||||
`utils/reaclib/format.py` which can ingest a reaclib data file and produce the
|
||||
needed header file. More details on this process are included in
|
||||
`utils/reaclib/readme.md`
|
||||
|
||||
@@ -399,10 +409,10 @@ restrict network topology. Generally when extending GridFire the approach is
|
||||
likely to be one of adding new `EngineViews`.
|
||||
|
||||
| View Name | Purpose | Algorithm / Reference | When to Use |
|
||||
|---------------------------------------|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
|
||||
|----------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
|
||||
| AdaptiveEngineView | Dynamically culls low-flow species and reactions during runtime | Iterative flux thresholding to remove reactions below a flow threshold | Large networks to reduce computational cost |
|
||||
| DefinedEngineView | Restricts the network to a user-specified subset of species and reactions | Static network masking based on user-provided species/reaction lists | Targeted pathway studies or code-to-code comparisons |
|
||||
| FileDefinedEngineView | Load a defined engine view from a file using some parser | Same as DefinedEngineView but loads from a file | Same as DefinedEngineView
|
||||
| FileDefinedEngineView | Load a defined engine view from a file using some parser | Same as DefinedEngineView but loads from a file | Same as DefinedEngineView |
|
||||
| MultiscalePartitioningEngineView | Partitions the network into fast and slow subsets based on reaction timescales | Network partitioning following Hix & Thielemann Silicon Burning I & II (DOI:10.1086/177016,10.1086/306692) | Stiff, multi-scale networks requiring tailored integration |
|
||||
| NetworkPrimingEngineView | Primes the network with an initial species or set of species for ignition studies | Single-species ignition and network priming | Investigations of ignition triggers or initial seed sensitivities |
|
||||
|
||||
@@ -413,11 +423,11 @@ chain without modifying core engine code.
|
||||
|
||||
### A Note about composability
|
||||
There are certain functions for which it is expected that a call to an engine
|
||||
view will propegate the result down the chain of engine views, eventually
|
||||
view will propagate the result down the chain of engine views, eventually
|
||||
reaching the base engine (e.g. `DynamicEngine::update`). We do not strongly
|
||||
enforce this as it is not hard to contrive a situation where that is not the
|
||||
mose useful behavior; however, we do strongly encorage developers to think
|
||||
carefully about passing along calls to base engine methods when implimenting
|
||||
mose useful behavior; however, we do strongly encourage developers to think
|
||||
carefully about passing along calls to base engine methods when implementing
|
||||
new views.
|
||||
|
||||
## Numerical Solver Strategies
|
||||
@@ -428,7 +438,7 @@ integration algorithms to be used interchangeably with any engine that
|
||||
implements the `Engine` or `DynamicEngine` contract.
|
||||
|
||||
### NetworkSolverStrategy<EngineT>:
|
||||
All GridFire solvers impliment the abstract strategy templated by
|
||||
All GridFire solvers implement the abstract strategy templated by
|
||||
`NetworkSolverStrategy` which enforces only that there is some `evaluate`
|
||||
method with the following signature
|
||||
|
||||
@@ -440,7 +450,7 @@ abundances, temperature, density, and diagnostics.
|
||||
|
||||
### NetIn and NetOut
|
||||
GridFire solvers use a unified input and output type for their public interface
|
||||
(though as developers will quickly learn, internally these are immediatly
|
||||
(though as developers will quickly learn, internally these are immediately
|
||||
broken down into simpler data structures). All solvers expect a `NetIn` struct
|
||||
for the input type to the `evaluate` method and return a `NetOut` struct.
|
||||
|
||||
@@ -458,7 +468,7 @@ A `NetIn` struct contains
|
||||
>burning I use ~1e-12 for dt0
|
||||
|
||||
>**Note:** The composition must be a `fourdst::composition::Composition`
|
||||
>object. This is made avalible through the `foursdt` library and the
|
||||
>object. This is made available through the `foursdt` library and the
|
||||
>`fourdst/composition/Composition.h` header. `fourdst` is installed
|
||||
>automatically with GridFire
|
||||
|
||||
@@ -483,14 +493,14 @@ A `NetOut` struct contains
|
||||
`rosenbrock4<double>`, optimized for stiff reaction networks with adaptive step
|
||||
size control using configurable absolute and relative tolerances.
|
||||
- **Jacobian Assembly:** Asks the base engine for the Jacobian Matrix
|
||||
- **RHS Evaluation:** Assk the base engine for RHS of the abundance evolution
|
||||
- **RHS Evaluation:** Asks the base engine for RHS of the abundance evolution
|
||||
equations
|
||||
- **Linear Algebra:** Utilizes `Boost.uBLAS` for state vectors and dense Jacobian
|
||||
matrices, with sparse access patterns supported via coordinate lists of nonzero
|
||||
entries.
|
||||
- **Error Control and Logging:** Absolute and relative tolerance parameters
|
||||
(`absTol`, `relTol`) are read from configuration; Quill loggers, which run in a
|
||||
seperate non blocking thread, capture integration diagnostics and step
|
||||
separate non blocking thread, capture integration diagnostics and step
|
||||
statistics.
|
||||
|
||||
### Algorithmic Workflow in DirectNetworkSolver
|
||||
@@ -507,12 +517,12 @@ statistics.
|
||||
|
||||
### Future Solver Implementations
|
||||
- **Operator Splitting Solvers:** Strategies to decouple thermodynamics,
|
||||
screening, and reaction substeps for performance on stiff, multi-scale
|
||||
screening, and reaction substeps for performance on stiff, multiscale
|
||||
networks.
|
||||
- **GPU-Accelerated Solvers:** Planned use of CUDA/OpenCL backends for
|
||||
large-scale network integration.
|
||||
- **Callback observer support:** Currently we use an observer built into our
|
||||
`RHSManager` (`RHSManager::observe`); however, we intend to inlucde support for
|
||||
`RHSManager` (`RHSManager::observe`); however, we intend to include support for
|
||||
custom, user defined, observer method.
|
||||
|
||||
These strategies can be developed by inheriting from `NetworkSolverStrategy`
|
||||
@@ -531,34 +541,39 @@ view strategies without touching C++ sources.
|
||||
## C++
|
||||
|
||||
### GraphEngine Initialization
|
||||
```cpp
|
||||
```c++
|
||||
#include "gridfire/engine/engine_graph.h"
|
||||
#include "fourdst/composition/composition.h"
|
||||
|
||||
int main(){
|
||||
// Define a composition and initialize the engine
|
||||
fourdst::composition::Composition comp;
|
||||
gridfire::GraphEngine engine(comp);
|
||||
}
|
||||
```
|
||||
|
||||
### Adaptive Network View
|
||||
```cpp
|
||||
```c++
|
||||
#include "gridfire/engine/views/engine_adaptive.h"
|
||||
#include "gridfire/engine/engine_graph.h"
|
||||
|
||||
int main(){
|
||||
fourdst::composition::Composition comp;
|
||||
gridfire::GraphEngine baseEngine(comp);
|
||||
// Dynamically adapt network topology based on reaction flows
|
||||
gridfire::AdaptiveEngineView adaptiveView(baseEngine);
|
||||
}
|
||||
```
|
||||
|
||||
### Composition Initialization
|
||||
```cpp
|
||||
```c++
|
||||
#include "fourdst/composition/composition.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
int main() {
|
||||
fourdst::composition::Composition comp;
|
||||
|
||||
std::vector<std::string> symbols = {"H-1", "He-4", "C-12"};
|
||||
@@ -570,6 +585,7 @@ comp.setMassFraction(symbols, massFractions);
|
||||
comp.finalize(true);
|
||||
|
||||
std::cout << comp << std::endl;
|
||||
}
|
||||
```
|
||||
|
||||
### Common Workflow Example
|
||||
@@ -577,10 +593,12 @@ std::cout << comp << std::endl;
|
||||
A representative workflow often composes multiple engine views to balance
|
||||
accuracy, stability, and performance when integrating stiff nuclear networks:
|
||||
|
||||
```cpp
|
||||
```c++
|
||||
#include "gridfire/engine/engine.h" // Unified header for real usage
|
||||
#include "gridfire/solver/solver.h" // Unified header for solvers
|
||||
#include "fourdst/composition/composition.h"
|
||||
|
||||
int main(){
|
||||
// 1. Define initial composition
|
||||
fourdst::composition::Composition comp;
|
||||
|
||||
@@ -616,6 +634,7 @@ NetIn input{
|
||||
// 7. Execute integration
|
||||
NetOut output = solver.evaluate(input);
|
||||
std::cout << "Final results are: " << output << std::endl;
|
||||
}
|
||||
```
|
||||
|
||||
#### Workflow Components and Effects
|
||||
@@ -632,6 +651,84 @@ integrate the remaining stiff system with adaptive step control.
|
||||
This layered approach enhances stability for stiff networks while maintaining
|
||||
accuracy and performance.
|
||||
|
||||
### Callback Example
|
||||
Custom callback functions can be registered with any solver. Because it might make sense for each solver to provide
|
||||
different context to the callback function, you should use the struct `gridfire::solver::<SolverName>::TimestepContext`
|
||||
as the argument type for the callback function. This struct contains all the information provided by that solver to
|
||||
the callback function.
|
||||
|
||||
```c++
|
||||
#include "gridfire/engine/engine.h" // Unified header for real usage
|
||||
#include "gridfire/solver/solver.h" // Unified header for solvers
|
||||
#include "fourdst/composition/composition.h"
|
||||
#include "fourdst/atomic/species.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
void callback(const gridfire::solver::DirectNetworkSolver::TimestepContext& context) {
|
||||
int H1Index = context.engine.getSpeciesIndex(fourdst::atomic::H_1);
|
||||
int He4Index = context.engine.getSpeciesIndex(fourdst::atomic::He_4);
|
||||
|
||||
std::cout << context.t << "," << context.state(H1Index) << "," << context.state(He4Index) << "\n";
|
||||
}
|
||||
|
||||
int main(){
|
||||
// 1. Define initial composition
|
||||
fourdst::composition::Composition comp;
|
||||
|
||||
std::vector<std::string> symbols = {"H-1", "He-4", "C-12"};
|
||||
std::vector<double> massFractions = {0.7, 0.29, 0.01};
|
||||
|
||||
comp.registerSymbols(symbols);
|
||||
comp.setMassFraction(symbols, massFractions);
|
||||
|
||||
comp.finalize(true);
|
||||
|
||||
// 2. Create base network engine (full reaction graph)
|
||||
gridfire::GraphEngine baseEngine(comp, NetworkBuildDepth::SecondOrder)
|
||||
|
||||
// 3. Partition network into fast/slow subsets (reduces stiffness)
|
||||
gridfire::MultiscalePartitioningEngineView msView(baseEngine);
|
||||
|
||||
// 4. Adaptively cull negligible flux pathways (reduces dimension & stiffness)
|
||||
gridfire::AdaptiveEngineView adaptView(msView);
|
||||
|
||||
// 5. Construct implicit solver (handles remaining stiffness)
|
||||
gridfire::DirectNetworkSolver solver(adaptView);
|
||||
solver.set_callback(callback);
|
||||
|
||||
// 6. Prepare input conditions
|
||||
NetIn input{
|
||||
comp, // composition
|
||||
1.5e7, // temperature [K]
|
||||
1.5e2, // density [g/cm^3]
|
||||
1e-12, // initial timestep [s]
|
||||
3e17 // integration end time [s]
|
||||
};
|
||||
|
||||
// 7. Execute integration
|
||||
NetOut output = solver.evaluate(input);
|
||||
std::cout << "Final results are: " << output << std::endl;
|
||||
}
|
||||
```
|
||||
|
||||
>**Note:** A fully detailed list of all available information in the TimestepContext struct is available in the API documentation.
|
||||
|
||||
>**Note:** The order of species in the boost state vector (`ctx.state`) is **not guaranteed** to be any particular order run over run. Therefore, in order to reliably extract
|
||||
> values from it, you **must** use the `getSpeciesIndex` method of the engine to get the index of the species you are interested in (these will always be in the same order).
|
||||
|
||||
#### Callback Context
|
||||
|
||||
Since each solver may provide different context to the callback function, and it may be frustrating to refer to the
|
||||
documentation every time, we also enforce that all solvers must implement a `descripe_callback_context` method which
|
||||
returns a vector of tuples<string, string> where the first element is the name of the field and the second is its
|
||||
datatype. It is on the developer to ensure that this information is accurate.
|
||||
|
||||
```c++
|
||||
...
|
||||
std::cout << solver.describe_callback_context() << std::endl;
|
||||
```
|
||||
|
||||
## Python
|
||||
The python bindings intentionally look **very** similar to the C++ code.
|
||||
Generally all examples can be adapted to python by replacing includes of paths
|
||||
@@ -641,35 +738,103 @@ with imports of modules such that
|
||||
|
||||
All GridFire C++ types have been bound and can be passed around as one would expect.
|
||||
|
||||
### Common Workflow Examople
|
||||
This example impliments the same logic as the above C++ example
|
||||
### Common Workflow Example
|
||||
This example implements the same logic as the above C++ example
|
||||
```python
|
||||
import gridfire
|
||||
|
||||
from gridfire.engine import GraphEngine, MultiscalePartitioningEngineView, AdaptiveEngineView
|
||||
from gridfire.solver import DirectNetworkSolver
|
||||
from gridfire.type import NetIn
|
||||
|
||||
from fourdst.composition import Composition
|
||||
|
||||
symbols = ["H-1", ...]
|
||||
X = [0.7, ...]
|
||||
symbols : list[str] = ["H-1", "He-3", "He-4", "C-12", "N-14", "O-16", "Ne-20", "Mg-24"]
|
||||
X : list[float] = [0.708, 2.94e-5, 0.276, 0.003, 0.0011, 9.62e-3, 1.62e-3, 5.16e-4]
|
||||
|
||||
|
||||
comp = Composition()
|
||||
comp.registerSymbols(symbols)
|
||||
comp.setMassFraction(X)
|
||||
comp.finalize(true)
|
||||
# Initialize GraphEngine with predefined composition
|
||||
engine = gridfire.GraphEngine(comp)
|
||||
netIn = gridfire.types.NetIn
|
||||
comp.registerSymbol(symbols)
|
||||
comp.setMassFraction(symbols, X)
|
||||
comp.finalize(True)
|
||||
|
||||
print(f"Initial H-1 mass fraction {comp.getMassFraction("H-1")}")
|
||||
|
||||
netIn = NetIn()
|
||||
netIn.composition = comp
|
||||
netIn.tMax = 1e-3
|
||||
netIn.temperature = 1.5e7
|
||||
netIn.density = 1.6e2
|
||||
netIn.tMax = 1e-9
|
||||
netIn.dt0 = 1e-12
|
||||
|
||||
# Perform one integration step
|
||||
netOut = engine.evaluate(netIn)
|
||||
print(netOut)
|
||||
baseEngine = GraphEngine(netIn.composition, 2)
|
||||
baseEngine.setUseReverseReactions(False)
|
||||
|
||||
qseEngine = MultiscalePartitioningEngineView(baseEngine)
|
||||
|
||||
adaptiveEngine = AdaptiveEngineView(qseEngine)
|
||||
|
||||
solver = DirectNetworkSolver(adaptiveEngine)
|
||||
|
||||
results = solver.evaluate(netIn)
|
||||
|
||||
print(f"Final H-1 mass fraction {results.composition.getMassFraction("H-1")}")
|
||||
```
|
||||
|
||||
### Python callbacks
|
||||
|
||||
Just like in C++, python users can register callbacks to be called at the end of each successful timestep. Note that
|
||||
these may slow down code significantly as the interpreter needs to jump up into the slower python code therefore these
|
||||
should likely only be used for debugging purposes.
|
||||
|
||||
The syntax for registration is very similar to C++
|
||||
```python
|
||||
from gridfire.engine import GraphEngine, MultiscalePartitioningEngineView, AdaptiveEngineView
|
||||
from gridfire.solver import DirectNetworkSolver
|
||||
from gridfire.type import NetIn
|
||||
|
||||
from fourdst.composition import Composition
|
||||
from fourdst.atomic import species
|
||||
|
||||
symbols : list[str] = ["H-1", "He-3", "He-4", "C-12", "N-14", "O-16", "Ne-20", "Mg-24"]
|
||||
X : list[float] = [0.708, 2.94e-5, 0.276, 0.003, 0.0011, 9.62e-3, 1.62e-3, 5.16e-4]
|
||||
|
||||
|
||||
comp = Composition()
|
||||
comp.registerSymbol(symbols)
|
||||
comp.setMassFraction(symbols, X)
|
||||
comp.finalize(True)
|
||||
|
||||
print(f"Initial H-1 mass fraction {comp.getMassFraction("H-1")}")
|
||||
|
||||
netIn = NetIn()
|
||||
netIn.composition = comp
|
||||
netIn.temperature = 1.5e7
|
||||
netIn.density = 1.6e2
|
||||
netIn.tMax = 1e-9
|
||||
netIn.dt0 = 1e-12
|
||||
|
||||
baseEngine = GraphEngine(netIn.composition, 2)
|
||||
baseEngine.setUseReverseReactions(False)
|
||||
|
||||
qseEngine = MultiscalePartitioningEngineView(baseEngine)
|
||||
|
||||
adaptiveEngine = AdaptiveEngineView(qseEngine)
|
||||
|
||||
solver = DirectNetworkSolver(adaptiveEngine)
|
||||
|
||||
|
||||
def callback(context):
|
||||
H1Index = context.engine.getSpeciesIndex(species["H-1"])
|
||||
He4Index = context.engine.getSpeciesIndex(species["He-4"])
|
||||
C12ndex = context.engine.getSpeciesIndex(species["C-12"])
|
||||
Mgh24ndex = context.engine.getSpeciesIndex(species["Mg-24"])
|
||||
print(f"Time: {context.t}, H-1: {context.state[H1Index]}, He-4: {context.state[He4Index]}, C-12: {context.state[C12ndex]}, Mg-24: {context.state[Mgh24ndex]}")
|
||||
|
||||
solver.set_callback(callback)
|
||||
results = solver.evaluate(netIn)
|
||||
|
||||
print(f"Final H-1 mass fraction {results.composition.getMassFraction("H-1")}")
|
||||
|
||||
```
|
||||
|
||||
|
||||
# Related Projects
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -150,8 +150,10 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); });
|
||||
<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_8_" class="arrow" onclick="dynsection.toggleFolder('0_8_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacegridfire_1_1solver.html" target="_self">solver</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_8_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_8_0_" class="arrow" onclick="dynsection.toggleFolder('0_8_0_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html" target="_self">DirectNetworkSolver</a></td><td class="desc">A network solver that directly integrates the reaction network ODEs </td></tr>
|
||||
<tr id="row_0_8_0_0_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html" target="_self">JacobianFunctor</a></td><td class="desc">Functor for calculating the Jacobian matrix </td></tr>
|
||||
<tr id="row_0_8_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html" target="_self">RHSManager</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_8_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html" target="_self">NetworkSolverStrategy</a></td><td class="desc">Abstract base class for network solver strategies </td></tr>
|
||||
<tr id="row_0_8_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html" target="_self">RHSManager</a></td><td class="desc">Functor for calculating the right-hand side of the ODEs </td></tr>
|
||||
<tr id="row_0_8_0_2_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html" target="_self">TimestepContext</a></td><td class="desc">Context for the timestep callback function for the <a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html" title="A network solver that directly integrates the reaction network ODEs.">DirectNetworkSolver</a> </td></tr>
|
||||
<tr id="row_0_8_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html" target="_self">NetworkSolverStrategy</a></td><td class="desc">Abstract base class for network solver strategies </td></tr>
|
||||
<tr id="row_0_8_2_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1solver_1_1_solver_context_base.html" target="_self">SolverContextBase</a></td><td class="desc">Base class for solver callback contexts </td></tr>
|
||||
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_9_" class="arrow" onclick="dynsection.toggleFolder('0_9_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1_adaptive_engine_view.html" target="_self">AdaptiveEngineView</a></td><td class="desc">An engine view that dynamically adapts the reaction network based on runtime conditions </td></tr>
|
||||
<tr id="row_0_9_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html" target="_self">ReactionFlow</a></td><td class="desc">A struct to hold a reaction and its flow rate </td></tr>
|
||||
<tr id="row_0_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classgridfire_1_1_defined_engine_view.html" target="_self">DefinedEngineView</a></td><td class="desc"></td></tr>
|
||||
@@ -189,7 +191,6 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); });
|
||||
<tr id="row_7_" 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="class_py_network_file_parser.html" target="_self">PyNetworkFileParser</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_8_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_py_partition_function.html" target="_self">PyPartitionFunction</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_9_" 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="class_py_screening.html" target="_self">PyScreening</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_10_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_r_h_s_functor.html" target="_self">RHSFunctor</a></td><td class="desc">Functor for calculating the right-hand side of the ODEs </td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
|
||||
@@ -50,7 +50,8 @@ var annotated_dup =
|
||||
] ],
|
||||
[ "solver", "namespacegridfire_1_1solver.html", [
|
||||
[ "DirectNetworkSolver", "classgridfire_1_1solver_1_1_direct_network_solver.html", "classgridfire_1_1solver_1_1_direct_network_solver" ],
|
||||
[ "NetworkSolverStrategy", "classgridfire_1_1solver_1_1_network_solver_strategy.html", "classgridfire_1_1solver_1_1_network_solver_strategy" ]
|
||||
[ "NetworkSolverStrategy", "classgridfire_1_1solver_1_1_network_solver_strategy.html", "classgridfire_1_1solver_1_1_network_solver_strategy" ],
|
||||
[ "SolverContextBase", "structgridfire_1_1solver_1_1_solver_context_base.html", "structgridfire_1_1solver_1_1_solver_context_base" ]
|
||||
] ],
|
||||
[ "AdaptiveEngineView", "classgridfire_1_1_adaptive_engine_view.html", "classgridfire_1_1_adaptive_engine_view" ],
|
||||
[ "DefinedEngineView", "classgridfire_1_1_defined_engine_view.html", "classgridfire_1_1_defined_engine_view" ],
|
||||
@@ -83,6 +84,5 @@ var annotated_dup =
|
||||
[ "PyEngineView", "class_py_engine_view.html", "class_py_engine_view" ],
|
||||
[ "PyNetworkFileParser", "class_py_network_file_parser.html", "class_py_network_file_parser" ],
|
||||
[ "PyPartitionFunction", "class_py_partition_function.html", "class_py_partition_function" ],
|
||||
[ "PyScreening", "class_py_screening.html", "class_py_screening" ],
|
||||
[ "RHSFunctor", "struct_r_h_s_functor.html", null ]
|
||||
[ "PyScreening", "class_py_screening.html", "class_py_screening" ]
|
||||
];
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -166,14 +166,19 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memdesc:ab4cfdca5e15957c5cef75ffa6dedeee5"><td class="mdescLeft"> </td><td class="mdescRight">Get the current electron screening model. <br /></td></tr>
|
||||
<tr class="separator:ab4cfdca5e15957c5cef75ffa6dedeee5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2ee1d745c1c21b9fcb652c96c42f1091" id="r_a2ee1d745c1c21b9fcb652c96c42f1091"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ee1d745c1c21b9fcb652c96c42f1091">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||||
<tr class="memdesc:a2ee1d745c1c21b9fcb652c96c42f1091"><td class="mdescLeft"> </td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
|
||||
<tr class="separator:a2ee1d745c1c21b9fcb652c96c42f1091"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a61bb4b430fe740cfb2c24e5cc673e4ac" id="r_a61bb4b430fe740cfb2c24e5cc673e4ac"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a61bb4b430fe740cfb2c24e5cc673e4ac">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &netIn) const override</td></tr>
|
||||
<tr class="memdesc:a61bb4b430fe740cfb2c24e5cc673e4ac"><td class="mdescLeft"> </td><td class="mdescRight">Map a NetIn object to a vector of molar abundances. <br /></td></tr>
|
||||
<tr class="separator:a61bb4b430fe740cfb2c24e5cc673e4ac"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac22a10412be6649bf379e6d61113c878" id="r_ac22a10412be6649bf379e6d61113c878"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_priming_report.html">gridfire::PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac22a10412be6649bf379e6d61113c878">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:ac22a10412be6649bf379e6d61113c878"><td class="mdescLeft"> </td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
|
||||
<tr class="separator:ac22a10412be6649bf379e6d61113c878"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adba68716d832b6100e08d32fbc36f13c" id="r_adba68716d832b6100e08d32fbc36f13c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">gridfire::BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#adba68716d832b6100e08d32fbc36f13c">getDepth</a> () const override</td></tr>
|
||||
<tr class="memdesc:adba68716d832b6100e08d32fbc36f13c"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:adba68716d832b6100e08d32fbc36f13c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3d30a9116825ab2c5c209bc2712126bc" id="r_a3d30a9116825ab2c5c209bc2712126bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d30a9116825ab2c5c209bc2712126bc">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">gridfire::BuildDepthType</a> depth) override</td></tr>
|
||||
<tr class="memdesc:a3d30a9116825ab2c5c209bc2712126bc"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||||
<tr class="separator:a3d30a9116825ab2c5c209bc2712126bc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
@@ -429,6 +434,10 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the depth of the network. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The depth of the network, which may indicate the level of detail or complexity in the reaction network.</dd></dl>
|
||||
<p>This method is intended to provide information about the network's structure, such as how many layers of reactions or species are present. It can be useful for diagnostics and understanding the network's complexity. </p>
|
||||
|
||||
<p>Reimplemented from <a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -625,6 +634,15 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the index of a species in the network. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">species</td><td>The species to look up.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method allows querying the index of a specific species in the engine's internal representation. It is useful for accessing species data efficiently. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -769,6 +787,16 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Map a NetIn object to a vector of molar abundances. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances corresponding to the species in the network.</dd></dl>
|
||||
<p>This method converts the input conditions into a vector of molar abundances, which can be used for further calculations or diagnostics. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -796,6 +824,16 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Prime the engine with initial conditions. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>PrimingReport containing information about the priming process.</dd></dl>
|
||||
<p>This method is used to prepare the engine for calculations by setting up initial conditions, reactions, and species. It may involve compiling reaction rates, initializing internal data structures, and performing any necessary pre-computation. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -827,6 +865,16 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Rebuild the network with a specified depth. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">comp</td><td>The composition to rebuild the network with. </td></tr>
|
||||
<tr><td class="paramname">depth</td><td>The desired depth of the network.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method is intended to allow dynamic adjustment of the network's depth, which may involve adding or removing species and reactions based on the specified depth. However, not all engines support this operation. </p>
|
||||
|
||||
<p>Reimplemented from <a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -105,12 +105,14 @@ $(function(){initNavTree('class_py_dynamic_network_solver_strategy.html',''); in
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_py_dynamic_network_solver_strategy.html">PyDynamicNetworkSolverStrategy</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html#a2095abb83ed6229ebb27b4883cec51c4">evaluate</a>(const gridfire::NetIn &netIn) override</td><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html">PyDynamicNetworkSolverStrategy</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8">m_engine</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html#a147a0a543268427a5930143902217ac3">describe_callback_context</a>() const override</td><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html">PyDynamicNetworkSolverStrategy</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html#a2095abb83ed6229ebb27b4883cec51c4">evaluate</a>(const gridfire::NetIn &netIn) override</td><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html">PyDynamicNetworkSolverStrategy</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8">m_engine</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a>(DynamicEngine &engine)</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8">m_engine</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a>(DynamicEngine &engine)</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html#a4a3fce2a9853e7192354834bf2b36159">PyDynamicNetworkSolverStrategy</a>(gridfire::DynamicEngine &engine)</td><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html">PyDynamicNetworkSolverStrategy</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span><span class="mlabel">private</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a>(DynamicEngine &engine)</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html#a4a3fce2a9853e7192354834bf2b36159">PyDynamicNetworkSolverStrategy</a>(gridfire::DynamicEngine &engine)</td><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html">PyDynamicNetworkSolverStrategy</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span><span class="mlabel">private</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html#a112a7babc03858a69d6994a7155370d3">set_callback</a>(const std::any &callback) override</td><td class="entry"><a class="el" href="class_py_dynamic_network_solver_strategy.html">PyDynamicNetworkSolverStrategy</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318">~NetworkSolverStrategy</a>()=default</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318">~NetworkSolverStrategy</a>()=default</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -124,6 +124,12 @@ Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a2095abb83ed6229ebb27b4883cec51c4" id="r_a2095abb83ed6229ebb27b4883cec51c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_net_out.html">gridfire::NetOut</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2095abb83ed6229ebb27b4883cec51c4">evaluate</a> (const <a class="el" href="structgridfire_1_1_net_in.html">gridfire::NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:a2095abb83ed6229ebb27b4883cec51c4"><td class="mdescLeft"> </td><td class="mdescRight">Evaluates the network for a given timestep. <br /></td></tr>
|
||||
<tr class="separator:a2095abb83ed6229ebb27b4883cec51c4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a112a7babc03858a69d6994a7155370d3" id="r_a112a7babc03858a69d6994a7155370d3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a112a7babc03858a69d6994a7155370d3">set_callback</a> (const std::any &callback) override</td></tr>
|
||||
<tr class="memdesc:a112a7babc03858a69d6994a7155370d3"><td class="mdescLeft"> </td><td class="mdescRight">set the callback function to be called at the end of each timestep. <br /></td></tr>
|
||||
<tr class="separator:a112a7babc03858a69d6994a7155370d3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a147a0a543268427a5930143902217ac3" id="r_a147a0a543268427a5930143902217ac3"><td class="memItemLeft" align="right" valign="top">std::vector< std::tuple< std::string, std::string > > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a147a0a543268427a5930143902217ac3">describe_callback_context</a> () const override</td></tr>
|
||||
<tr class="memdesc:a147a0a543268427a5930143902217ac3"><td class="mdescLeft"> </td><td class="mdescRight">Describe the context that will be passed to the callback function. <br /></td></tr>
|
||||
<tr class="separator:a147a0a543268427a5930143902217ac3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
|
||||
Additional Inherited Members</h2></td></tr>
|
||||
@@ -175,6 +181,37 @@ Additional Inherited Members</h2></td></tr>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a147a0a543268427a5930143902217ac3" name="a147a0a543268427a5930143902217ac3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a147a0a543268427a5930143902217ac3">◆ </a></span>describe_callback_context()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::vector< std::tuple< std::string, std::string > > PyDynamicNetworkSolverStrategy::describe_callback_context </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Describe the context that will be passed to the callback function. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of tuples, each containing a string for the parameter's name and a string for its type.</dd></dl>
|
||||
<p>This method should be overridden by derived classes to provide a description of the context that will be passed to the callback function. The intent of this method is that an end user can investigate the context that will be passed to the callback function, and use this information to craft their own callback function. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#ae09169769774f17df8701c42a64ed656">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a2095abb83ed6229ebb27b4883cec51c4" name="a2095abb83ed6229ebb27b4883cec51c4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a2095abb83ed6229ebb27b4883cec51c4">◆ </a></span>evaluate()</h2>
|
||||
|
||||
@@ -209,6 +246,42 @@ Additional Inherited Members</h2></td></tr>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a112a7babc03858a69d6994a7155370d3" name="a112a7babc03858a69d6994a7155370d3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a112a7babc03858a69d6994a7155370d3">◆ </a></span>set_callback()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void PyDynamicNetworkSolverStrategy::set_callback </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::any &</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>set the callback function to be called at the end of each timestep. </p>
|
||||
<p>This function allows the user to set a callback function that will be called at the end of each timestep. The callback function will receive a <a class="el" href="namespacegridfire_1_1solver.html">gridfire::solver</a>::<SOMESOLVER>::TimestepContext object. Note that depending on the solver, this context may contain different information. Further, the exact signature of the callback function is left up to each solver. Every solver should provide a type or type alias TimestepCallback that defines the signature of the callback function so that the user can easily get that type information.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">callback</td><td>The callback function to be called at the end of each timestep. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a4d97ee85933d5e5f90d4194bb021a1dc">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
var class_py_dynamic_network_solver_strategy =
|
||||
[
|
||||
[ "PyDynamicNetworkSolverStrategy", "class_py_dynamic_network_solver_strategy.html#a4a3fce2a9853e7192354834bf2b36159", null ],
|
||||
[ "evaluate", "class_py_dynamic_network_solver_strategy.html#a2095abb83ed6229ebb27b4883cec51c4", null ]
|
||||
[ "describe_callback_context", "class_py_dynamic_network_solver_strategy.html#a147a0a543268427a5930143902217ac3", null ],
|
||||
[ "evaluate", "class_py_dynamic_network_solver_strategy.html#a2095abb83ed6229ebb27b4883cec51c4", null ],
|
||||
[ "set_callback", "class_py_dynamic_network_solver_strategy.html#a112a7babc03858a69d6994a7155370d3", null ]
|
||||
];
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -154,13 +154,13 @@ $(function(){initNavTree('classes.html',''); initResizable(true); });
|
||||
<dd><a class="el" href="structgridfire_1_1_q_s_e_cache_config.html">QSECacheConfig</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd><dd><a class="el" href="structgridfire_1_1_q_s_e_cache_key.html">QSECacheKey</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd><dd><a class="el" href="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html">MultiscalePartitioningEngineView::QSEGroup</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
|
||||
<dd><a class="el" href="structgridfire_1_1reaction_1_1_rate_coefficient_set.html">RateCoefficientSet</a> (<a class="el" href="namespacegridfire_1_1reaction.html">gridfire::reaction</a>)</dd><dd><a class="el" href="structgridfire_1_1partition_1_1record_1_1_rauscher_thielemann_partition_data_record.html">RauscherThielemannPartitionDataRecord</a> (<a class="el" href="namespacegridfire_1_1partition_1_1record.html">gridfire::partition::record</a>)</dd><dd><a class="el" href="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html">RauscherThielemannPartitionFunction</a> (<a class="el" href="namespacegridfire_1_1partition.html">gridfire::partition</a>)</dd><dd><a class="el" href="classgridfire_1_1_reaction.html">Reaction</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd><dd><a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a> (<a class="el" href="namespacegridfire_1_1reaction.html">gridfire::reaction</a>)</dd><dd><a class="el" href="structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html">AdaptiveEngineView::ReactionFlow</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd><dd><a class="el" href="structgridfire_1_1reaclib_1_1_reaction_record.html">ReactionRecord</a> (<a class="el" href="namespacegridfire_1_1reaclib.html">gridfire::reaclib</a>)</dd><dd><a class="el" href="struct_r_h_s_functor.html">RHSFunctor</a></dd><dd><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html">DirectNetworkSolver::RHSManager</a> (<a class="el" href="namespacegridfire_1_1solver.html">gridfire::solver</a>)</dd></dl>
|
||||
<dd><a class="el" href="structgridfire_1_1reaction_1_1_rate_coefficient_set.html">RateCoefficientSet</a> (<a class="el" href="namespacegridfire_1_1reaction.html">gridfire::reaction</a>)</dd><dd><a class="el" href="structgridfire_1_1partition_1_1record_1_1_rauscher_thielemann_partition_data_record.html">RauscherThielemannPartitionDataRecord</a> (<a class="el" href="namespacegridfire_1_1partition_1_1record.html">gridfire::partition::record</a>)</dd><dd><a class="el" href="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html">RauscherThielemannPartitionFunction</a> (<a class="el" href="namespacegridfire_1_1partition.html">gridfire::partition</a>)</dd><dd><a class="el" href="classgridfire_1_1_reaction.html">Reaction</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd><dd><a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">Reaction</a> (<a class="el" href="namespacegridfire_1_1reaction.html">gridfire::reaction</a>)</dd><dd><a class="el" href="structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html">AdaptiveEngineView::ReactionFlow</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd><dd><a class="el" href="structgridfire_1_1reaclib_1_1_reaction_record.html">ReactionRecord</a> (<a class="el" href="namespacegridfire_1_1reaclib.html">gridfire::reaclib</a>)</dd><dd><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html">DirectNetworkSolver::RHSManager</a> (<a class="el" href="namespacegridfire_1_1solver.html">gridfire::solver</a>)</dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
|
||||
<dd><a class="el" href="classgridfire_1_1screening_1_1_screening_model.html">ScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html">gridfire::screening</a>)</dd><dd><a class="el" href="classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html">SimpleReactionListFileParser</a> (<a class="el" href="namespacegridfire_1_1io.html">gridfire::io</a>)</dd><dd><a class="el" href="classgridfire_1_1exceptions_1_1_stale_engine_error.html">StaleEngineError</a> (<a class="el" href="namespacegridfire_1_1exceptions.html">gridfire::exceptions</a>)</dd><dd><a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">StaleEngineError</a> (<a class="el" href="namespacegridfire_1_1expectations.html">gridfire::expectations</a>)</dd><dd><a class="el" href="classgridfire_1_1exceptions_1_1_stale_engine_trigger.html">StaleEngineTrigger</a> (<a class="el" href="namespacegridfire_1_1exceptions.html">gridfire::exceptions</a>)</dd><dd><a class="el" href="structgridfire_1_1exceptions_1_1_stale_engine_trigger_1_1state.html">StaleEngineTrigger::state</a> (<a class="el" href="namespacegridfire_1_1exceptions.html">gridfire::exceptions</a>)</dd><dd><a class="el" href="structgridfire_1_1_step_derivatives.html">StepDerivatives</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd></dl>
|
||||
<dd><a class="el" href="classgridfire_1_1screening_1_1_screening_model.html">ScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html">gridfire::screening</a>)</dd><dd><a class="el" href="classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html">SimpleReactionListFileParser</a> (<a class="el" href="namespacegridfire_1_1io.html">gridfire::io</a>)</dd><dd><a class="el" href="structgridfire_1_1solver_1_1_solver_context_base.html">SolverContextBase</a> (<a class="el" href="namespacegridfire_1_1solver.html">gridfire::solver</a>)</dd><dd><a class="el" href="classgridfire_1_1exceptions_1_1_stale_engine_error.html">StaleEngineError</a> (<a class="el" href="namespacegridfire_1_1exceptions.html">gridfire::exceptions</a>)</dd><dd><a class="el" href="structgridfire_1_1expectations_1_1_stale_engine_error.html">StaleEngineError</a> (<a class="el" href="namespacegridfire_1_1expectations.html">gridfire::expectations</a>)</dd><dd><a class="el" href="classgridfire_1_1exceptions_1_1_stale_engine_trigger.html">StaleEngineTrigger</a> (<a class="el" href="namespacegridfire_1_1exceptions.html">gridfire::exceptions</a>)</dd><dd><a class="el" href="structgridfire_1_1exceptions_1_1_stale_engine_trigger_1_1state.html">StaleEngineTrigger::state</a> (<a class="el" href="namespacegridfire_1_1exceptions.html">gridfire::exceptions</a>)</dd><dd><a class="el" href="structgridfire_1_1_step_derivatives.html">StepDerivatives</a> (<a class="el" href="namespacegridfire.html">gridfire</a>)</dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
|
||||
<dd><a class="el" href="classgridfire_1_1reaction_1_1_templated_reaction_set.html">TemplatedReactionSet</a> (<a class="el" href="namespacegridfire_1_1reaction.html">gridfire::reaction</a>)</dd></dl>
|
||||
<dd><a class="el" href="classgridfire_1_1reaction_1_1_templated_reaction_set.html">TemplatedReactionSet</a> (<a class="el" href="namespacegridfire_1_1reaction.html">gridfire::reaction</a>)</dd><dd><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html">DirectNetworkSolver::TimestepContext</a> (<a class="el" href="namespacegridfire_1_1solver.html">gridfire::solver</a>)</dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a id="letter_U" name="letter_U">U</a></dt>
|
||||
<dd><a class="el" href="classgridfire_1_1exceptions_1_1_unable_to_set_network_reactions_error.html">UnableToSetNetworkReactionsError</a> (<a class="el" href="namespacegridfire_1_1exceptions.html">gridfire::exceptions</a>)</dd></dl>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -183,17 +183,22 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memdesc:a0ab1199f900a58f309c3c36532c9164f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the screening model from the base engine. <br /></td></tr>
|
||||
<tr class="separator:a0ab1199f900a58f309c3c36532c9164f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9055feb245524a5a9549ace935f059ff" id="r_a9055feb245524a5a9549ace935f059ff"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9055feb245524a5a9549ace935f059ff">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||||
<tr class="memdesc:a9055feb245524a5a9549ace935f059ff"><td class="mdescLeft"> </td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
|
||||
<tr class="separator:a9055feb245524a5a9549ace935f059ff"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7d0237956bf3ec7230bc51d88e7f8019" id="r_a7d0237956bf3ec7230bc51d88e7f8019"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d0237956bf3ec7230bc51d88e7f8019">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) const override</td></tr>
|
||||
<tr class="memdesc:a7d0237956bf3ec7230bc51d88e7f8019"><td class="mdescLeft"> </td><td class="mdescRight">Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br /></td></tr>
|
||||
<tr class="separator:a7d0237956bf3ec7230bc51d88e7f8019"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a70005361262bc180d4417b608661e3c3" id="r_a70005361262bc180d4417b608661e3c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a70005361262bc180d4417b608661e3c3">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:a70005361262bc180d4417b608661e3c3"><td class="mdescLeft"> </td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
|
||||
<tr class="separator:a70005361262bc180d4417b608661e3c3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_dynamic_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_dynamic_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></td></tr>
|
||||
<tr class="memitem:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a818d942efa843959393e4eed3263b7e7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7">generateJacobianMatrix</a> (const std::vector< double > &Y_dynamic, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &sparsityPattern) const</td></tr>
|
||||
<tr class="separator:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
|
||||
<tr class="memdesc:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
|
||||
<tr class="memdesc:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||||
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
@@ -1093,6 +1098,15 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the index of a species in the network. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">species</td><td>The species to look up.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method allows querying the index of a specific species in the engine's internal representation. It is useful for accessing species data efficiently. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1399,6 +1413,16 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances corresponding to the species in the network.</dd></dl>
|
||||
<p>This method converts the input conditions into a vector of molar abundances, which can be used for further calculations or diagnostics. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1426,6 +1450,16 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Prime the engine with initial conditions. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structgridfire_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a> containing information about the priming process.</dd></dl>
|
||||
<p>This method is used to prepare the engine for calculations by setting up initial conditions, reactions, and species. It may involve compiling reaction rates, initializing internal data structures, and performing any necessary pre-computation. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -174,17 +174,22 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memdesc:a3c657b82a0117118a4bb0ce7f624ae0c"><td class="mdescLeft"> </td><td class="mdescRight">Gets the screening model from the base engine. <br /></td></tr>
|
||||
<tr class="separator:a3c657b82a0117118a4bb0ce7f624ae0c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abfee22688617ffe91c69be93049c89b3" id="r_abfee22688617ffe91c69be93049c89b3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#abfee22688617ffe91c69be93049c89b3">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||||
<tr class="memdesc:abfee22688617ffe91c69be93049c89b3"><td class="mdescLeft"> </td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
|
||||
<tr class="separator:abfee22688617ffe91c69be93049c89b3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a72789c1c3379594b65b560da50192de2" id="r_a72789c1c3379594b65b560da50192de2"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a72789c1c3379594b65b560da50192de2">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) const override</td></tr>
|
||||
<tr class="memdesc:a72789c1c3379594b65b560da50192de2"><td class="mdescLeft"> </td><td class="mdescRight">Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br /></td></tr>
|
||||
<tr class="separator:a72789c1c3379594b65b560da50192de2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a13033abd3b44904f98b58c93e22da460" id="r_a13033abd3b44904f98b58c93e22da460"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a13033abd3b44904f98b58c93e22da460">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:a13033abd3b44904f98b58c93e22da460"><td class="mdescLeft"> </td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
|
||||
<tr class="separator:a13033abd3b44904f98b58c93e22da460"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_dynamic_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_dynamic_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></td></tr>
|
||||
<tr class="memitem:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a818d942efa843959393e4eed3263b7e7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7">generateJacobianMatrix</a> (const std::vector< double > &Y_dynamic, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &sparsityPattern) const</td></tr>
|
||||
<tr class="separator:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
|
||||
<tr class="memdesc:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
|
||||
<tr class="memdesc:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||||
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
@@ -797,6 +802,15 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the index of a species in the network. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">species</td><td>The species to look up.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method allows querying the index of a specific species in the engine's internal representation. It is useful for accessing species data efficiently. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -986,6 +1000,16 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances corresponding to the species in the network.</dd></dl>
|
||||
<p>This method converts the input conditions into a vector of molar abundances, which can be used for further calculations or diagnostics. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1127,6 +1151,16 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Prime the engine with initial conditions. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structgridfire_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a> containing information about the priming process.</dd></dl>
|
||||
<p>This method is used to prepare the engine for calculations by setting up initial conditions, reactions, and species. It may involve compiling reaction rates, initializing internal data structures, and performing any necessary pre-computation. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -168,14 +168,19 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memdesc:a7a203f8e0f3a6744ddc912dfbcfdbcc0"><td class="mdescLeft"> </td><td class="mdescRight">Get the current electron screening model. <br /></td></tr>
|
||||
<tr class="separator:a7a203f8e0f3a6744ddc912dfbcfdbcc0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad3d56a8b9161b9cc7f4da51f6bf7e8c9" id="r_ad3d56a8b9161b9cc7f4da51f6bf7e8c9"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const =0</td></tr>
|
||||
<tr class="memdesc:ad3d56a8b9161b9cc7f4da51f6bf7e8c9"><td class="mdescLeft"> </td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
|
||||
<tr class="separator:ad3d56a8b9161b9cc7f4da51f6bf7e8c9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a55f1b7e5ebe2840e1d7c54665ca5411a" id="r_a55f1b7e5ebe2840e1d7c54665ca5411a"><td class="memItemLeft" align="right" valign="top">virtual std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a55f1b7e5ebe2840e1d7c54665ca5411a">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) const =0</td></tr>
|
||||
<tr class="memdesc:a55f1b7e5ebe2840e1d7c54665ca5411a"><td class="mdescLeft"> </td><td class="mdescRight">Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br /></td></tr>
|
||||
<tr class="separator:a55f1b7e5ebe2840e1d7c54665ca5411a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a21c34f59c080a853fafa38a25175124e" id="r_a21c34f59c080a853fafa38a25175124e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a21c34f59c080a853fafa38a25175124e">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn)=0</td></tr>
|
||||
<tr class="memdesc:a21c34f59c080a853fafa38a25175124e"><td class="mdescLeft"> </td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
|
||||
<tr class="separator:a21c34f59c080a853fafa38a25175124e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
|
||||
<tr class="memdesc:a04317b66ef14d519264bc30ee69f5bf9"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
|
||||
<tr class="memdesc:a4e2c8b896661b7a89beffe0066cb21cf"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||||
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
@@ -394,6 +399,10 @@ Public Member Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the depth of the network. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The depth of the network, which may indicate the level of detail or complexity in the reaction network.</dd></dl>
|
||||
<p>This method is intended to provide information about the network's structure, such as how many layers of reactions or species are present. It can be useful for diagnostics and understanding the network's complexity. </p>
|
||||
|
||||
<p>Reimplemented in <a class="el" href="classgridfire_1_1_graph_engine.html#a166a5f4349580f9aa0b930afec73fcc4">gridfire::GraphEngine</a>, and <a class="el" href="class_py_dynamic_engine.html#adba68716d832b6100e08d32fbc36f13c">PyDynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -562,6 +571,15 @@ Public Member Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the index of a species in the network. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">species</td><td>The species to look up.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method allows querying the index of a specific species in the engine's internal representation. It is useful for accessing species data efficiently. </p>
|
||||
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a9055feb245524a5a9549ace935f059ff">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#abfee22688617ffe91c69be93049c89b3">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a914f6abc61805cddaebcb8f3cf470dda">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a91d32b7197fcb27ee697d5bfde960f3f">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a2ee1d745c1c21b9fcb652c96c42f1091">PyDynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -706,6 +724,16 @@ Public Member Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances corresponding to the species in the network.</dd></dl>
|
||||
<p>This method converts the input conditions into a vector of molar abundances, which can be used for further calculations or diagnostics. </p>
|
||||
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a7d0237956bf3ec7230bc51d88e7f8019">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a72789c1c3379594b65b560da50192de2">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a27f3a928e1f6bbe7e847cffed6db729f">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#aada497e8df74a295fdf5df7d7cdf64e0">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#a61bb4b430fe740cfb2c24e5cc673e4ac">PyDynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -733,6 +761,16 @@ Public Member Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Prime the engine with initial conditions. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structgridfire_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a> containing information about the priming process.</dd></dl>
|
||||
<p>This method is used to prepare the engine for calculations by setting up initial conditions, reactions, and species. It may involve compiling reaction rates, initializing internal data structures, and performing any necessary pre-computation. </p>
|
||||
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#a70005361262bc180d4417b608661e3c3">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#a13033abd3b44904f98b58c93e22da460">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#ae7a371be61ab09b3fa4a93f05bd44e5e">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a05730ced13ac5331060ca011f0da6235">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#ac22a10412be6649bf379e6d61113c878">PyDynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -764,6 +802,16 @@ Public Member Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Rebuild the network with a specified depth. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">comp</td><td>The composition to rebuild the network with. </td></tr>
|
||||
<tr><td class="paramname">depth</td><td>The desired depth of the network.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method is intended to allow dynamic adjustment of the network's depth, which may involve adding or removing species and reactions based on the specified depth. However, not all engines support this operation. </p>
|
||||
|
||||
<p>Reimplemented in <a class="el" href="classgridfire_1_1_graph_engine.html#ad9d6c70ace5cbbf7f3aa7b31fce39490">gridfire::GraphEngine</a>, and <a class="el" href="class_py_dynamic_engine.html#a3d30a9116825ab2c5c209bc2712126bc">PyDynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -831,7 +879,7 @@ Public Member Functions</h2></td></tr>
|
||||
</div><!-- fragment --></dd></dl>
|
||||
<dl class="section post"><dt>Postcondition</dt><dd>The engine will use the specified screening model for subsequent rate calculations. </dd></dl>
|
||||
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#abf2da57c83c3c4c635cb301f53088258">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a1a0c0a0ade632eb10f0eecab828a059f">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#afa3abfd612033336a656f092721c14ac">PyDynamicEngine</a>.</p>
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b">gridfire::AdaptiveEngineView</a>, <a class="el" href="classgridfire_1_1_defined_engine_view.html#abf2da57c83c3c4c635cb301f53088258">gridfire::DefinedEngineView</a>, <a class="el" href="classgridfire_1_1_graph_engine.html#a9bc768ca8ca59d442c0d05cb04e36d7c">gridfire::GraphEngine</a>, <a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a1a0c0a0ade632eb10f0eecab828a059f">gridfire::MultiscalePartitioningEngineView</a>, and <a class="el" href="class_py_dynamic_engine.html#afa3abfd612033336a656f092721c14ac">PyDynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -180,17 +180,22 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memdesc:a3c657b82a0117118a4bb0ce7f624ae0c inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Gets the screening model from the base engine. <br /></td></tr>
|
||||
<tr class="separator:a3c657b82a0117118a4bb0ce7f624ae0c inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abfee22688617ffe91c69be93049c89b3 inherit pub_methods_classgridfire_1_1_defined_engine_view" id="r_abfee22688617ffe91c69be93049c89b3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_defined_engine_view.html#abfee22688617ffe91c69be93049c89b3">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||||
<tr class="memdesc:abfee22688617ffe91c69be93049c89b3 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
|
||||
<tr class="separator:abfee22688617ffe91c69be93049c89b3 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a72789c1c3379594b65b560da50192de2 inherit pub_methods_classgridfire_1_1_defined_engine_view" id="r_a72789c1c3379594b65b560da50192de2"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_defined_engine_view.html#a72789c1c3379594b65b560da50192de2">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) const override</td></tr>
|
||||
<tr class="memdesc:a72789c1c3379594b65b560da50192de2 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br /></td></tr>
|
||||
<tr class="separator:a72789c1c3379594b65b560da50192de2 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a13033abd3b44904f98b58c93e22da460 inherit pub_methods_classgridfire_1_1_defined_engine_view" id="r_a13033abd3b44904f98b58c93e22da460"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_defined_engine_view.html#a13033abd3b44904f98b58c93e22da460">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:a13033abd3b44904f98b58c93e22da460 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
|
||||
<tr class="separator:a13033abd3b44904f98b58c93e22da460 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_dynamic_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_dynamic_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></td></tr>
|
||||
<tr class="memitem:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a818d942efa843959393e4eed3263b7e7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7">generateJacobianMatrix</a> (const std::vector< double > &Y_dynamic, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &sparsityPattern) const</td></tr>
|
||||
<tr class="separator:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
|
||||
<tr class="memdesc:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
|
||||
<tr class="memdesc:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||||
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -172,7 +172,7 @@ $(function(){initNavTree('classgridfire_1_1_graph_engine.html',''); initResizabl
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#a8d0c0bd54a2908cff62dae7af0c149b5">reserveJacobianMatrix</a>() const</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#a371ba0881d6903ddb2d586faa61805d0">setNetworkReactions</a>(const reaction::LogicalReactionSet &reactions) override</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#a6c5410878496abc349ba30b691cdf0f1">setPrecomputation</a>(bool precompute)</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f">setScreeningModel</a>(screening::ScreeningType) override</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#a9bc768ca8ca59d442c0d05cb04e36d7c">setScreeningModel</a>(screening::ScreeningType model) override</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#a409991d527ea4d4b05d1af907fe5d197">setUseReverseReactions</a>(bool useReverse)</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f">syncInternalMaps</a>()</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html#a5ac7cff23e70bd07ba7e510b753e2ab6">update</a>(const NetIn &netIn) override</td><td class="entry"><a class="el" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -191,37 +191,49 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a832e2fe066381811a3e0464806ff5e95" id="r_a832e2fe066381811a3e0464806ff5e95"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a832e2fe066381811a3e0464806ff5e95">exportToCSV</a> (const std::string &filename) const</td></tr>
|
||||
<tr class="memdesc:a832e2fe066381811a3e0464806ff5e95"><td class="mdescLeft"> </td><td class="mdescRight">Exports the network to a CSV file for analysis. <br /></td></tr>
|
||||
<tr class="separator:a832e2fe066381811a3e0464806ff5e95"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8110e687844f921438bb517e1d8ce62f" id="r_a8110e687844f921438bb517e1d8ce62f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8110e687844f921438bb517e1d8ce62f">setScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a>) override</td></tr>
|
||||
<tr class="memdesc:a8110e687844f921438bb517e1d8ce62f"><td class="mdescLeft"> </td><td class="mdescRight">Set the electron screening model. <br /></td></tr>
|
||||
<tr class="separator:a8110e687844f921438bb517e1d8ce62f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9bc768ca8ca59d442c0d05cb04e36d7c" id="r_a9bc768ca8ca59d442c0d05cb04e36d7c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9bc768ca8ca59d442c0d05cb04e36d7c">setScreeningModel</a> (<a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> model) override</td></tr>
|
||||
<tr class="memdesc:a9bc768ca8ca59d442c0d05cb04e36d7c"><td class="mdescLeft"> </td><td class="mdescRight">Sets the electron screening model for reaction rate calculations. <br /></td></tr>
|
||||
<tr class="separator:a9bc768ca8ca59d442c0d05cb04e36d7c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a697f2004e0d02c59e83c7890742d7c9a" id="r_a697f2004e0d02c59e83c7890742d7c9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a697f2004e0d02c59e83c7890742d7c9a">getScreeningModel</a> () const override</td></tr>
|
||||
<tr class="memdesc:a697f2004e0d02c59e83c7890742d7c9a"><td class="mdescLeft"> </td><td class="mdescRight">Get the current electron screening model. <br /></td></tr>
|
||||
<tr class="memdesc:a697f2004e0d02c59e83c7890742d7c9a"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current electron screening model. <br /></td></tr>
|
||||
<tr class="separator:a697f2004e0d02c59e83c7890742d7c9a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6c5410878496abc349ba30b691cdf0f1" id="r_a6c5410878496abc349ba30b691cdf0f1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6c5410878496abc349ba30b691cdf0f1">setPrecomputation</a> (bool precompute)</td></tr>
|
||||
<tr class="memdesc:a6c5410878496abc349ba30b691cdf0f1"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether to precompute reaction rates. <br /></td></tr>
|
||||
<tr class="separator:a6c5410878496abc349ba30b691cdf0f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a015f8975701f028c29835d3a9794e00f" id="r_a015f8975701f028c29835d3a9794e00f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a015f8975701f028c29835d3a9794e00f">isPrecomputationEnabled</a> () const</td></tr>
|
||||
<tr class="memdesc:a015f8975701f028c29835d3a9794e00f"><td class="mdescLeft"> </td><td class="mdescRight">Checks if precomputation of reaction rates is enabled. <br /></td></tr>
|
||||
<tr class="separator:a015f8975701f028c29835d3a9794e00f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:add98ece49ec5c538bddf3cc77004fe44" id="r_add98ece49ec5c538bddf3cc77004fe44"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1partition_1_1_partition_function.html">partition::PartitionFunction</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#add98ece49ec5c538bddf3cc77004fe44">getPartitionFunction</a> () const</td></tr>
|
||||
<tr class="memdesc:add98ece49ec5c538bddf3cc77004fe44"><td class="mdescLeft"> </td><td class="mdescRight">Gets the partition function used for reaction rate calculations. <br /></td></tr>
|
||||
<tr class="separator:add98ece49ec5c538bddf3cc77004fe44"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0b7b85f824e1021ae6e56b644db53b28" id="r_a0b7b85f824e1021ae6e56b644db53b28"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0b7b85f824e1021ae6e56b644db53b28">calculateReverseRate</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &reaction, double T9) const</td></tr>
|
||||
<tr class="memdesc:a0b7b85f824e1021ae6e56b644db53b28"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the reverse rate for a given reaction. <br /></td></tr>
|
||||
<tr class="separator:a0b7b85f824e1021ae6e56b644db53b28"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a01fc9fd5d576b66d07360d05e821c755" id="r_a01fc9fd5d576b66d07360d05e821c755"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a01fc9fd5d576b66d07360d05e821c755">calculateReverseRateTwoBody</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &reaction, const double T9, const double forwardRate, const double expFactor) const</td></tr>
|
||||
<tr class="memdesc:a01fc9fd5d576b66d07360d05e821c755"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the reverse rate for a two-body reaction. <br /></td></tr>
|
||||
<tr class="separator:a01fc9fd5d576b66d07360d05e821c755"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af28950c5af3a92eb03a1a64ed0f913e7" id="r_af28950c5af3a92eb03a1a64ed0f913e7"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#af28950c5af3a92eb03a1a64ed0f913e7">calculateReverseRateTwoBodyDerivative</a> (const <a class="el" href="classgridfire_1_1reaction_1_1_reaction.html">reaction::Reaction</a> &reaction, const double T9, const double reverseRate) const</td></tr>
|
||||
<tr class="separator:af28950c5af3a92eb03a1a64ed0f913e7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae7a210d9ab13ad5fb0c612f027acabd0" id="r_ae7a210d9ab13ad5fb0c612f027acabd0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae7a210d9ab13ad5fb0c612f027acabd0">isUsingReverseReactions</a> () const</td></tr>
|
||||
<tr class="memdesc:ae7a210d9ab13ad5fb0c612f027acabd0"><td class="mdescLeft"> </td><td class="mdescRight">Checks if reverse reactions are enabled. <br /></td></tr>
|
||||
<tr class="separator:ae7a210d9ab13ad5fb0c612f027acabd0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a409991d527ea4d4b05d1af907fe5d197" id="r_a409991d527ea4d4b05d1af907fe5d197"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a409991d527ea4d4b05d1af907fe5d197">setUseReverseReactions</a> (bool useReverse)</td></tr>
|
||||
<tr class="memdesc:a409991d527ea4d4b05d1af907fe5d197"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether to use reverse reactions in the engine. <br /></td></tr>
|
||||
<tr class="separator:a409991d527ea4d4b05d1af907fe5d197"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a914f6abc61805cddaebcb8f3cf470dda" id="r_a914f6abc61805cddaebcb8f3cf470dda"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a914f6abc61805cddaebcb8f3cf470dda">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||||
<tr class="memdesc:a914f6abc61805cddaebcb8f3cf470dda"><td class="mdescLeft"> </td><td class="mdescRight">Gets the index of a species in the network. <br /></td></tr>
|
||||
<tr class="separator:a914f6abc61805cddaebcb8f3cf470dda"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a27f3a928e1f6bbe7e847cffed6db729f" id="r_a27f3a928e1f6bbe7e847cffed6db729f"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a27f3a928e1f6bbe7e847cffed6db729f">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) const override</td></tr>
|
||||
<tr class="memdesc:a27f3a928e1f6bbe7e847cffed6db729f"><td class="mdescLeft"> </td><td class="mdescRight">Maps the <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br /></td></tr>
|
||||
<tr class="separator:a27f3a928e1f6bbe7e847cffed6db729f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae7a371be61ab09b3fa4a93f05bd44e5e" id="r_ae7a371be61ab09b3fa4a93f05bd44e5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae7a371be61ab09b3fa4a93f05bd44e5e">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:ae7a371be61ab09b3fa4a93f05bd44e5e"><td class="mdescLeft"> </td><td class="mdescRight">Prepares the engine for calculations with initial conditions. <br /></td></tr>
|
||||
<tr class="separator:ae7a371be61ab09b3fa4a93f05bd44e5e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a166a5f4349580f9aa0b930afec73fcc4" id="r_a166a5f4349580f9aa0b930afec73fcc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a166a5f4349580f9aa0b930afec73fcc4">getDepth</a> () const override</td></tr>
|
||||
<tr class="memdesc:a166a5f4349580f9aa0b930afec73fcc4"><td class="mdescLeft"> </td><td class="mdescRight">Gets the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:a166a5f4349580f9aa0b930afec73fcc4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad9d6c70ace5cbbf7f3aa7b31fce39490" id="r_ad9d6c70ace5cbbf7f3aa7b31fce39490"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad9d6c70ace5cbbf7f3aa7b31fce39490">rebuild</a> (const fourdst::composition::Composition &comp, const <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth) override</td></tr>
|
||||
<tr class="memdesc:ad9d6c70ace5cbbf7f3aa7b31fce39490"><td class="mdescLeft"> </td><td class="mdescRight">Rebuilds the reaction network based on a new composition. <br /></td></tr>
|
||||
<tr class="separator:ad9d6c70ace5cbbf7f3aa7b31fce39490"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
@@ -845,6 +857,17 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Calculates the reverse rate for a given reaction. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">reaction</td><td>The reaction for which to calculate the reverse rate. </td></tr>
|
||||
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Reverse rate for the reaction (e.g., mol/g/s).</dd></dl>
|
||||
<p>This method computes the reverse rate based on the forward rate and thermodynamic properties of the reaction. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a01fc9fd5d576b66d07360d05e821c755" name="a01fc9fd5d576b66d07360d05e821c755"></a>
|
||||
@@ -884,6 +907,19 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Calculates the reverse rate for a two-body reaction. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">reaction</td><td>The reaction for which to calculate the reverse rate. </td></tr>
|
||||
<tr><td class="paramname">T9</td><td>Temperature in units of 10^9 K. </td></tr>
|
||||
<tr><td class="paramname">forwardRate</td><td>The forward rate of the reaction. </td></tr>
|
||||
<tr><td class="paramname">expFactor</td><td>Exponential factor for the reaction. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Reverse rate for the two-body reaction (e.g., mol/g/s).</dd></dl>
|
||||
<p>This method computes the reverse rate using the forward rate and thermodynamic properties of the reaction. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af28950c5af3a92eb03a1a64ed0f913e7" name="af28950c5af3a92eb03a1a64ed0f913e7"></a>
|
||||
@@ -1230,6 +1266,10 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Gets the depth of the network. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The build depth of the network.</dd></dl>
|
||||
<p>This method returns the current build depth of the reaction network, which indicates how many levels of reactions are included in the network. </p>
|
||||
|
||||
<p>Reimplemented from <a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1394,6 +1434,10 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Gets the partition function used for reaction rate calculations. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Reference to the PartitionFunction object.</dd></dl>
|
||||
<p>This method provides access to the partition function used in the engine, which is essential for calculating thermodynamic properties and reaction rates. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a697f2004e0d02c59e83c7890742d7c9a" name="a697f2004e0d02c59e83c7890742d7c9a"></a>
|
||||
@@ -1419,12 +1463,11 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the current electron screening model. </p>
|
||||
<p>Gets the current electron screening model. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The currently active screening model type.</dd></dl>
|
||||
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><a class="code hl_enumeration" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> currentModel = myEngine.getScreeningModel();</div>
|
||||
<p>Example usage: </p><div class="fragment"><div class="line"><a class="code hl_enumeration" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">screening::ScreeningType</a> currentModel = engine.getScreeningModel();</div>
|
||||
<div class="ttc" id="anamespacegridfire_1_1screening_html_aa82aafbc4f8c28d0a75b60798e3a7d25"><div class="ttname"><a href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25">gridfire::screening::ScreeningType</a></div><div class="ttdeci">ScreeningType</div><div class="ttdoc">Enumerates the available plasma screening models.</div><div class="ttdef"><b>Definition</b> screening_types.h:15</div></div>
|
||||
</div><!-- fragment --> </dd></dl>
|
||||
|
||||
</div><!-- fragment -->
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1488,6 +1531,16 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Gets the index of a species in the network. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">species</td><td>The species for which to get the index. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Index of the species in the network, or -1 if not found.</dd></dl>
|
||||
<p>This method returns the index of the given species in the network's species vector. If the species is not found, it returns -1. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1640,6 +1693,10 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Checks if precomputation of reaction rates is enabled. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>True if precomputation is enabled, false otherwise.</dd></dl>
|
||||
<p>This method allows checking the current state of precomputation for reaction rates in the engine. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af04a9f8a629d6f6c58c477af0f1ab9e5" name="af04a9f8a629d6f6c58c477af0f1ab9e5"></a>
|
||||
@@ -1692,6 +1749,10 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Checks if reverse reactions are enabled. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>True if reverse reactions are enabled, false otherwise.</dd></dl>
|
||||
<p>This method allows checking whether the engine is configured to use reverse reactions in its calculations. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a27f3a928e1f6bbe7e847cffed6db729f" name="a27f3a928e1f6bbe7e847cffed6db729f"></a>
|
||||
@@ -1717,6 +1778,16 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Maps the <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object containing the input conditions. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Vector of molar abundances corresponding to the species in the network.</dd></dl>
|
||||
<p>This method converts the <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object into a vector of molar abundances for each species in the network, which can be used for further calculations. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1825,6 +1896,16 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Prepares the engine for calculations with initial conditions. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">netIn</td><td>The input conditions for the network. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structgridfire_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a> containing information about the priming process.</dd></dl>
|
||||
<p>This method initializes the engine with the provided input conditions, setting up reactions, species, and precomputing necessary data. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1856,6 +1937,16 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Rebuilds the reaction network based on a new composition. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">comp</td><td>The new composition to use for rebuilding the network. </td></tr>
|
||||
<tr><td class="paramname">depth</td><td>The build depth to use for the network.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method rebuilds the reaction network using the provided composition and build depth. It updates all internal data structures accordingly. </p>
|
||||
|
||||
<p>Reimplemented from <a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
</div>
|
||||
@@ -1964,10 +2055,19 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Sets whether to precompute reaction rates. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">precompute</td><td>True to enable precomputation, false to disable.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method allows enabling or disabling precomputation of reaction rates for performance optimization. When enabled, reaction rates are computed once and stored for later use. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8110e687844f921438bb517e1d8ce62f" name="a8110e687844f921438bb517e1d8ce62f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8110e687844f921438bb517e1d8ce62f">◆ </a></span>setScreeningModel()</h2>
|
||||
<a id="a9bc768ca8ca59d442c0d05cb04e36d7c" name="a9bc768ca8ca59d442c0d05cb04e36d7c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a9bc768ca8ca59d442c0d05cb04e36d7c">◆ </a></span>setScreeningModel()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -1989,18 +2089,14 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Set the electron screening model. </p>
|
||||
<p>Sets the electron screening model for reaction rate calculations. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">model</td><td>The type of screening model to use for reaction rate calculations.</td></tr>
|
||||
<tr><td class="paramname">model</td><td>The type of screening model to use.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method allows changing the screening model at runtime. Screening corrections account for the electrostatic shielding of nuclei by electrons, which affects reaction rates in dense stellar plasmas. </p>
|
||||
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line">myEngine.setScreeningModel(<a class="code hl_enumvalue" href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8">screening::ScreeningType::WEAK</a>);</div>
|
||||
<div class="ttc" id="anamespacegridfire_1_1screening_html_aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8"><div class="ttname"><a href="namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8">gridfire::screening::ScreeningType::WEAK</a></div><div class="ttdeci">@ WEAK</div><div class="ttdoc">Weak screening model (Salpeter, 1954).</div><div class="ttdef"><b>Definition</b> screening_types.h:35</div></div>
|
||||
</div><!-- fragment --></dd></dl>
|
||||
<dl class="section post"><dt>Postcondition</dt><dd>The engine will use the specified screening model for subsequent rate calculations. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -2021,6 +2117,15 @@ template<IsArithmeticOrAD T> </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Sets whether to use reverse reactions in the engine. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">useReverse</td><td>True to enable reverse reactions, false to disable.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This method allows enabling or disabling reverse reactions in the engine. If disabled, only forward reactions will be considered in calculations. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="acdce8d87e23a2cd1504bc9472e538c0f" name="acdce8d87e23a2cd1504bc9472e538c0f"></a>
|
||||
|
||||
@@ -49,7 +49,7 @@ var classgridfire_1_1_graph_engine =
|
||||
[ "reserveJacobianMatrix", "classgridfire_1_1_graph_engine.html#a8d0c0bd54a2908cff62dae7af0c149b5", null ],
|
||||
[ "setNetworkReactions", "classgridfire_1_1_graph_engine.html#a371ba0881d6903ddb2d586faa61805d0", null ],
|
||||
[ "setPrecomputation", "classgridfire_1_1_graph_engine.html#a6c5410878496abc349ba30b691cdf0f1", null ],
|
||||
[ "setScreeningModel", "classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f", null ],
|
||||
[ "setScreeningModel", "classgridfire_1_1_graph_engine.html#a9bc768ca8ca59d442c0d05cb04e36d7c", null ],
|
||||
[ "setUseReverseReactions", "classgridfire_1_1_graph_engine.html#a409991d527ea4d4b05d1af907fe5d197", null ],
|
||||
[ "syncInternalMaps", "classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f", null ],
|
||||
[ "update", "classgridfire_1_1_graph_engine.html#a5ac7cff23e70bd07ba7e510b753e2ab6", null ],
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -228,8 +228,10 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a818d942efa843959393e4eed3263b7e7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7">generateJacobianMatrix</a> (const std::vector< double > &Y_dynamic, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &sparsityPattern) const</td></tr>
|
||||
<tr class="separator:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
|
||||
<tr class="memdesc:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
|
||||
<tr class="memdesc:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||||
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
@@ -308,14 +310,15 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>An engine view that partitions the reaction network into multiple groups based on timescales. </p>
|
||||
<p>@purpose This class is designed to accelerate the integration of stiff nuclear reaction networks. It identifies species that react on very short timescales ("fast" species) and treats them as being in Quasi-Steady-State Equilibrium (QSE). Their abundances are solved for algebraically, removing their stiff differential equations from the system. The remaining "slow" or "dynamic" species are integrated normally. This significantly improves the stability and performance of the solver.</p>
|
||||
<p>@how The core logic resides in the <code><a class="el" href="#a7d26945df5395b9317552a3989c42d1c" title="Partitions the network into dynamic and algebraic (QSE) groups based on timescales.">partitionNetwork()</a></code> and <code><a class="el" href="#a4bc879246c6fbd8633b05052858df51d" title="Equilibrates the network by partitioning and solving for QSE abundances.">equilibrateNetwork()</a></code> methods. The partitioning process involves:</p><ol type="1">
|
||||
<dl class="section user"><dt>Purpose</dt><dd>This class is designed to accelerate the integration of stiff nuclear reaction networks. It identifies species that react on very short timescales ("fast" species) and treats them as being in Quasi-Steady-State Equilibrium (QSE). Their abundances are solved for algebraically, removing their stiff differential equations from the system. The remaining "slow" or "dynamic" species are integrated normally. This significantly improves the stability and performance of the solver.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>The core logic resides in the <code><a class="el" href="#a7d26945df5395b9317552a3989c42d1c" title="Partitions the network into dynamic and algebraic (QSE) groups based on timescales.">partitionNetwork()</a></code> and <code><a class="el" href="#a4bc879246c6fbd8633b05052858df51d" title="Equilibrates the network by partitioning and solving for QSE abundances.">equilibrateNetwork()</a></code> methods. The partitioning process involves:<ol type="1">
|
||||
<li><b>Timescale Analysis:</b> Using <code>getSpeciesDestructionTimescales</code> from the base engine, all species are sorted by their characteristic timescales.</li>
|
||||
<li><b>Gap Detection:</b> The sorted list of timescales is scanned for large gaps (e.g., several orders of magnitude) to create distinct "timescale pools".</li>
|
||||
<li><b>Connectivity Analysis:</b> Each pool is analyzed for internal reaction connectivity to form cohesive groups.</li>
|
||||
<li><b>Flux Validation:</b> Candidate QSE groups are validated by comparing the total reaction flux <em>within</em> the group to the flux <em>leaving</em> the group. A high internal-to-external flux ratio indicates a valid QSE group.</li>
|
||||
<li><b>QSE Solve:</b> For valid QSE groups, <code>solveQSEAbundances</code> uses a Levenberg-Marquardt nonlinear solver (<code>Eigen::LevenbergMarquardt</code>) to find the equilibrium abundances of the "algebraic" species, holding the "seed" species constant.</li>
|
||||
</ol>
|
||||
</dd></dl>
|
||||
<p>All calculations are cached using <code><a class="el" href="structgridfire_1_1_q_s_e_cache_key.html" title="Key struct for the QSE abundance cache.">QSECacheKey</a></code> to avoid re-partitioning and re-solving for similar thermodynamic conditions.</p>
|
||||
<dl class="section user"><dt>Usage Example:</dt><dd><div class="fragment"><div class="line"><span class="comment">// 1. Create a base engine (e.g., GraphEngine)</span></div>
|
||||
<div class="line"><a class="code hl_class" href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a> baseEngine(composition);</div>
|
||||
@@ -333,7 +336,7 @@ Private Attributes</h2></td></tr>
|
||||
<div class="line"><span class="keyword">auto</span> Y_initial = multiscaleEngine.mapNetInToMolarAbundanceVector({equilibratedComp, ...});</div>
|
||||
<div class="line"><span class="keyword">auto</span> derivatives = multiscaleEngine.calculateRHSAndEnergy(Y_initial, T9, rho);</div>
|
||||
<div class="ttc" id="aclassgridfire_1_1_graph_engine_html"><div class="ttname"><a href="classgridfire_1_1_graph_engine.html">gridfire::GraphEngine</a></div><div class="ttdoc">A reaction network engine that uses a graph-based representation.</div><div class="ttdef"><b>Definition</b> engine_graph.h:100</div></div>
|
||||
<div class="ttc" id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html"><div class="ttname"><a href="classgridfire_1_1_multiscale_partitioning_engine_view.html">gridfire::MultiscalePartitioningEngineView</a></div><div class="ttdoc">An engine view that partitions the reaction network into multiple groups based on timescales.</div><div class="ttdef"><b>Definition</b> engine_multiscale.h:174</div></div>
|
||||
<div class="ttc" id="aclassgridfire_1_1_multiscale_partitioning_engine_view_html"><div class="ttname"><a href="classgridfire_1_1_multiscale_partitioning_engine_view.html">gridfire::MultiscalePartitioningEngineView</a></div><div class="ttdoc">An engine view that partitions the reaction network into multiple groups based on timescales.</div><div class="ttdef"><b>Definition</b> engine_multiscale.h:182</div></div>
|
||||
<div class="ttc" id="astructgridfire_1_1_net_in_html"><div class="ttname"><a href="structgridfire_1_1_net_in.html">gridfire::NetIn</a></div><div class="ttdef"><b>Definition</b> network.h:53</div></div>
|
||||
</div><!-- fragment --></dd></dl>
|
||||
<p><DynamicEngine> </p>
|
||||
@@ -438,8 +441,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of vectors of species indices, where each inner vector represents a single connected component.</dd></dl>
|
||||
<p>@purpose To merge timescale pools that are strongly connected by reactions, forming cohesive groups for QSE analysis.</p>
|
||||
<p>@how For each pool, it builds a reaction connectivity graph using <code>buildConnectivityGraph</code>. It then finds the connected components within that graph using a Breadth-First Search (BFS). The resulting components from all pools are collected and returned. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To merge timescale pools that are strongly connected by reactions, forming cohesive groups for QSE analysis.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>For each pool, it builds a reaction connectivity graph using <code>buildConnectivityGraph</code>. It then finds the connected components within that graph using a Breadth-First Search (BFS). The resulting components from all pools are collected and returned. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -474,8 +477,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>An unordered map representing the adjacency list of the connectivity graph, where keys are species indices and values are vectors of connected species indices.</dd></dl>
|
||||
<p>@purpose To represent the reaction pathways among a subset of reactions.</p>
|
||||
<p>@how It iterates through the specified fast reactions. For each reaction, it creates a two-way edge in the graph between every reactant and every product, signifying that mass can flow between them. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To represent the reaction pathways among a subset of reactions.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It iterates through the specified fast reactions. For each reaction, it creates a two-way edge in the graph between every reactant and every product, signifying that mass can flow between them. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -510,8 +513,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>An unordered map representing the adjacency list of the connectivity graph.</dd></dl>
|
||||
<p>@purpose To find reaction connections within a specific group of species.</p>
|
||||
<p>@how It iterates through all reactions in the base engine. If a reaction involves at least two distinct species from the input <code>species_pool</code> (one as a reactant and one as a product), it adds edges between all reactants and products from that reaction that are also in the pool. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To find reaction connections within a specific group of species.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It iterates through all reactions in the base engine. If a reaction involves at least two distinct species from the input <code>species_pool</code> (one as a reactant and one as a product), it adds edges between all reactants and products from that reaction that are also in the pool. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -563,8 +566,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Molar flow rate for the reaction (e.g., mol/g/s).</dd></dl>
|
||||
<p>@purpose To compute the net rate of a single reaction.</p>
|
||||
<p>@how It first checks the QSE cache. On a hit, it retrieves the cached equilibrium abundances for the algebraic species. It creates a mutable copy of <code>Y_full</code>, overwrites the algebraic species abundances with the cached equilibrium values, and then calls the base engine's <code>calculateMolarReactionFlow</code> with this modified abundance vector.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To compute the net rate of a single reaction.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It first checks the QSE cache. On a hit, it retrieves the cached equilibrium abundances for the algebraic species. It creates a mutable copy of <code>Y_full</code>, overwrites the algebraic species abundances with the cached equilibrium values, and then calls the base engine's <code>calculateMolarReactionFlow</code> with this modified abundance vector.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
@@ -619,8 +622,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A <code>std::expected</code> containing <code><a class="el" href="structgridfire_1_1_step_derivatives.html" title="Structure holding derivatives and energy generation for a network step.">StepDerivatives</a><double></code> on success, or a <code>StaleEngineError</code> if the engine's QSE cache does not contain a solution for the given state.</dd></dl>
|
||||
<p>@purpose To compute the time derivatives for the ODE solver. This implementation modifies the derivatives from the base engine to enforce the QSE condition.</p>
|
||||
<p>@how It first performs a lookup in the QSE abundance cache (<code>m_qse_abundance_cache</code>). If a cache hit occurs, it calls the base engine's <code>calculateRHSAndEnergy</code>. It then manually sets the time derivatives (<code>dydt</code>) of all identified algebraic species to zero, effectively removing their differential equations from the system being solved.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To compute the time derivatives for the ODE solver. This implementation modifies the derivatives from the base engine to enforce the QSE condition.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It first performs a lookup in the QSE abundance cache (<code>m_qse_abundance_cache</code>). If a cache hit occurs, it calls the base engine's <code>calculateRHSAndEnergy</code>. It then manually sets the time derivatives (<code>dydt</code>) of all identified algebraic species to zero, effectively removing their differential equations from the system being solved.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have been updated via <code><a class="el" href="#a6bee75b5a6e508e6eebf83f0d48c50b8" title="Updates the internal state of the engine, performing partitioning and QSE equilibration.">update()</a></code> or <code><a class="el" href="#a4bc879246c6fbd8633b05052858df51d" title="Equilibrates the network by partitioning and solving for QSE abundances.">equilibrateNetwork()</a></code> for the current thermodynamic conditions, so that a valid entry exists in the QSE cache. </dd></dl>
|
||||
<dl class="section post"><dt>Postcondition</dt><dd>The returned derivatives will have <code>dydt=0</code> for all algebraic species.</dd></dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
@@ -682,7 +685,7 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of <code><a class="el" href="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html" title="Struct representing a QSE group.">QSEGroup</a></code> structs, ready for flux validation.</dd></dl>
|
||||
<p>@how For each input pool, it identifies "bridge" reactions that connect the pool to species outside the pool. The reactants of these bridge reactions that are <em>not</em> in the pool are identified as "seed" species. The original pool members are the "algebraic" species. It then bundles the seed and algebraic species into a <code><a class="el" href="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html" title="Struct representing a QSE group.">QSEGroup</a></code> struct.</p>
|
||||
<dl class="section user"><dt>How</dt><dd>For each input pool, it identifies "bridge" reactions that connect the pool to species outside the pool. The reactants of these bridge reactions that are <em>not</em> in the pool are identified as "seed" species. The original pool members are the "algebraic" species. It then bundles the seed and algebraic species into a <code><a class="el" href="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html" title="Struct representing a QSE group.">QSEGroup</a></code> struct.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The <code>candidate_pools</code> should be connected components from <code>analyzeTimescalePoolConnectivity</code>. </dd></dl>
|
||||
<dl class="section post"><dt>Postcondition</dt><dd>A list of candidate <code><a class="el" href="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html" title="Struct representing a QSE group.">QSEGroup</a></code> objects is returned. </dd></dl>
|
||||
|
||||
@@ -711,8 +714,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The equilibrated composition.</dd></dl>
|
||||
<p>@purpose A convenience overload for <code>equilibrateNetwork</code>.</p>
|
||||
<p>@how It unpacks the <code>netIn</code> struct into <code>Y</code>, <code>T9</code>, and <code>rho</code> and then calls the primary <code>equilibrateNetwork</code> method. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>A convenience overload for <code>equilibrateNetwork</code>.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It unpacks the <code>netIn</code> struct into <code>Y</code>, <code>T9</code>, and <code>rho</code> and then calls the primary <code>equilibrateNetwork</code> method. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -750,8 +753,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A new composition object with the equilibrated abundances.</dd></dl>
|
||||
<p>@purpose A convenience method to run the full QSE analysis and get an equilibrated composition object as a result.</p>
|
||||
<p>@how It first calls <code><a class="el" href="#a7d26945df5395b9317552a3989c42d1c" title="Partitions the network into dynamic and algebraic (QSE) groups based on timescales.">partitionNetwork()</a></code> with the given state to define the QSE groups. Then, it calls <code><a class="el" href="#a3c5fcb8e3396d74359fd601554c9ffa9" title="Solves for the QSE abundances of the algebraic species in a given state.">solveQSEAbundances()</a></code> to compute the new equilibrium abundances for the algebraic species. Finally, it packs the resulting full abundance vector into a new <code>fourdst::composition::Composition</code> object and returns it.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>A convenience method to run the full QSE analysis and get an equilibrated composition object as a result.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It first calls <code><a class="el" href="#a7d26945df5395b9317552a3989c42d1c" title="Partitions the network into dynamic and algebraic (QSE) groups based on timescales.">partitionNetwork()</a></code> with the given state to define the QSE groups. Then, it calls <code><a class="el" href="#a3c5fcb8e3396d74359fd601554c9ffa9" title="Solves for the QSE abundances of the algebraic species in a given state.">solveQSEAbundances()</a></code> to compute the new equilibrium abundances for the algebraic species. Finally, it packs the resulting full abundance vector into a new <code>fourdst::composition::Composition</code> object and returns it.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The input state (Y, T9, rho) must be a valid physical state. </dd></dl>
|
||||
<dl class="section post"><dt>Postcondition</dt><dd>The engine's internal partition is updated. A new composition object is returned. </dd></dl>
|
||||
|
||||
@@ -796,8 +799,8 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>@purpose To visualize the partitioned network graph.</p>
|
||||
<p>@how This method delegates the DOT file export to the base engine. It does not currently add any partitioning information to the output graph. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To visualize the partitioned network graph.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates the DOT file export to the base engine. It does not currently add any partitioning information to the output graph. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -842,8 +845,8 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>@purpose To compute the Jacobian matrix required by implicit ODE solvers.</p>
|
||||
<p>@how It first performs a QSE cache lookup. On a hit, it delegates the full Jacobian calculation to the base engine. While this view could theoretically return a modified, sparser Jacobian reflecting the QSE constraints, the current implementation returns the full Jacobian from the base engine. The solver is expected to handle the algebraic constraints (e.g., via <code>dydt=0</code> from <code>calculateRHSAndEnergy</code>).</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To compute the Jacobian matrix required by implicit ODE solvers.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It first performs a QSE cache lookup. On a hit, it delegates the full Jacobian calculation to the base engine. While this view could theoretically return a modified, sparser Jacobian reflecting the QSE constraints, the current implementation returns the full Jacobian from the base engine. The solver is expected to handle the algebraic constraints (e.g., via <code>dydt=0</code> from <code>calculateRHSAndEnergy</code>).</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||||
<dl class="section post"><dt>Postcondition</dt><dd>The base engine's internal Jacobian is updated.</dd></dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
@@ -881,8 +884,8 @@ Private Attributes</h2></td></tr>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Generates the stoichiometry matrix for the network. </p>
|
||||
<p>@purpose To prepare the stoichiometry matrix for later queries.</p>
|
||||
<p>@how This method delegates directly to the base engine's <code><a class="el" href="#abe76a46784b1ebc8ad67a9eec40d369a" title="Generates the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a></code>. The stoichiometry is based on the full, unpartitioned network. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To prepare the stoichiometry matrix for later queries.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="#abe76a46784b1ebc8ad67a9eec40d369a" title="Generates the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a></code>. The stoichiometry is based on the full, unpartitioned network. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -943,8 +946,8 @@ Private Attributes</h2></td></tr>
|
||||
|
||||
<p>Gets the dynamic species in the network. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A const reference to the vector of species identified as "dynamic" or "slow".</dd></dl>
|
||||
<p>@purpose To allow external queries of the partitioning results.</p>
|
||||
<p>@how It returns a const reference to the <code>m_dynamic_species</code> member vector.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To allow external queries of the partitioning results.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It returns a const reference to the <code>m_dynamic_species</code> member vector.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="#a7d26945df5395b9317552a3989c42d1c" title="Partitions the network into dynamic and algebraic (QSE) groups based on timescales.">partitionNetwork()</a></code> must have been called. </dd></dl>
|
||||
|
||||
</div>
|
||||
@@ -974,8 +977,8 @@ Private Attributes</h2></td></tr>
|
||||
|
||||
<p>Gets the fast species in the network. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of species identified as "fast" or "algebraic" by the partitioning.</dd></dl>
|
||||
<p>@purpose To allow external queries of the partitioning results.</p>
|
||||
<p>@how It returns a copy of the <code>m_algebraic_species</code> member vector.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To allow external queries of the partitioning results.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It returns a copy of the <code>m_algebraic_species</code> member vector.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="#a7d26945df5395b9317552a3989c42d1c" title="Partitions the network into dynamic and algebraic (QSE) groups based on timescales.">partitionNetwork()</a></code> must have been called. </dd></dl>
|
||||
|
||||
</div>
|
||||
@@ -1016,8 +1019,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Value of the Jacobian matrix at (i_full, j_full).</dd></dl>
|
||||
<p>@purpose To provide Jacobian entries to an implicit solver.</p>
|
||||
<p>@how This method directly delegates to the base engine's <code>getJacobianMatrixEntry</code>. It does not currently modify the Jacobian to reflect the QSE algebraic constraints, as these are handled by setting <code>dY/dt = 0</code> in <code>calculateRHSAndEnergy</code>.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To provide Jacobian entries to an implicit solver.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>This method directly delegates to the base engine's <code>getJacobianMatrixEntry</code>. It does not currently modify the Jacobian to reflect the QSE algebraic constraints, as these are handled by setting <code>dY/dt = 0</code> in <code>calculateRHSAndEnergy</code>.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="#acdf5ad8765290ea2b78170235aea391d" title="Generates the Jacobian matrix for the current state.">generateJacobianMatrix()</a></code> must have been called for the current state. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07">gridfire::DynamicEngine</a>.</p>
|
||||
@@ -1109,7 +1112,7 @@ Private Attributes</h2></td></tr>
|
||||
|
||||
<p>Gets the current electron screening model. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The currently active screening model type.</dd></dl>
|
||||
<p>@how This method delegates directly to the base engine's <code><a class="el" href="#a7bfb4e6fec2f337a1dea69e3d4f1fc82" title="Gets the current electron screening model.">getScreeningModel()</a></code>. </p>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="#a7bfb4e6fec2f337a1dea69e3d4f1fc82" title="Gets the current electron screening model.">getScreeningModel()</a></code>. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -1157,8 +1160,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A <code>std::expected</code> containing a map from <code>Species</code> to their characteristic destruction timescales (s) on success, or a <code>StaleEngineError</code> on failure.</dd></dl>
|
||||
<p>@purpose To get the timescale for species destruction, which is used as the primary metric for network partitioning.</p>
|
||||
<p>@how It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To get the timescale for species destruction, which is used as the primary metric for network partitioning.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
@@ -1202,7 +1205,7 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The index of the species in the base engine's network.</dd></dl>
|
||||
<p>@how This method delegates directly to the base engine's <code><a class="el" href="#a91d32b7197fcb27ee697d5bfde960f3f" title="Gets the index of a species in the full network.">getSpeciesIndex()</a></code>. </p>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="#a91d32b7197fcb27ee697d5bfde960f3f" title="Gets the index of a species in the full network.">getSpeciesIndex()</a></code>. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#ad3d56a8b9161b9cc7f4da51f6bf7e8c9">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -1250,8 +1253,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A <code>std::expected</code> containing a map from <code>Species</code> to their characteristic timescales (s) on success, or a <code>StaleEngineError</code> on failure.</dd></dl>
|
||||
<p>@purpose To get the characteristic timescale <code>Y / (dY/dt)</code> for each species.</p>
|
||||
<p>@how It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0 to signify that they equilibrate instantaneously on the timescale of the solver.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To get the characteristic timescale <code>Y / (dY/dt)</code> for each species.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0 to signify that they equilibrate instantaneously on the timescale of the solver.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The engine must have a valid QSE cache entry for the given state. </dd></dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
@@ -1300,8 +1303,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Stoichiometric coefficient for the species in the reaction.</dd></dl>
|
||||
<p>@purpose To query the stoichiometric relationship between a species and a reaction.</p>
|
||||
<p>@how This method delegates directly to the base engine's <code><a class="el" href="#a510b920dea726aef859ac1f6d051807e" title="Gets an entry from the stoichiometry matrix.">getStoichiometryMatrixEntry()</a></code>.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To query the stoichiometric relationship between a species and a reaction.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="#a510b920dea726aef859ac1f6d051807e" title="Gets an entry from the stoichiometry matrix.">getStoichiometryMatrixEntry()</a></code>.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="#abe76a46784b1ebc8ad67a9eec40d369a" title="Generates the stoichiometry matrix for the network.">generateStoichiometryMatrix()</a></code> must have been called. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f">gridfire::DynamicEngine</a>.</p>
|
||||
@@ -1356,8 +1359,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The index of the pool with the largest (slowest) mean destruction timescale.</dd></dl>
|
||||
<p>@purpose To identify the core set of dynamic species that will not be part of any QSE group.</p>
|
||||
<p>@how It calculates the geometric mean of the destruction timescales for all species in each pool and returns the index of the pool with the maximum mean timescale. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To identify the core set of dynamic species that will not be part of any QSE group.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It calculates the geometric mean of the destruction timescales for all species in each pool and returns the index of the pool with the maximum mean timescale. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -1392,8 +1395,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the engine is stale, <code>false</code> otherwise.</dd></dl>
|
||||
<p>@purpose To determine if <code><a class="el" href="#a6bee75b5a6e508e6eebf83f0d48c50b8" title="Updates the internal state of the engine, performing partitioning and QSE equilibration.">update()</a></code> needs to be called.</p>
|
||||
<p>@how It creates a <code><a class="el" href="structgridfire_1_1_q_s_e_cache_key.html" title="Key struct for the QSE abundance cache.">QSECacheKey</a></code> from the <code>netIn</code> data and checks for its existence in the <code>m_qse_abundance_cache</code>. A cache miss indicates the engine is stale because it does not have a valid QSE partition for the current conditions. It also queries the base engine's <code><a class="el" href="#ae7847959fc5af2b83f5446dd73567b46" title="Checks if the engine's internal state is stale relative to the provided conditions.">isStale()</a></code> method. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To determine if <code><a class="el" href="#a6bee75b5a6e508e6eebf83f0d48c50b8" title="Updates the internal state of the engine, performing partitioning and QSE equilibration.">update()</a></code> needs to be called.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It creates a <code><a class="el" href="structgridfire_1_1_q_s_e_cache_key.html" title="Key struct for the QSE abundance cache.">QSECacheKey</a></code> from the <code>netIn</code> data and checks for its existence in the <code>m_qse_abundance_cache</code>. A cache miss indicates the engine is stale because it does not have a valid QSE partition for the current conditions. It also queries the base engine's <code><a class="el" href="#ae7847959fc5af2b83f5446dd73567b46" title="Checks if the engine's internal state is stale relative to the provided conditions.">isStale()</a></code> method. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a942e65ced17ca602482cc42e469d6398">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -1430,7 +1433,7 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances corresponding to the species order in the base engine.</dd></dl>
|
||||
<p>@how This method delegates directly to the base engine's <code><a class="el" href="#aada497e8df74a295fdf5df7d7cdf64e0" title="Maps a NetIn struct to a molar abundance vector for the full network.">mapNetInToMolarAbundanceVector()</a></code>. </p>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="#aada497e8df74a295fdf5df7d7cdf64e0" title="Maps a NetIn struct to a molar abundance vector for the full network.">mapNetInToMolarAbundanceVector()</a></code>. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a55f1b7e5ebe2840e1d7c54665ca5411a">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -1478,8 +1481,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of vectors of species indices, where each inner vector represents a timescale pool.</dd></dl>
|
||||
<p>@purpose To group species into "pools" based on their destruction timescales.</p>
|
||||
<p>@how It retrieves all species destruction timescales from the base engine, sorts them, and then iterates through the sorted list, creating a new pool whenever it detects a gap between consecutive timescales that is larger than a predefined threshold (e.g., a factor of 100). </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To group species into "pools" based on their destruction timescales.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It retrieves all species destruction timescales from the base engine, sorts them, and then iterates through the sorted list, creating a new pool whenever it detects a gap between consecutive timescales that is larger than a predefined threshold (e.g., a factor of 100). </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -1505,8 +1508,8 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>@purpose A convenience overload for <code>partitionNetwork</code>.</p>
|
||||
<p>@how It unpacks the <code>netIn</code> struct into <code>Y</code>, <code>T9</code>, and <code>rho</code> and then calls the primary <code>partitionNetwork</code> method. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>A convenience overload for <code>partitionNetwork</code>.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It unpacks the <code>netIn</code> struct into <code>Y</code>, <code>T9</code>, and <code>rho</code> and then calls the primary <code>partitionNetwork</code> method. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -1543,7 +1546,7 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>@purpose To perform the core partitioning logic that identifies which species are "fast" (and can be treated algebraically) and which are "slow" (and must be integrated dynamically).</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To perform the core partitioning logic that identifies which species are "fast" (and can be treated algebraically) and which are "slow" (and must be integrated dynamically).</dd></dl>
|
||||
<p>@how</p><ol type="1">
|
||||
<li><b><code>partitionByTimescale</code></b>: Gets species destruction timescales from the base engine, sorts them, and looks for large gaps to create timescale "pools".</li>
|
||||
<li><b><code>identifyMeanSlowestPool</code></b>: The pool with the slowest average timescale is designated as the core set of dynamic species.</li>
|
||||
@@ -1587,8 +1590,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A <code><a class="el" href="structgridfire_1_1_priming_report.html" title="Captures the result of a network priming operation.">PrimingReport</a></code> struct containing information about the priming process.</dd></dl>
|
||||
<p>@purpose To prepare the network for ignition or specific pathway studies.</p>
|
||||
<p>@how This method delegates directly to the base engine's <code><a class="el" href="#a05730ced13ac5331060ca011f0da6235" title="Primes the engine with a specific species.">primeEngine()</a></code>. The multiscale view does not currently interact with the priming process. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To prepare the network for ignition or specific pathway studies.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="#a05730ced13ac5331060ca011f0da6235" title="Primes the engine with a specific species.">primeEngine()</a></code>. The multiscale view does not currently interact with the priming process. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a21c34f59c080a853fafa38a25175124e">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -1624,8 +1627,8 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>@purpose To modify the reaction network.</p>
|
||||
<p>@how This operation is not supported by the <code><a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html" title="An engine view that partitions the reaction network into multiple groups based on timescales.">MultiscalePartitioningEngineView</a></code> as it would invalidate the partitioning logic. It logs a critical error and throws an exception. <a class="el" href="classgridfire_1_1_network.html">Network</a> modifications should be done on the base engine before it is wrapped by this view.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To modify the reaction network.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>This operation is not supported by the <code><a class="el" href="classgridfire_1_1_multiscale_partitioning_engine_view.html" title="An engine view that partitions the reaction network into multiple groups based on timescales.">MultiscalePartitioningEngineView</a></code> as it would invalidate the partitioning logic. It logs a critical error and throws an exception. <a class="el" href="classgridfire_1_1_network.html">Network</a> modifications should be done on the base engine before it is wrapped by this view.</dd></dl>
|
||||
<dl class="exception"><dt>Exceptions</dt><dd>
|
||||
<table class="exception">
|
||||
<tr><td class="paramname"><a class="el" href="classgridfire_1_1exceptions_1_1_unable_to_set_network_reactions_error.html">exceptions::UnableToSetNetworkReactionsError</a></td><td>Always. </td></tr>
|
||||
@@ -1667,7 +1670,7 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>@how This method delegates directly to the base engine's <code><a class="el" href="#a1a0c0a0ade632eb10f0eecab828a059f" title="Sets the electron screening model.">setScreeningModel()</a></code>. </p>
|
||||
<dl class="section user"><dt>How</dt><dd>This method delegates directly to the base engine's <code><a class="el" href="#a1a0c0a0ade632eb10f0eecab828a059f" title="Sets the electron screening model.">setScreeningModel()</a></code>. </dd></dl>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd">gridfire::DynamicEngine</a>.</p>
|
||||
|
||||
@@ -1715,8 +1718,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of molar abundances for the algebraic species.</dd></dl>
|
||||
<p>@purpose To find the equilibrium abundances of the algebraic species that satisfy the QSE conditions.</p>
|
||||
<p>@how It uses the Levenberg-Marquardt algorithm via Eigen's <code>LevenbergMarquardt</code> class. The problem is defined by the <code><a class="el" href="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html" title="Functor for solving QSE abundances using Eigen's nonlinear optimization.">EigenFunctor</a></code> which computes the residuals and Jacobian for the QSE equations.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To find the equilibrium abundances of the algebraic species that satisfy the QSE conditions.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>It uses the Levenberg-Marquardt algorithm via Eigen's <code>LevenbergMarquardt</code> class. The problem is defined by the <code><a class="el" href="structgridfire_1_1_multiscale_partitioning_engine_view_1_1_eigen_functor.html" title="Functor for solving QSE abundances using Eigen's nonlinear optimization.">EigenFunctor</a></code> which computes the residuals and Jacobian for the QSE equations.</dd></dl>
|
||||
<dl class="section pre"><dt>Precondition</dt><dd>The input state (Y_full, T9, rho) must be a valid physical state. </dd></dl>
|
||||
<dl class="section post"><dt>Postcondition</dt><dd>The algebraic species in the QSE cache are updated with the new equilibrium abundances. </dd></dl>
|
||||
|
||||
@@ -1753,7 +1756,7 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The new composition after QSE species have been brought to equilibrium.</dd></dl>
|
||||
<p>@purpose This is the main entry point for preparing the multiscale engine for use. It triggers the network partitioning and solves for the initial QSE abundances, caching the result.</p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>This is the main entry point for preparing the multiscale engine for use. It triggers the network partitioning and solves for the initial QSE abundances, caching the result.</dd></dl>
|
||||
<p>@how</p><ol type="1">
|
||||
<li>It first checks the QSE cache. If a valid entry already exists for the input state, it returns the input composition, as no work is needed.</li>
|
||||
<li>If the cache misses, it calls <code><a class="el" href="#a4bc879246c6fbd8633b05052858df51d" title="Equilibrates the network by partitioning and solving for QSE abundances.">equilibrateNetwork()</a></code>.</li>
|
||||
@@ -1817,8 +1820,8 @@ Private Attributes</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of validated QSE groups that meet the flux criteria.</dd></dl>
|
||||
<p>@purpose To ensure that a candidate QSE group is truly in equilibrium by checking that the reaction fluxes <em>within</em> the group are much larger than the fluxes <em>leaving</em> the group.</p>
|
||||
<p>@how For each candidate group, it calculates the sum of all internal reaction fluxes and the sum of all external (bridge) reaction fluxes. If the ratio of internal to external flux exceeds a configurable threshold, the group is considered valid and is added to the returned vector. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>To ensure that a candidate QSE group is truly in equilibrium by checking that the reaction fluxes <em>within</em> the group are much larger than the fluxes <em>leaving</em> the group.</dd></dl>
|
||||
<dl class="section user"><dt>How</dt><dd>For each candidate group, it calculates the sum of all internal reaction fluxes and the sum of all external (bridge) reaction fluxes. If the ratio of internal to external flux exceeds a configurable threshold, the group is considered valid and is added to the returned vector. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -2060,7 +2063,7 @@ Private Attributes</h2></td></tr>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Cache for QSE abundances based on T9, rho, and Y. </p>
|
||||
<p>@purpose This is the core of the caching mechanism. It stores the results of QSE solves to avoid re-computation. The key is a <code><a class="el" href="structgridfire_1_1_q_s_e_cache_key.html" title="Key struct for the QSE abundance cache.">QSECacheKey</a></code> which hashes the thermodynamic state, and the value is the vector of solved molar abundances for the algebraic species. </p>
|
||||
<dl class="section user"><dt>Purpose</dt><dd>This is the core of the caching mechanism. It stores the results of QSE solves to avoid re-computation. The key is a <code><a class="el" href="structgridfire_1_1_q_s_e_cache_key.html" title="Key struct for the QSE abundance cache.">QSECacheKey</a></code> which hashes the thermodynamic state, and the value is the vector of solved molar abundances for the algebraic species. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -182,17 +182,22 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memdesc:a3c657b82a0117118a4bb0ce7f624ae0c inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Gets the screening model from the base engine. <br /></td></tr>
|
||||
<tr class="separator:a3c657b82a0117118a4bb0ce7f624ae0c inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abfee22688617ffe91c69be93049c89b3 inherit pub_methods_classgridfire_1_1_defined_engine_view" id="r_abfee22688617ffe91c69be93049c89b3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_defined_engine_view.html#abfee22688617ffe91c69be93049c89b3">getSpeciesIndex</a> (const fourdst::atomic::Species &species) const override</td></tr>
|
||||
<tr class="memdesc:abfee22688617ffe91c69be93049c89b3 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Get the index of a species in the network. <br /></td></tr>
|
||||
<tr class="separator:abfee22688617ffe91c69be93049c89b3 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a72789c1c3379594b65b560da50192de2 inherit pub_methods_classgridfire_1_1_defined_engine_view" id="r_a72789c1c3379594b65b560da50192de2"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_defined_engine_view.html#a72789c1c3379594b65b560da50192de2">mapNetInToMolarAbundanceVector</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) const override</td></tr>
|
||||
<tr class="memdesc:a72789c1c3379594b65b560da50192de2 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Map a <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> object to a vector of molar abundances. <br /></td></tr>
|
||||
<tr class="separator:a72789c1c3379594b65b560da50192de2 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a13033abd3b44904f98b58c93e22da460 inherit pub_methods_classgridfire_1_1_defined_engine_view" id="r_a13033abd3b44904f98b58c93e22da460"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_priming_report.html">PrimingReport</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_defined_engine_view.html#a13033abd3b44904f98b58c93e22da460">primeEngine</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:a13033abd3b44904f98b58c93e22da460 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="mdescLeft"> </td><td class="mdescRight">Prime the engine with initial conditions. <br /></td></tr>
|
||||
<tr class="separator:a13033abd3b44904f98b58c93e22da460 inherit pub_methods_classgridfire_1_1_defined_engine_view"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_dynamic_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_dynamic_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></td></tr>
|
||||
<tr class="memitem:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a818d942efa843959393e4eed3263b7e7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a818d942efa843959393e4eed3263b7e7">generateJacobianMatrix</a> (const std::vector< double > &Y_dynamic, double T9, double rho, const <a class="el" href="namespacegridfire.html#a898dfe22579e649935645cbd6f073178">SparsityPattern</a> &sparsityPattern) const</td></tr>
|
||||
<tr class="separator:a818d942efa843959393e4eed3263b7e7 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a04317b66ef14d519264bc30ee69f5bf9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a04317b66ef14d519264bc30ee69f5bf9">getDepth</a> () const</td></tr>
|
||||
<tr class="memdesc:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the network. <br /></td></tr>
|
||||
<tr class="separator:a04317b66ef14d519264bc30ee69f5bf9 inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine" id="r_a4e2c8b896661b7a89beffe0066cb21cf"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_dynamic_engine.html#a4e2c8b896661b7a89beffe0066cb21cf">rebuild</a> (const fourdst::composition::Composition &comp, <a class="el" href="namespacegridfire.html#a3b1f70dc7ff5b501809330a97079e4f6">BuildDepthType</a> depth)</td></tr>
|
||||
<tr class="memdesc:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the network with a specified depth. <br /></td></tr>
|
||||
<tr class="separator:a4e2c8b896661b7a89beffe0066cb21cf inherit pub_methods_classgridfire_1_1_dynamic_engine"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1_engine"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1_engine.html">gridfire::Engine</a></td></tr>
|
||||
<tr class="memitem:a2e7970bed2100699f226f4141d5db037 inherit pub_methods_classgridfire_1_1_engine" id="r_a2e7970bed2100699f226f4141d5db037"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037">~Engine</a> ()=default</td></tr>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -105,13 +105,17 @@ $(function(){initNavTree('classgridfire_1_1solver_1_1_direct_network_solver.html
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a">evaluate</a>(const NetIn &netIn) override</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a053c9c1343af8f30ced69707e1d899e3">describe_callback_context</a>() const override</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a">evaluate</a>(const NetIn &netIn) override</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a44fbc45faa9e4b6864ac6b81282941b5">m_callback</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a2cc12e737a753a42b72a45be3fbfa8ab">m_config</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8">m_engine</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8">m_engine</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079">m_logger</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a>(DynamicEngine &engine)</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a>(DynamicEngine &engine)</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a6bb0738eef5669b3ad83a3c65a0d1e96">set_callback</a>(const std::any &callback) override</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a171bd0c8c292da79ed41f6653fdd47df">TimestepCallback</a> typedef</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html">gridfire::solver::DirectNetworkSolver</a></td><td class="entry"></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318">~NetworkSolverStrategy</a>()=default</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318">~NetworkSolverStrategy</a>()=default</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -101,6 +101,7 @@ $(function(){initNavTree('classgridfire_1_1solver_1_1_direct_network_solver.html
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#pub-types">Public Types</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pri-attribs">Private Attributes</a> |
|
||||
<a href="classgridfire_1_1solver_1_1_direct_network_solver-members.html">List of all members</a> </div>
|
||||
@@ -128,13 +129,29 @@ Classes</h2></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Functor for calculating the Jacobian matrix. <a href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html">RHSManager</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Functor for calculating the right-hand side of the ODEs. <a href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html">TimestepContext</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Context for the timestep callback function for the <a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html" title="A network solver that directly integrates the reaction network ODEs.">DirectNetworkSolver</a>. <a href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:a171bd0c8c292da79ed41f6653fdd47df" id="r_a171bd0c8c292da79ed41f6653fdd47df"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a171bd0c8c292da79ed41f6653fdd47df">TimestepCallback</a> = std::function<void(const <a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html">TimestepContext</a>& context)></td></tr>
|
||||
<tr class="memdesc:a171bd0c8c292da79ed41f6653fdd47df"><td class="mdescLeft"> </td><td class="mdescRight">Type alias for a timestep callback function. <br /></td></tr>
|
||||
<tr class="separator:a171bd0c8c292da79ed41f6653fdd47df"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a0e8a4b8ef656e0b084d11bea982e412a" id="r_a0e8a4b8ef656e0b084d11bea982e412a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgridfire_1_1_net_out.html">NetOut</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e8a4b8ef656e0b084d11bea982e412a">evaluate</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn) override</td></tr>
|
||||
<tr class="memdesc:a0e8a4b8ef656e0b084d11bea982e412a"><td class="mdescLeft"> </td><td class="mdescRight">Evaluates the network for a given timestep using direct integration. <br /></td></tr>
|
||||
<tr class="separator:a0e8a4b8ef656e0b084d11bea982e412a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6bb0738eef5669b3ad83a3c65a0d1e96" id="r_a6bb0738eef5669b3ad83a3c65a0d1e96"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6bb0738eef5669b3ad83a3c65a0d1e96">set_callback</a> (const std::any &callback) override</td></tr>
|
||||
<tr class="memdesc:a6bb0738eef5669b3ad83a3c65a0d1e96"><td class="mdescLeft"> </td><td class="mdescRight">Sets the callback function to be called at the end of each timestep. <br /></td></tr>
|
||||
<tr class="separator:a6bb0738eef5669b3ad83a3c65a0d1e96"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a053c9c1343af8f30ced69707e1d899e3" id="r_a053c9c1343af8f30ced69707e1d899e3"><td class="memItemLeft" align="right" valign="top">std::vector< std::tuple< std::string, std::string > > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a053c9c1343af8f30ced69707e1d899e3">describe_callback_context</a> () const override</td></tr>
|
||||
<tr class="memdesc:a053c9c1343af8f30ced69707e1d899e3"><td class="mdescLeft"> </td><td class="mdescRight">Describe the context that will be passed to the callback function. <br /></td></tr>
|
||||
<tr class="separator:a053c9c1343af8f30ced69707e1d899e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_classgridfire_1_1solver_1_1_network_solver_strategy"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classgridfire_1_1solver_1_1_network_solver_strategy')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a></td></tr>
|
||||
<tr class="memitem:a01cbbec0eb5c3a60f50da38cdaf66505 inherit pub_methods_classgridfire_1_1solver_1_1_network_solver_strategy" id="r_a01cbbec0eb5c3a60f50da38cdaf66505"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a> (<a class="el" href="classgridfire_1_1_dynamic_engine.html">DynamicEngine</a> &engine)</td></tr>
|
||||
<tr class="memdesc:a01cbbec0eb5c3a60f50da38cdaf66505 inherit pub_methods_classgridfire_1_1solver_1_1_network_solver_strategy"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for the <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html" title="Abstract base class for network solver strategies.">NetworkSolverStrategy</a>. <br /></td></tr>
|
||||
@@ -157,6 +174,8 @@ Private Attributes</h2></td></tr>
|
||||
<tr class="memitem:a2cc12e737a753a42b72a45be3fbfa8ab" id="r_a2cc12e737a753a42b72a45be3fbfa8ab"><td class="memItemLeft" align="right" valign="top">Config & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2cc12e737a753a42b72a45be3fbfa8ab">m_config</a> = Config::getInstance()</td></tr>
|
||||
<tr class="memdesc:a2cc12e737a753a42b72a45be3fbfa8ab"><td class="mdescLeft"> </td><td class="mdescRight">Configuration instance. <br /></td></tr>
|
||||
<tr class="separator:a2cc12e737a753a42b72a45be3fbfa8ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a44fbc45faa9e4b6864ac6b81282941b5" id="r_a44fbc45faa9e4b6864ac6b81282941b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a171bd0c8c292da79ed41f6653fdd47df">TimestepCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a44fbc45faa9e4b6864ac6b81282941b5">m_callback</a></td></tr>
|
||||
<tr class="separator:a44fbc45faa9e4b6864ac6b81282941b5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
|
||||
Additional Inherited Members</h2></td></tr>
|
||||
@@ -171,7 +190,56 @@ Additional Inherited Members</h2></td></tr>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>A network solver that directly integrates the reaction network ODEs. </p>
|
||||
<p>This solver uses a Runge-Kutta method to directly integrate the reaction network ODEs. It is simpler than the QSENetworkSolver, but it can be less efficient for stiff networks with disparate timescales. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
||||
<a id="a171bd0c8c292da79ed41f6653fdd47df" name="a171bd0c8c292da79ed41f6653fdd47df"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a171bd0c8c292da79ed41f6653fdd47df">◆ </a></span>TimestepCallback</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">using <a class="el" href="#a171bd0c8c292da79ed41f6653fdd47df">gridfire::solver::DirectNetworkSolver::TimestepCallback</a> = std::function<void(const <a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html">TimestepContext</a>& context)></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Type alias for a timestep callback function. </p>
|
||||
<p>The type alias for the callback function that will be called at the end of each timestep. Type alias for a timestep callback function. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a053c9c1343af8f30ced69707e1d899e3" name="a053c9c1343af8f30ced69707e1d899e3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a053c9c1343af8f30ced69707e1d899e3">◆ </a></span>describe_callback_context()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::vector< std::tuple< std::string, std::string > > gridfire::solver::DirectNetworkSolver::describe_callback_context </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Describe the context that will be passed to the callback function. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of tuples, each containing a string for the parameter's name and a string for its type.</dd></dl>
|
||||
<p>This method provides a description of the context that will be passed to the callback function. The intent is that an end user can investigate the context and use this information to craft their own callback function. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#ae09169769774f17df8701c42a64ed656">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0e8a4b8ef656e0b084d11bea982e412a" name="a0e8a4b8ef656e0b084d11bea982e412a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0e8a4b8ef656e0b084d11bea982e412a">◆ </a></span>evaluate()</h2>
|
||||
|
||||
@@ -206,9 +274,67 @@ Additional Inherited Members</h2></td></tr>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6bb0738eef5669b3ad83a3c65a0d1e96" name="a6bb0738eef5669b3ad83a3c65a0d1e96"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6bb0738eef5669b3ad83a3c65a0d1e96">◆ </a></span>set_callback()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void gridfire::solver::DirectNetworkSolver::set_callback </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::any &</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel override">override</span><span class="mlabel virtual">virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Sets the callback function to be called at the end of each timestep. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">callback</td><td>The callback function to be called at the end of each timestep.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This function allows the user to set a callback function that will be called at the end of each timestep. The callback function will receive a <a class="el" href="structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html" title="Context for the timestep callback function for the DirectNetworkSolver.">gridfire::solver::DirectNetworkSolver::TimestepContext</a> object. </p>
|
||||
|
||||
<p>Implements <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a4d97ee85933d5e5f90d4194bb021a1dc">gridfire::solver::NetworkSolverStrategy< DynamicEngine ></a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Data Documentation</h2>
|
||||
<a id="a44fbc45faa9e4b6864ac6b81282941b5" name="a44fbc45faa9e4b6864ac6b81282941b5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a44fbc45faa9e4b6864ac6b81282941b5">◆ </a></span>m_callback</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="#a171bd0c8c292da79ed41f6653fdd47df">TimestepCallback</a> gridfire::solver::DirectNetworkSolver::m_callback</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a2cc12e737a753a42b72a45be3fbfa8ab" name="a2cc12e737a753a42b72a45be3fbfa8ab"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a2cc12e737a753a42b72a45be3fbfa8ab">◆ </a></span>m_config</h2>
|
||||
|
||||
|
||||
@@ -2,7 +2,12 @@ var classgridfire_1_1solver_1_1_direct_network_solver =
|
||||
[
|
||||
[ "JacobianFunctor", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor" ],
|
||||
[ "RHSManager", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager.html", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_manager" ],
|
||||
[ "TimestepContext", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context.html", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_timestep_context" ],
|
||||
[ "TimestepCallback", "classgridfire_1_1solver_1_1_direct_network_solver.html#a171bd0c8c292da79ed41f6653fdd47df", null ],
|
||||
[ "describe_callback_context", "classgridfire_1_1solver_1_1_direct_network_solver.html#a053c9c1343af8f30ced69707e1d899e3", null ],
|
||||
[ "evaluate", "classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a", null ],
|
||||
[ "set_callback", "classgridfire_1_1solver_1_1_direct_network_solver.html#a6bb0738eef5669b3ad83a3c65a0d1e96", null ],
|
||||
[ "m_callback", "classgridfire_1_1solver_1_1_direct_network_solver.html#a44fbc45faa9e4b6864ac6b81282941b5", null ],
|
||||
[ "m_config", "classgridfire_1_1solver_1_1_direct_network_solver.html#a2cc12e737a753a42b72a45be3fbfa8ab", null ],
|
||||
[ "m_logger", "classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079", null ]
|
||||
];
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -105,9 +105,11 @@ $(function(){initNavTree('classgridfire_1_1solver_1_1_network_solver_strategy.ht
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f">evaluate</a>(const NetIn &netIn)=0</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8">m_engine</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a>(EngineT &engine)</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#ae09169769774f17df8701c42a64ed656">describe_callback_context</a>() const =0</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f">evaluate</a>(const NetIn &netIn)=0</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8">m_engine</a></td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505">NetworkSolverStrategy</a>(EngineT &engine)</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a4d97ee85933d5e5f90d4194bb021a1dc">set_callback</a>(const std::any &callback)=0</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318">~NetworkSolverStrategy</a>()=default</td><td class="entry"><a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy< EngineT ></a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
@@ -123,6 +123,12 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ace539b0482db171845ff1bd38d76b70f" id="r_ace539b0482db171845ff1bd38d76b70f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structgridfire_1_1_net_out.html">NetOut</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ace539b0482db171845ff1bd38d76b70f">evaluate</a> (const <a class="el" href="structgridfire_1_1_net_in.html">NetIn</a> &netIn)=0</td></tr>
|
||||
<tr class="memdesc:ace539b0482db171845ff1bd38d76b70f"><td class="mdescLeft"> </td><td class="mdescRight">Evaluates the network for a given timestep. <br /></td></tr>
|
||||
<tr class="separator:ace539b0482db171845ff1bd38d76b70f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4d97ee85933d5e5f90d4194bb021a1dc" id="r_a4d97ee85933d5e5f90d4194bb021a1dc"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4d97ee85933d5e5f90d4194bb021a1dc">set_callback</a> (const std::any &callback)=0</td></tr>
|
||||
<tr class="memdesc:a4d97ee85933d5e5f90d4194bb021a1dc"><td class="mdescLeft"> </td><td class="mdescRight">set the callback function to be called at the end of each timestep. <br /></td></tr>
|
||||
<tr class="separator:a4d97ee85933d5e5f90d4194bb021a1dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae09169769774f17df8701c42a64ed656" id="r_ae09169769774f17df8701c42a64ed656"><td class="memItemLeft" align="right" valign="top">virtual std::vector< std::tuple< std::string, std::string > > </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae09169769774f17df8701c42a64ed656">describe_callback_context</a> () const =0</td></tr>
|
||||
<tr class="memdesc:ae09169769774f17df8701c42a64ed656"><td class="mdescLeft"> </td><td class="mdescRight">Describe the context that will be passed to the callback function. <br /></td></tr>
|
||||
<tr class="separator:ae09169769774f17df8701c42a64ed656"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
|
||||
Protected Attributes</h2></td></tr>
|
||||
@@ -206,6 +212,39 @@ template<typename EngineT> </div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="ae09169769774f17df8701c42a64ed656" name="ae09169769774f17df8701c42a64ed656"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae09169769774f17df8701c42a64ed656">◆ </a></span>describe_callback_context()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename EngineT> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual std::vector< std::tuple< std::string, std::string > > <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy</a>< EngineT >::describe_callback_context </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Describe the context that will be passed to the callback function. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A vector of tuples, each containing a string for the parameter's name and a string for its type.</dd></dl>
|
||||
<p>This method should be overridden by derived classes to provide a description of the context that will be passed to the callback function. The intent of this method is that an end user can investigate the context that will be passed to the callback function, and use this information to craft their own callback function. </p>
|
||||
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a053c9c1343af8f30ced69707e1d899e3">gridfire::solver::DirectNetworkSolver</a>, and <a class="el" href="class_py_dynamic_network_solver_strategy.html#a147a0a543268427a5930143902217ac3">PyDynamicNetworkSolverStrategy</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ace539b0482db171845ff1bd38d76b70f" name="ace539b0482db171845ff1bd38d76b70f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ace539b0482db171845ff1bd38d76b70f">◆ </a></span>evaluate()</h2>
|
||||
|
||||
@@ -242,6 +281,44 @@ template<typename EngineT> </div>
|
||||
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a">gridfire::solver::DirectNetworkSolver</a>, and <a class="el" href="class_py_dynamic_network_solver_strategy.html#a2095abb83ed6229ebb27b4883cec51c4">PyDynamicNetworkSolverStrategy</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a4d97ee85933d5e5f90d4194bb021a1dc" name="a4d97ee85933d5e5f90d4194bb021a1dc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a4d97ee85933d5e5f90d4194bb021a1dc">◆ </a></span>set_callback()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename EngineT> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual void <a class="el" href="classgridfire_1_1solver_1_1_network_solver_strategy.html">gridfire::solver::NetworkSolverStrategy</a>< EngineT >::set_callback </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::any &</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>set the callback function to be called at the end of each timestep. </p>
|
||||
<p>This function allows the user to set a callback function that will be called at the end of each timestep. The callback function will receive a <a class="el" href="namespacegridfire_1_1solver.html">gridfire::solver</a>::<SOMESOLVER>::TimestepContext object. Note that depending on the solver, this context may contain different information. Further, the exact signature of the callback function is left up to each solver. Every solver should provide a type or type alias TimestepCallback that defines the signature of the callback function so that the user can easily get that type information.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">callback</td><td>The callback function to be called at the end of each timestep. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>Implemented in <a class="el" href="classgridfire_1_1solver_1_1_direct_network_solver.html#a6bb0738eef5669b3ad83a3c65a0d1e96">gridfire::solver::DirectNetworkSolver</a>, and <a class="el" href="class_py_dynamic_network_solver_strategy.html#a112a7babc03858a69d6994a7155370d3">PyDynamicNetworkSolverStrategy</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Data Documentation</h2>
|
||||
|
||||
@@ -2,6 +2,8 @@ var classgridfire_1_1solver_1_1_network_solver_strategy =
|
||||
[
|
||||
[ "NetworkSolverStrategy", "classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505", null ],
|
||||
[ "~NetworkSolverStrategy", "classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318", null ],
|
||||
[ "describe_callback_context", "classgridfire_1_1solver_1_1_network_solver_strategy.html#ae09169769774f17df8701c42a64ed656", null ],
|
||||
[ "evaluate", "classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f", null ],
|
||||
[ "set_callback", "classgridfire_1_1solver_1_1_network_solver_strategy.html#a4d97ee85933d5e5f90d4194bb021a1dc", null ],
|
||||
[ "m_engine", "classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8", null ]
|
||||
];
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.0.1a</span>
|
||||
<div id="projectname">GridFire<span id="projectnumber"> 0.6.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">General Purpose Nuclear Network</div>
|
||||
</td>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user