Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp} Namespace Reference

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()

Function Documentation

◆ AddCell()

uint32_t bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::AddCell ( ImplicitSystem & system,
const MultiresNest & nest,
CellThermals & thermals,
uint32_t slot,
uint32_t index )

◆ AddCellFaces()

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 )

◆ CanJoin()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CaptureNest()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CountUnknowns()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FaceCoefficient()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MakeImplicitOptions()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MakeSystem()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RecordLevels()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ NOT_IN_SYSTEM

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

Definition at line 47 of file multires_implicit_conduction.cpp.

Referenced by AddCell(), AddCellFaces(), and MakeSystem().