|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
Classes | |
| struct | ImplicitSystem |
| class | CellThermals |
| struct | CpuTree |
Functions | |
| bool | CanJoin (const MultiresNest &nest, std::span< const uint8_t > frozen, uint32_t slot) |
| uint32_t | AddCell (ImplicitSystem &system, const MultiresNest &nest, CellThermals &thermals, uint32_t slot, uint32_t index) |
| fx::FxU128 | FaceCoefficient (const ImplicitCell &fine, const ImplicitCell &coarse) |
| void | AddCellFaces (ImplicitSystem &system, const MultiresNest &nest, CellThermals &thermals, std::span< const uint8_t > frozen, uint32_t id) |
| ImplicitSystem | MakeSystem (const MultiresNest &nest, CellThermals &thermals, std::span< const uint8_t > frozen, std::span< const uint8_t > implicitBlocks) |
| void | RecordLevels (MultiresNest &nest, const ImplicitGrid &grid) |
| void | CaptureNest (MultiresNest &nest, std::span< const uint8_t > frozen) |
| uint32_t | CountUnknowns (const MultiresNest &nest, CellThermals &thermals, uint32_t slot) |
| ImplicitOptions | MakeImplicitOptions (const MultiresStepOptions &options) |
Variables | |
| constexpr uint32_t | NOT_IN_SYSTEM = std::numeric_limits<uint32_t>::max() |
| uint32_t bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::AddCell | ( | ImplicitSystem & | system, |
| const MultiresNest & | nest, | ||
| CellThermals & | thermals, | ||
| uint32_t | slot, | ||
| uint32_t | index ) |
Definition at line 71 of file multires_implicit_conduction.cpp.
References AddCell(), bicameral::sim::nest_detail::CellThermals::At(), bicameral::sim::MultiresNest::blocks, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::cells, bicameral::sim::ImplicitCell::coarseFraction, bicameral::sim::ImplicitCell::conductance, bicameral::sim::ImplicitCell::energy, bicameral::sim::ImplicitCell::heatCapacity, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::ids, bicameral::sim::ImplicitEnergyFor(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::indices, bicameral::sim::ImplicitCell::level, NOT_IN_SYSTEM, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::slots, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::startEnergies, bicameral::sim::ImplicitCell::startTemperature, bicameral::sim::ImplicitCell::x, bicameral::sim::ImplicitCell::y, and bicameral::sim::ImplicitCell::z.
Referenced by AddCell(), AddCellFaces(), and MakeSystem().
| void bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::AddCellFaces | ( | ImplicitSystem & | system, |
| const MultiresNest & | nest, | ||
| CellThermals & | thermals, | ||
| std::span< const uint8_t > | frozen, | ||
| uint32_t | id ) |
Definition at line 113 of file multires_implicit_conduction.cpp.
References AddCell(), AddCellFaces(), bicameral::sim::MultiresNest::blocks, CanJoin(), bicameral::sim::MultiresNest::capacity, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::cells, FaceCoefficient(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::faces, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::indices, NOT_IN_SYSTEM, bicameral::sim::MultiresCapacity::rootLevel, and bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::slots.
Referenced by AddCellFaces(), and MakeSystem().
| bool bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CanJoin | ( | const MultiresNest & | nest, |
| std::span< const uint8_t > | frozen, | ||
| uint32_t | slot ) |
Definition at line 63 of file multires_implicit_conduction.cpp.
References bicameral::sim::MultiresNest::blocks, CanJoin(), bicameral::sim::MultiresNest::capacity, and bicameral::sim::MultiresCapacity::worldBlocks.
Referenced by AddCellFaces(), CanJoin(), and MakeSystem().
| void bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CaptureNest | ( | MultiresNest & | nest, |
| std::span< const uint8_t > | frozen ) |
Definition at line 174 of file multires_implicit_conduction.cpp.
References CaptureNest(), bicameral::sim::MultiresNest::implicitFrozen, and bicameral::sim::MultiresNest::implicitNest.
Referenced by CaptureNest().
| uint32_t bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CountUnknowns | ( | const MultiresNest & | nest, |
| CellThermals & | thermals, | ||
| uint32_t | slot ) |
Definition at line 185 of file multires_implicit_conduction.cpp.
References bicameral::sim::nest_detail::CellThermals::At(), bicameral::sim::MultiresNest::blocks, and CountUnknowns().
Referenced by CountUnknowns().
| fx::FxU128 bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::FaceCoefficient | ( | const ImplicitCell & | fine, |
| const ImplicitCell & | coarse ) |
Definition at line 105 of file multires_implicit_conduction.cpp.
References bicameral::sim::ImplicitCell::conductance, FaceCoefficient(), and bicameral::sim::ImplicitCell::level.
Referenced by AddCellFaces(), and FaceCoefficient().
| ImplicitOptions bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::MakeImplicitOptions | ( | const MultiresStepOptions & | options | ) |
Definition at line 196 of file multires_implicit_conduction.cpp.
References bicameral::sim::ImplicitOptions::cycles, bicameral::sim::MultiresStepOptions::implicitMaxCycles, MakeImplicitOptions(), bicameral::sim::ImplicitOptions::method, bicameral::sim::Multigrid, and bicameral::sim::ImplicitOptions::toleranceMillikelvin.
Referenced by MakeImplicitOptions().
| ImplicitSystem bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::MakeSystem | ( | const MultiresNest & | nest, |
| CellThermals & | thermals, | ||
| std::span< const uint8_t > | frozen, | ||
| std::span< const uint8_t > | implicitBlocks ) |
Definition at line 141 of file multires_implicit_conduction.cpp.
References AddCell(), AddCellFaces(), bicameral::sim::MultiresNest::blocks, CanJoin(), bicameral::sim::MultiresNest::capacity, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::cells, bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem::ids, bicameral::sim::nest_detail::IsImplicitBlock(), MakeSystem(), NOT_IN_SYSTEM, and bicameral::sim::MultiresCapacity::worldBlocks.
Referenced by MakeSystem().
| void bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::RecordLevels | ( | MultiresNest & | nest, |
| const ImplicitGrid & | grid ) |
Definition at line 163 of file multires_implicit_conduction.cpp.
References bicameral::sim::MultiresNest::implicitLevels, bicameral::sim::ImplicitGrid::levels, bicameral::sim::ImplicitGridLevel::levels, RecordLevels(), and bicameral::sim::ImplicitGridLevel::rowStarts.
Referenced by RecordLevels().
|
constexpr |
Definition at line 47 of file multires_implicit_conduction.cpp.
Referenced by AddCell(), AddCellFaces(), and MakeSystem().