neuralroms.jl

SNF-ROM: Projection-based nonlinear reduced order modeling with smooth neural fields

https://github.com/vpuri3/neuralroms.jl

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, scholar.google
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords from Contributors

interactive optim mesh interpretability ode profiles sequences generic projection standardization
Last synced: 11 months ago · JSON representation

Repository

SNF-ROM: Projection-based nonlinear reduced order modeling with smooth neural fields

Basic Info
  • Host: GitHub
  • Owner: vpuri3
  • License: mit
  • Language: Julia
  • Default Branch: master
  • Homepage:
  • Size: 1.11 GB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

NeuralROMs.jl

This repository implements machine learning (ML) based reduced order models (ROMs). Specifically, we introduce smooth neural field ROM (SNF-ROM) for solving advection dominated PDE problems.

Smooth neural field ROM

SNF-ROM: Projection-based nonlinear reduced order modeling with smooth neural fields
Vedant Puri, Aviral Prakash, Levent Burak Kara, Yongjie Jessica Zhang
Project page / Paper / Code / Slides / Talk

Offline stage

Capture-2024-05-28-171751

Online stage

Screenshot 2024-05-28 at 5 18 25PM

Setup and run

Download the code by cloning this Git repo.

```bash $ git clone git@github.com:vpuri3/NeuralROMs.jl.git

$ cd NeuralROMs.jl ```

Start Julia and activate the environment.

bash $ julia

```julia julia> import Pkg

julia> Pkg.activate(".") # switch environment

julia> Pkg.instantiate() # download environment ```

We show how to run the 1D Advection test case corresponding to Section 6.1 of the paper. Each test case in Section 6 of the paper has a corresponding directory in experiments_SNFROM/.

julia julia> include("experiments_SNFROM/advect_fourier1D/datagen_advect1D.jl")

The script solves the 1D advection problem and stores the dataset as a JLD2 binary in experiments_SNFROM/advect_fourier1D/data_advect/. To train SNF-ROM, run

julia julia> include("experiments_SNFROM/advect_fourier1D/snf.jl")

Code Structure

```bash $ tree . -L 1 --filesfirst . CITATION.bib # arXiv paper LICENSE # MIT License Manifest.toml # environment metadata Project.toml # environment spec README.md # this file benchmarks # internal benchmarking scripts docs # documentation (incomplete) examples # playground experiments_SNFROM # experiments in SNF-ROM paper Section 6 figs # figures in SNF-ROM paper src # source code test # test scripts (incomplete)

```

bash $ tree src/ -L 2 --filesfirst . autodiff.jl # AD wrapper for 1-4th order derivatives metrics.jl # Loss functions neuralgridmodel.jl # Grid-dependent neural space discretization (e.g., CAE-ROM, POD-ROM) neuralmodel.jl # Neural field spatial discretization (e.g., C-ROM, SNF-ROM) NeuralROMs.jl # Main file: declares Julia module and imports relevant packages nonlinleastsq.jl # Nonlinear least square solve for LSPG and for initializing auto-decode. optimisers.jl # Modified weight decay optimisers based on Optimisers.jl pdeproblems.jl # PDE problem definitions du/dt = f(x, u, t, u', ...) train.jl # Training loop utils.jl # Miscalleneous utility functions vis.jl # 1D/2D visualizations dynamics # evolve.jl # Logic for dynamics evaluation timeintegrator.jl # Time integrator object definition layers # basic.jl # Basic layer definitions (e.g., PermuteLayer, HyperNet) encoder_decoder.jl # Encoder-decoder network definitions (auto-decode, CAE, C-ROM, SNF-ROM) sdf.jl # Layers for 3D shape encoding operator # oplayers.jl # Fourier neural operator kernel definitions transform.jl # Spectral transforms for FNO

bash $ tree experiments_SNFROM/ -L 1 --filesfirst experiments_SNFROM/ autodecode.jl # Autodecode-ROM training and inference cases.jl # Experiment setup compare.jl # Comparison script convAE.jl # CAE-ROM training and inference convINR.jl # C-ROM training and inference PCA.jl # POD-ROM training and inference smoothNF.jl # SNF-ROM training and inference advect_fourier1D # Section 6.1 advect_fourier2D # Section 6.2 burgers_fourier1D # Section 6.3 burgers_fourier2D # Section 6.4 ks_fourier1D # Section 6.5

Citing

bib @article{puri2025snf, title={SNF-ROM: Projection-based nonlinear reduced order modeling with smooth neural fields}, author={Puri, Vedant and Prakash, Aviral and Kara, Levent Burak and Zhang, Yongjie Jessica}, journal={Journal of Computational Physics}, pages={113957}, year={2025}, publisher={Elsevier} }

Owner

  • Name: Vedant Puri
  • Login: vpuri3
  • Kind: user
  • Location: Pittsburgh, PA
  • Company: Carnegie Mellon University

i write PDE solvers.

GitHub Events

Total
  • Push event: 53
  • Create event: 1
Last Year
  • Push event: 53
  • Create event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 418
  • Total Committers: 2
  • Avg Commits per committer: 209.0
  • Development Distribution Score (DDS): 0.007
Past Year
  • Commits: 311
  • Committers: 2
  • Avg Commits per committer: 155.5
  • Development Distribution Score (DDS): 0.006
Top Committers
Name Email Commits
Vedant Puri v****i@g****m 415
dependabot[bot] 4****] 3

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 30 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 25 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (2)
  • vpuri3 (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (2)

Dependencies

.github/workflows/CI.yml actions
  • actions/checkout v4 composite
  • julia-actions/cache v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite