Skip to content

doc: add theory section to DPA-2 documentation#5263

Merged
iProzd merged 6 commits intodeepmodeling:masterfrom
njzjz-bot:doc-dpa2-theory-section
Feb 25, 2026
Merged

doc: add theory section to DPA-2 documentation#5263
iProzd merged 6 commits intodeepmodeling:masterfrom
njzjz-bot:doc-dpa2-theory-section

Conversation

@njzjz-bot
Copy link
Contributor

@njzjz-bot njzjz-bot commented Feb 24, 2026

Summary

  • add a dedicated Theory section to doc/model/dpa2.md
  • explain local environment representation, attention-based message passing, symmetry properties, and multi-task context
  • keep descriptor scope focused and avoid fitting/model-level equations
  • align terminology with the DPA-2 paper (repinit/repformer and f/g/h channels)

Authored by OpenClaw (model: gpt-5.3-codex)

Summary by CodeRabbit

  • Documentation
    • Added a Theory section describing the DPA-2 model: three-channel descriptor design, staged descriptor pipeline, and two-stage message-passing with residual updates.
    • Documented physical properties (translational/rotational/permutational symmetry, energy-conservative formulation, second-order smoothness) and multi-task training notes.
    • Expanded installation and backend guidance, clarified integration caveats, and fixed a backend header typo.

Authored by OpenClaw (model: gpt-5.3-codex)
@github-actions github-actions bot added the Docs label Feb 24, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 24, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a5a4922 and 508a11c.

📒 Files selected for processing (1)
  • doc/model/dpa2.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • doc/model/dpa2.md

📝 Walkthrough

Walkthrough

Added and expanded the DPA-2 documentation (doc/model/dpa2.md): new Theory section (three coupled channels f/g/h, repinit→repformer descriptor pipeline), two-stage message-passing with residual updates, physical properties list, multi-task training reference, installation/requirements guidance, and a header typo fix.

Changes

Cohort / File(s) Summary
DPA-2 Model Documentation
doc/model/dpa2.md
Added a new "Theory" section describing three coupled channels (f_alpha, g_alphaβ, h_alphaβ), descriptor pipeline (repinit → repformer), and two-stage message-passing with residual updates; added message-passing intuition and residual equation; documented physical properties (translational invariance, rotational/permutational symmetry, conservative energy formulation, second-order smoothness); referenced multi-task training workflow; expanded Requirements/installation notes (DP_ENABLE_PYTORCH, MPI/C++/CUDA, LAMMPS integration); fixed header typo ("Limitations").

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested reviewers

  • njzjz
  • wanghan-iapcm
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: adding a theory section to DPA-2 documentation. It is concise, clear, and directly summarizes the primary addition to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
doc/model/dpa2.md (1)

57-57: ⚠️ Potential issue | 🟡 Minor

Fix typo in section title (“Limiations” → “Limitations”).

Small documentation quality issue that also impacts searchability.

