Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
117 lines (109 loc) · 3.7 KB
/
Copy pathCargo.toml
File metadata and controls
117 lines (109 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[workspace]
resolver = "2"
members = [
"crates/gfd-core",
"crates/gfd-expression",
"crates/gfd-discretize",
"crates/gfd-matrix",
"crates/gfd-linalg",
"crates/gfd-turbulence",
"crates/gfd-material",
"crates/gfd-boundary",
"crates/gfd-source",
"crates/gfd-coupling",
"crates/gfd-postprocess",
"crates/gfd-fluid",
"crates/gfd-thermal",
"crates/gfd-solid",
"crates/gfd-io",
"crates/gfd-parallel",
"crates/gfd-vdb",
"crates/gfd-gpu",
"crates/gfd-mesh",
"crates/gfd-geo",
"crates/gfd-cad-geom",
"crates/gfd-cad-topo",
"crates/gfd-cad-bool",
"crates/gfd-cad-sketch",
"crates/gfd-cad-feature",
"crates/gfd-cad-io",
"crates/gfd-cad-heal",
"crates/gfd-cad-measure",
"crates/gfd-cad-tessel",
"crates/gfd-cad",
"crates/gfd-occt",
"crates/gfd-gmsh",
]
[package]
name = "gfd"
version = "0.1.0"
edition = "2021"
description = "Generalized Finite Difference multi-physics solver"
[[bin]]
name = "gfd"
path = "src/main.rs"
[[bin]]
name = "gfd-benchmark"
path = "benches/gfd_benchmark.rs"
[[bin]]
name = "gfd-server"
path = "src/server.rs"
[features]
default = []
gpu = ["gfd-gpu/cuda"]
gpu-amgx = ["gpu", "gfd-gpu/amgx"]
# Professional CAD/mesh backends (C++ FFI; off by default so CI/dev without a
# C++ toolchain still builds — the server falls back to gfd-cad/gfd-mesh).
occt = ["dep:gfd-occt", "gfd-occt/occt"]
gmsh = ["dep:gfd-gmsh", "gfd-gmsh/gmsh"]
cad-pro = ["occt", "gmsh"]
# ---------------------------------------------------------------------------
# Shared dependency versions (consumed via `dep.workspace = true` in crates)
# ---------------------------------------------------------------------------
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
nalgebra = "0.33"
nalgebra-sparse = "0.10"
rayon = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
clap = { version = "4", features = ["derive"] }
anyhow = "1"
thiserror = "2"
approx = "0.5"
# ---------------------------------------------------------------------------
# Root binary dependencies
# ---------------------------------------------------------------------------
[dependencies]
# Local workspace crates
gfd-core = { path = "crates/gfd-core" }
gfd-fluid = { path = "crates/gfd-fluid" }
gfd-thermal = { path = "crates/gfd-thermal" }
gfd-solid = { path = "crates/gfd-solid" }
gfd-coupling = { path = "crates/gfd-coupling" }
gfd-io = { path = "crates/gfd-io" }
gfd-expression = { path = "crates/gfd-expression" }
gfd-linalg = { path = "crates/gfd-linalg" }
gfd-parallel = { path = "crates/gfd-parallel" }
gfd-vdb = { path = "crates/gfd-vdb" }
gfd-source = { path = "crates/gfd-source" }
gfd-turbulence = { path = "crates/gfd-turbulence" }
gfd-matrix = { path = "crates/gfd-matrix" }
gfd-discretize = { path = "crates/gfd-discretize" }
gfd-boundary = { path = "crates/gfd-boundary" }
gfd-material = { path = "crates/gfd-material" }
gfd-postprocess = { path = "crates/gfd-postprocess" }
gfd-mesh = { path = "crates/gfd-mesh" }
gfd-geo = { path = "crates/gfd-geo" }
gfd-cad = { path = "crates/gfd-cad" }
gfd-gpu = { path = "crates/gfd-gpu", optional = true }
gfd-occt = { path = "crates/gfd-occt", optional = true }
gfd-gmsh = { path = "crates/gfd-gmsh", optional = true }
# External (from workspace)
clap = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }