Sync public subset from Flux (private)

This commit is contained in:
Gitea CI
2025-10-06 20:14:13 +00:00
parent 272e77c536
commit b2d00af0e1
390 changed files with 152131 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
#pragma once
namespace core{
enum class GridKind { Uniform, NonUniform };
enum class FDKind { Central, Forward, Backward };
enum class BCKind { Dirichlet, Neumann /*, Robin*/ };
enum class SolverKind { LU, Inverse /*, CG*/ };
template <typename T>
struct BC {
FDKind fd{FDKind::Forward};
BCKind kind{BCKind::Dirichlet};
T value{T(0)};
};
// Global default config holder
template <typename T>
struct Configs {
GridKind grid{GridKind::Uniform};
FDKind fd{FDKind::Central};
BC<T> left{FDKind::Forward, BCKind::Dirichlet, T(0) };
BC<T> right{FDKind::Backward, BCKind::Dirichlet, T(0) };
SolverKind solver{SolverKind::LU};
static Configs& defaults() {
static Configs g{}; // process-wide defaults
return g;
}
};
} // namespace core