@@ -10,6 +10,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
1111### Added
1212
13+ - Adds xDeepONet to experimental models
14+ (` physicsnemo.experimental.models.xdeeponet.DeepONet ` ). A single
15+ dimension-generic (2D/3D) DeepONet that accepts a spatial or MLP branch,
16+ an optional trunk, and an optional second branch as ` nn.Module ` inputs
17+ (dependency injection). Six forward-call conventions cover trunked,
18+ trunkless, packed/auto-padded, and xFNO-style time-axis-extend modes.
19+ Supports multi-channel output, multiple decoder types (MLP, Conv,
20+ temporal projection), composable Fourier / UNet / Conv spatial branches
21+ (` SpatialBranch ` ), and coordinate features.
22+ - Adds ` Sin ` elementwise sine activation to ` physicsnemo.nn ` , registered
23+ in ` ACT2FN ` so it can be looked up by name (` get_activation("sin") ` ).
24+ - Adds active-learning recipe for external-aerodynamics surrogates
25+ (` examples/cfd/external_aerodynamics/active_learning_aero/ ` ). Iteratively
26+ fine-tunes a GP-augmented GeoTransolver onto an out-of-distribution
27+ target class by scoring unlabeled candidates with a joint UQ signal
28+ (GP-vs-integrated-drag disagreement + GP posterior std) and selecting
29+ the top-` k ` per round. Built on the ` physicsnemo.active_learning `
30+ protocols and ` physicsnemo.experimental.uq.VariationalGPHead ` , with a
31+ layered structure (generic AL driver / GP-UQ recipe / aero adapter)
32+ designed for reuse on other UQ-based regression problems.
33+
1334### Changed
1435
1536### Deprecated
@@ -18,6 +39,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1839
1940### Fixed
2041
42+ - Replaced three plain-string regex / docstring literals containing invalid
43+ escape sequences with raw-string equivalents
44+ (` physicsnemo/utils/logging/launch.py ` ,
45+ ` physicsnemo/metrics/general/calibration.py ` ,
46+ ` physicsnemo/metrics/general/crps.py ` ); these were ` SyntaxWarning ` s today
47+ and become ` SyntaxError ` s in Python 3.16.
48+ - Various test cleanups to remove self-inflicted warnings in CI output:
49+ disabled pytest collection for ` TestModelA ` /` TestModelB ` helpers in
50+ ` test/core/test_registry.py ` via ` __test__ = False ` ; migrated
51+ ` test/nn/module/test_interpolation.py ` to call the non-deprecated
52+ ` grid_to_point_interpolation ` and added a dedicated test for the
53+ deprecation alias; scoped a ` lr_scheduler.step() ` -before-` optimizer.step() `
54+ ` UserWarning ` filter to a single test in
55+ ` test/optim/test_combined_optimizer.py ` ; guarded the
56+ ` DistributedManager.initialize() ` calls in ` test/utils/test_checkpoint.py `
57+ with ` is_initialized() ` ; and suppressed the import-time
58+ ` ExperimentalFeatureWarning ` in ` test/datapipes/healda/test_features.py `
59+ via ` warnings.catch_warnings() ` .
60+ - Fixed ` physicsnemo.utils.get_checkpoint_dir ` returning paths with ` \ `
61+ separators on Windows (e.g. ` .\checkpoints_model ` ), which was inconsistent
62+ with the ` / ` -based paths used elsewhere in the checkpoint utilities and
63+ broke the ` test_get_checkpoint_dir ` CI test on Windows. The function now
64+ always joins with ` / ` , working uniformly for local paths and ` fsspec `
65+ URIs (` msc:// ` , etc.) across operating systems.
66+
2167### Security
2268
2369### Dependencies
@@ -26,17 +72,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2672
2773### Added
2874
29- - Adds xDeepONet to experimental models
30- (` physicsnemo.experimental.models.xdeeponet.DeepONet ` ). A single
31- dimension-generic (2D/3D) DeepONet that accepts a spatial or MLP branch,
32- an optional trunk, and an optional second branch as ` nn.Module ` inputs
33- (dependency injection). Six forward-call conventions cover trunked,
34- trunkless, packed/auto-padded, and xFNO-style time-axis-extend modes.
35- Supports multi-channel output, multiple decoder types (MLP, Conv,
36- temporal projection), composable Fourier / UNet / Conv spatial branches
37- (` SpatialBranch ` ), and coordinate features.
38- - Adds ` Sin ` elementwise sine activation to ` physicsnemo.nn ` , registered
39- in ` ACT2FN ` so it can be looked up by name (` get_activation("sin") ` ).
4075- Adds GLOBE model (` physicsnemo.experimental.models.globe.model.GLOBE ` ),
4176 including new variant that uses a dual tree traversal algorithm to reduce the
4277 complexity of the kernel evaluations from O(N^2) to O(N).
@@ -46,15 +81,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4681- Adds concrete dropout uncertainty quantification for GeoTransolver. Learnable
4782 per-layer dropout rates enable MC-Dropout inference for uncertainty
4883 estimates. Disabled by default (` concrete_dropout: false ` ).
49- - Adds active-learning recipe for external-aerodynamics surrogates
50- (` examples/cfd/external_aerodynamics/active_learning_aero/ ` ). Iteratively
51- fine-tunes a GP-augmented GeoTransolver onto an out-of-distribution
52- target class by scoring unlabeled candidates with a joint UQ signal
53- (GP-vs-integrated-drag disagreement + GP posterior std) and selecting
54- the top-` k ` per round. Built on the ` physicsnemo.active_learning `
55- protocols and ` physicsnemo.experimental.uq.VariationalGPHead ` , with a
56- layered structure (generic AL driver / GP-UQ recipe / aero adapter)
57- designed for reuse on other UQ-based regression problems.
5884- Adds automatic support for ` FSDP ` and/or ` ShardTensor ` models in checkpoint save/load
5985 functionality
6086- PhysicsNeMo-Mesh now supports conversion from PyVista/VTK/VTU meshes that may
@@ -282,30 +308,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
282308
283309### Fixed
284310
285- - Replaced three plain-string regex / docstring literals containing invalid
286- escape sequences with raw-string equivalents
287- (` physicsnemo/utils/logging/launch.py ` ,
288- ` physicsnemo/metrics/general/calibration.py ` ,
289- ` physicsnemo/metrics/general/crps.py ` ); these were ` SyntaxWarning ` s today
290- and become ` SyntaxError ` s in Python 3.16.
291- - Various test cleanups to remove self-inflicted warnings in CI output:
292- disabled pytest collection for ` TestModelA ` /` TestModelB ` helpers in
293- ` test/core/test_registry.py ` via ` __test__ = False ` ; migrated
294- ` test/nn/module/test_interpolation.py ` to call the non-deprecated
295- ` grid_to_point_interpolation ` and added a dedicated test for the
296- deprecation alias; scoped a ` lr_scheduler.step() ` -before-` optimizer.step() `
297- ` UserWarning ` filter to a single test in
298- ` test/optim/test_combined_optimizer.py ` ; guarded the
299- ` DistributedManager.initialize() ` calls in ` test/utils/test_checkpoint.py `
300- with ` is_initialized() ` ; and suppressed the import-time
301- ` ExperimentalFeatureWarning ` in ` test/datapipes/healda/test_features.py `
302- via ` warnings.catch_warnings() ` .
303- - Fixed ` physicsnemo.utils.get_checkpoint_dir ` returning paths with ` \ `
304- separators on Windows (e.g. ` .\checkpoints_model ` ), which was inconsistent
305- with the ` / ` -based paths used elsewhere in the checkpoint utilities and
306- broke the ` test_get_checkpoint_dir ` CI test on Windows. The function now
307- always joins with ` / ` , working uniformly for local paths and ` fsspec `
308- URIs (` msc:// ` , etc.) across operating systems.
309311- Fixed functional benchmark plot fallback labeling so unlabeled ASV results use
310312 the same key ordering as the benchmark runner.
311313- Fixed graph break caused by ` FunctionSpec ` dispatch (` max(key=) ` is not supported by ` torch.compile ` )
0 commit comments