Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
multires_implicit_conduction.cpp File Reference
#include <algorithm>
#include <limits>
#include "common/implicit_conduction.hlsli"
#include "common/multires_conduction.hlsli"
#include "sim/implicit_conduction.h"
#include "sim/multires_nest.h"
#include "sim/multires_nest_internal.h"
Include dependency graph for multires_implicit_conduction.cpp:

Go to the source code of this file.

Classes

struct  bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::ImplicitSystem
class  bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CellThermals
struct  bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CpuTree

Namespaces

namespace  bicameral
namespace  bicameral::sim
namespace  bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}
namespace  bicameral::sim::nest_detail

Functions

bool bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CanJoin (const MultiresNest &nest, std::span< const uint8_t > frozen, uint32_t slot)
uint32_t bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::AddCell (ImplicitSystem &system, const MultiresNest &nest, CellThermals &thermals, uint32_t slot, uint32_t index)
fx::FxU128 bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::FaceCoefficient (const ImplicitCell &fine, const ImplicitCell &coarse)
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)
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)
void bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::RecordLevels (MultiresNest &nest, const ImplicitGrid &grid)
void bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CaptureNest (MultiresNest &nest, std::span< const uint8_t > frozen)
uint32_t bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CountUnknowns (const MultiresNest &nest, CellThermals &thermals, uint32_t slot)
ImplicitOptions bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::MakeImplicitOptions (const MultiresStepOptions &options)
bool bicameral::sim::nest_detail::InImplicitConduction (const MultiresNest &nest, uint32_t slot, const MultiresStepOptions &options)
bool bicameral::sim::nest_detail::IsImplicitBlock (std::span< const uint8_t > implicitBlocks, uint32_t slot)
std::vector< uint8_t > bicameral::sim::nest_detail::MarkImplicitBlocks (MultiresNest &nest, CellThermals &thermals, std::span< const uint8_t > frozen, const MultiresStepOptions &options)
void bicameral::sim::nest_detail::AddImplicitConduction (MultiresNest &nest, CellThermals &thermals, std::span< const uint8_t > frozen, std::span< const uint8_t > implicitBlocks, const MultiresStepOptions &options, std::span< MrEnergyDelta > deltas)

Variables

constexpr uint32_t bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::NOT_IN_SYSTEM = std::numeric_limits<uint32_t>::max()