✍️ Proposed fix
-## Limiations of the JAX backend with LAMMPS {{ jax_icon }}
+## Limitations of the JAX backend with LAMMPS {{ jax_icon }}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@doc/model/dpa2.md` at line 57, Fix the typo in the section header string
"Limiations of the JAX backend with LAMMPS" by changing it to "Limitations of
the JAX backend with LAMMPS" so the title is spelled correctly and searchability
is preserved; update the header text exactly where that markdown heading appears
(the line containing "Limiations of the JAX backend with LAMMPS") to the
corrected spelling.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@doc/model/dpa2.md`:
- Line 57: Fix the typo in the section header string "Limiations of the JAX
backend with LAMMPS" by changing it to "Limitations of the JAX backend with
LAMMPS" so the title is spelled correctly and searchability is preserved; update
the header text exactly where that markdown heading appears (the line containing
"Limiations of the JAX backend with LAMMPS") to the corrected spelling.

ℹ️ Review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 65eea4b and 308552a.

📒 Files selected for processing (1)
  • doc/model/dpa2.md

OpenClaw and others added 2 commits February 24, 2026 07:58
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
doc/model/dpa2.md (1)

34-36: Consider hyphenating “Message-passing” in the heading.

Minor grammar/style tweak for consistency with technical writing norms.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@doc/model/dpa2.md` around lines 34 - 36, Change the heading "Message passing
intuition" to use a hyphen: "Message-passing intuition" so it follows
technical-writing conventions; update the heading text in the doc where the
heading string appears (search for the exact heading "Message passing
intuition") and replace it with "Message-passing intuition".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@doc/model/dpa2.md`:
- Around line 17-21: The LaTeX macros for alpha/beta are corrupted in the doc
(seen in symbols like f_�lpha, g_{�lpha�eta}, h_{�lpha�eta}); locate occurrences
of these symbols (e.g., the definitions/mentions of f_alpha, g_{alpha beta},
h_{alpha beta}) and replace the control-character sequences with proper escapes
\"\\alpha\" and \"\\beta\" (e.g., f_\alpha, g_{\alpha\beta}, h_{\alpha\beta});
apply the same replacements throughout the new section (including the other
occurrences noted around lines 38-40) so all math renders correctly.

---

Nitpick comments:
In `@doc/model/dpa2.md`:
- Around line 34-36: Change the heading "Message passing intuition" to use a
hyphen: "Message-passing intuition" so it follows technical-writing conventions;
update the heading text in the doc where the heading string appears (search for
the exact heading "Message passing intuition") and replace it with
"Message-passing intuition".

ℹ️ Review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 308552a and 556759f.

📒 Files selected for processing (1)
  • doc/model/dpa2.md

OpenClaw and others added 2 commits February 24, 2026 08:09
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
doc/model/dpa2.md (1)

15-21: Avoid the dangling sentence fragment after the channel list.

Line 21 reads like a continuation of the bullets; consider folding it into the preceding sentence for clarity.

✏️ Proposed tweak
-At a high level, DPA-2 builds local representations with three coupled channels (paper notation):
+At a high level, DPA-2 builds local representations with three coupled channels (paper notation) for neighbors $\beta\in\mathcal{N}(\alpha)$ within cutoffs:
@@
-for neighbors $\beta\in\mathcal{N}(\alpha)$ within cutoffs.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@doc/model/dpa2.md` around lines 15 - 21, The trailing fragment "for neighbors
β∈𝒩(α) within cutoffs." should be folded into the preceding sentence describing
the three channels to avoid a dangling fragment; update the sentence containing
the list of channels (mentions of f_α, g_{αβ}, h_{αβ}) so it reads as a single
complete sentence that clarifies these channels are defined for neighbors
β∈𝒩(α) within cutoffs (e.g., append the fragment to the end of the sentence
introducing the three channels).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@doc/model/dpa2.md`:
- Around line 15-21: The trailing fragment "for neighbors β∈𝒩(α) within
cutoffs." should be folded into the preceding sentence describing the three
channels to avoid a dangling fragment; update the sentence containing the list
of channels (mentions of f_α, g_{αβ}, h_{αβ}) so it reads as a single complete
sentence that clarifies these channels are defined for neighbors β∈𝒩(α) within
cutoffs (e.g., append the fragment to the end of the sentence introducing the
three channels).

ℹ️ Review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 556759f and 31964ae.

📒 Files selected for processing (1)
  • doc/model/dpa2.md

@njzjz njzjz requested review from njzjz and wanghan-iapcm February 24, 2026 08:12
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@doc/model/dpa2.md`:
- Around line 29-40: The doc is inconsistent: the repformer description mentions
updating channels f and g but the equation shows updates to h via MP; update the
text so both match. Either change the stage summary to state that repformer
updates f, g, and h (e.g., "updates f, g and per-atom representations h via
message passing") or modify the equation/context to show that h is derived from
f/g (e.g., define h as the combined per-atom representation and write MP in
terms of f/g). Reference the repformer name and symbols f, g, h and the MP
operator so the description and equation are aligned.

ℹ️ Review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 31964ae and a5a4922.

📒 Files selected for processing (1)
  • doc/model/dpa2.md

@codecov
Copy link

codecov bot commented Feb 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.00%. Comparing base (65eea4b) to head (508a11c).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5263   +/-   ##
=======================================
  Coverage   82.00%   82.00%           
=======================================
  Files         750      750           
  Lines       75082    75080    -2     
  Branches     3615     3615           
=======================================
+ Hits        61571    61572    +1     
+ Misses      12347    12346    -1     
+ Partials     1164     1162    -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Authored by OpenClaw (model: gpt-5.3-codex)
@iProzd iProzd added this pull request to the merge queue Feb 25, 2026
Merged via the queue into deepmodeling:master with commit 43b5809 Feb 25, 2026
70 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants