Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Dependencies

- Updated package to use `physicsnemo` v2.0 APIs

## [2.3.0] - 2025-11-17

### Added
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
install:
pip install --upgrade pip && \
pip install -e . --no-build-isolation
pip install -e . --no-build-isolation --no-deps

setup-ci:
pip install pre-commit && \
Expand Down
2 changes: 1 addition & 1 deletion docs/user_guide/neural_operators/darcy_pino.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ which is done via its ``.forward(...)`` method:

.. code:: python

from physicsnemo.models.layers import fourier_derivatives # helper function for computing spectral derivatives
from physicsnemo.nn.module.spectral_layers import fourier_derivatives # helper function for computing spectral derivatives
from ops import dx, ddx # helper function for computing finite difference derivatives

.. literalinclude:: ../../../examples/darcy/darcy_PINO.py
Expand Down
2 changes: 1 addition & 1 deletion examples/darcy/darcy_PINO.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import torch.nn.functional as F

import physicsnemo.sym
from physicsnemo.models.layers.spectral_layers import fourier_derivatives
from physicsnemo.nn.module.spectral_layers import fourier_derivatives
from physicsnemo.sym.hydra import instantiate_arch, PhysicsNeMoConfig
from physicsnemo.sym.key import Key
from physicsnemo.sym.node import Node
Expand Down
4 changes: 2 additions & 2 deletions examples/reservoir_simulation/2D/src/Forward_problem_AFNOP.py
Original file line number Diff line number Diff line change
Expand Up @@ -1456,8 +1456,8 @@ def run(cfg: PhysicsNeMoConfig) -> None:
)
nodes = (
[darcyy]
+ [afno_pressure.make_node("afnop_forward_model_pressure", jit=cfg.jit)]
+ [afno_saturation.make_node("afnop_forward_model_saturation", jit=cfg.jit)]
+ [afno_pressure.make_node("afnop_forward_model_pressure", jit=False)]
+ [afno_saturation.make_node("afnop_forward_model_saturation", jit=False)]
)

# [constraint]
Expand Down
4 changes: 2 additions & 2 deletions examples/reservoir_simulation/2D/src/Forward_problem_PINO.py
Original file line number Diff line number Diff line change
Expand Up @@ -1458,8 +1458,8 @@ def run(cfg: PhysicsNeMoConfig) -> None:
)
nodes = (
[darcyy]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=cfg.jit)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=cfg.jit)]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=False)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=False)]
)

# [constraint]
Expand Down
4 changes: 2 additions & 2 deletions examples/reservoir_simulation/3D/src/Forward_problem_PINO.py
Original file line number Diff line number Diff line change
Expand Up @@ -1603,8 +1603,8 @@ def run(cfg: PhysicsNeMoConfig) -> None:
)
nodes = (
[darcyy]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=cfg.jit)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=cfg.jit)]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=False)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=False)]
)

# [constraint]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1583,8 +1583,8 @@ def run(cfg: PhysicsNeMoConfig) -> None:
)
nodes = (
[darcyy]
+ [afno_pressure.make_node("afnop_forward_model_pressure", jit=cfg.jit)]
+ [afno_saturation.make_node("afnop_forward_model_saturation", jit=cfg.jit)]
+ [afno_pressure.make_node("afnop_forward_model_pressure", jit=False)]
+ [afno_saturation.make_node("afnop_forward_model_saturation", jit=False)]
)

# [constraint]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1587,8 +1587,8 @@ def run(cfg: PhysicsNeMoConfig) -> None:
)
nodes = (
[darcyy]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=cfg.jit)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=cfg.jit)]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=False)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=False)]
)

# [constraint]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1635,8 +1635,8 @@ def run(cfg: PhysicsNeMoConfig) -> None:
)
nodes = (
[darcyy]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=cfg.jit)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=cfg.jit)]
+ [fno_pressure.make_node("pino_forward_model_pressure", jit=False)]
+ [fno_saturation.make_node("pino_forward_model_saturation", jit=False)]
)

# [constraint]
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/geometry/tessellation.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ def sdf(invar, params, compute_sdf_derivatives=False):
if airtight:
# Import locally to avoid pickling issues with multiprocessing
import torch
from physicsnemo.utils.sdf import signed_distance_field
from physicsnemo.nn.functional import signed_distance_field

torch_vertices = torch.from_numpy(store_triangles)
torch_indices = torch.arange(
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/geometry/tessellation_warp.py
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ def sdf(triangles, airtight, invar, params, compute_sdf_derivatives=False):
if airtight:
# Import locally to avoid pickling issues with multiprocessing
import torch
from physicsnemo.utils.sdf import signed_distance_field
from physicsnemo.nn.functional import signed_distance_field

torch_vertices = torch.from_numpy(store_triangles)
torch_indices = torch.arange(store_triangles.shape[0], dtype=torch.int32)
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/dgm.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
from torch import Tensor


from physicsnemo.models.layers import FCLayer, DGMLayer
from physicsnemo.nn import FCLayer, DGMLayer
from physicsnemo.sym.models.activation import Activation, get_activation_fn
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key
Expand Down
4 changes: 2 additions & 2 deletions physicsnemo/sym/models/fno.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@
import torch.nn.functional as F
import logging

from physicsnemo.models.layers import (
from physicsnemo.nn import (
Conv1dFCLayer,
Conv2dFCLayer,
Conv3dFCLayer,
SpectralConv1d,
SpectralConv2d,
SpectralConv3d,
)
from physicsnemo.models.layers.spectral_layers import (
from physicsnemo.nn.module.spectral_layers import (
calc_latent_derivatives,
first_order_pino_grads,
second_order_pino_grads,
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/fourier_net.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from typing import Dict, List, Tuple

import physicsnemo.sym.models.fully_connected as fully_connected
from physicsnemo.models.layers import FourierLayer
from physicsnemo.nn import FourierLayer
from physicsnemo.sym.models.activation import Activation
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/fully_connected.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
amp_manager_scaler_enabled_and_disable_autocast_firstlayer,
)

from physicsnemo.models.layers import FCLayer, Conv1dFCLayer
from physicsnemo.nn import FCLayer, Conv1dFCLayer
from physicsnemo.sym.models.activation import Activation, get_activation_fn
from physicsnemo.sym.models.arch import Arch

Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/hash_encoding_net.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import physicsnemo.sym.models.fully_connected as fully_connected
from physicsnemo.sym.models.activation import Activation
from physicsnemo.models.layers.interpolation import (
from physicsnemo.nn.module.interpolation import (
_hyper_cube_weighting,
smooth_step_2,
)
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/highway_fourier_net.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import torch.nn as nn
from torch import Tensor

from physicsnemo.models.layers import FCLayer, FourierLayer
from physicsnemo.nn import FCLayer, FourierLayer
from physicsnemo.sym.models.activation import Activation, get_activation_fn
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/modified_fourier_net.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import torch.nn as nn
from torch import Tensor

from physicsnemo.models.layers import FCLayer, FourierLayer
from physicsnemo.nn import FCLayer, FourierLayer
from physicsnemo.sym.models.activation import Activation, get_activation_fn
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/multiplicative_filter_net.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import torch.nn as nn
from torch import Tensor

from physicsnemo.models.layers import FCLayer, FourierFilter, GaborFilter
from physicsnemo.nn import FCLayer, FourierFilter, GaborFilter
from physicsnemo.sym.models.activation import Activation, get_activation_fn
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/multiscale_fourier_net.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import torch.nn as nn
from torch import Tensor

from physicsnemo.models.layers import FCLayer, FourierLayer
from physicsnemo.nn import FCLayer, FourierLayer
from physicsnemo.sym.models.activation import Activation, get_activation_fn
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key
Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/radial_basis.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from torch import Tensor


from physicsnemo.models.layers import FCLayer
from physicsnemo.nn import FCLayer
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key

Expand Down
2 changes: 1 addition & 1 deletion physicsnemo/sym/models/siren.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import torch.nn as nn
from torch import Tensor

from physicsnemo.models.layers import SirenLayer, SirenLayerType
from physicsnemo.nn import SirenLayer, SirenLayerType
from physicsnemo.sym.models.arch import Arch
from physicsnemo.sym.key import Key
from physicsnemo.sym.constants import NO_OP_NORM
Expand Down
5 changes: 4 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ dependencies = [
"notebook>=7.2.2",
"numpoly<=1.3.4",
"numpy-stl>=2.16",
"nvidia-physicsnemo>=1.0.0",
"nvidia-physicsnemo>=2.0.0",
"opencv-python>=4.8.1.78",
"pillow>=10.3",
"pint>=0.19.2",
Expand Down Expand Up @@ -51,3 +51,6 @@ include = ["physicsnemo.*"]

[tool.setuptools.package-data]
"*" = ["*.yaml"]

[tool.ruff]
exclude = ["examples"]
12 changes: 6 additions & 6 deletions test/test_models/test_fno.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ def test_fno_1d():
fno_modes=4,
padding=0,
)
# Testing JIT
model.make_node(name="FNO1d", jit=True)
# TorchScript (jit) disabled: upstream spectral layers use jaxtyping, which TorchScript does not support.
model.make_node(name="FNO1d", jit=False)

bsize = 5
invar = {
Expand Down Expand Up @@ -68,8 +68,8 @@ def test_fno_2d():
fno_modes=16,
)

# Testing JIT
model.make_node(name="FNO2d", jit=True)
# TorchScript (jit) disabled: upstream spectral layers use jaxtyping, which TorchScript does not support.
model.make_node(name="FNO2d", jit=False)

bsize = 5
invar = {
Expand Down Expand Up @@ -99,8 +99,8 @@ def test_fno_3d():
fno_modes=16,
)

# Testing JIT
model.make_node(name="FNO3d", jit=True)
# TorchScript (jit) disabled: upstream spectral layers use jaxtyping, which TorchScript does not support.
model.make_node(name="FNO3d", jit=False)

bsize = 5
invar = {
Expand Down
2 changes: 1 addition & 1 deletion test/test_spectral_convs.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import torch
import torch.nn as nn

from physicsnemo.models.layers import SpectralConv1d, SpectralConv2d, SpectralConv3d
from physicsnemo.nn import SpectralConv1d, SpectralConv2d, SpectralConv3d


class SpectralConv1d_old(nn.Module):
Expand Down