Spatial hybrid: combineHybrid keeps no-op particle jump processes that suppress competing Smoldyn reactions
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 70/100
Hướng nghiên cứu
Start at ParticleMathMapping.combineHybrid() where continuous-variable actions are already stripped from ParticleJumpProcess objects; extend that logic to drop a process whose remaining destroy/create multisets cancel on the same particle variables. Then locate the tests (or a runnable headless model) that generate the .smoldynInput so you can confirm the no-op reaction influx O -> O k line disappears while open/close reactions and the .fvinput PDE source stay intact. Done means a cancelling jump process is omitted from the Smoldyn input and the existing particle-hybrid mapping tests still pass.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary. In a spatial PDE/particle hybrid application, a reaction in which a particle species catalyses a continuous species keeps a particle jump process that destroys and re-creates the same particle. That process has no effect on the particles, but it is written to the .smoldynInput as e.g. reaction influx O -> O 6022.14. Smoldyn assigns competing first-order reactions probabilities ∝ k_i/Σk, so a fast no-op suppresses the particle's real reactions.
Examples of such reactions:
O → O + U;- a General kinetics reaction
→ UwithOas a modifier, which VCell turns into the same process.
Example (Schaff et al. 2016, Test 1: calcium sparks).
- Model: channels
C ⇌ Oare particles (k_on = 1, k_off = 5 s⁻¹). CalciumUisForceContinuous, with influxO → O + UatJ·602.214 ≈ 6022 s⁻¹. - Generated Smoldyn reactions:
open C -> O 1.0;,close O -> C 5.0;andinflux O -> O 6022.14076;. - Effect: closing is effectively suppressed. The mean open fraction is ~0.9 instead of k_on/(k_on+k_off) = 1/6, and calcium is ~5× too high.
- Fix confirmed: removing the
influxline from the.smoldynInputrestores the exact open fraction. The PDE sourceRATE ((9.99… * O) - U)in.fvinputis unaffected and correct.
Suggested fix. In ParticleMathMapping.combineHybrid(), after removing actions on continuous variables, also drop a ParticleJumpProcess whose remaining actions cancel: equal destroy/create multisets on the same particle variables. This is the same idea as the existing if (!particleJumpProcess.getActions().isEmpty()) check, extended to cancelling actions.
Context. Found while driving the hybrid solver headlessly (pyvcell → libvcell → pyvcell-fvsolver) in vivarium-collective/viva-pde-particle. The workaround there is viva_pde_particle.reference.vcell_native.drop_noop_reactions.
🤖 Generated with Claude Code
- Ngôn ngữ chính
- Java
- Star
- 140
- Fork
- 35
- Merge trung bình
- 22 giờ 6 phút
- Pull request đã merge (30 ngày)
- 14
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của virtualcell/vcell
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
virtualcell/vcell#2193 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Accessibility Requirement Java-based User Interface
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
virtualcell/vcell#2138 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Accessibility Requirement Java-based
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
virtualcell/vcell#2137 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Accessibility Requirement User Interface
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
virtualcell/vcell#2135 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Accessibility Requirement Java-based User Interface
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
virtualcell/vcell#2134 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của virtualcell/vcell
Issue tương tự
-
pdfium-drift
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
Stirling-Tools/JPDFium#240 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 60/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
Vakore/ZappierGames#285 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
objectionary/jeo-maven-plugin#2008 ·
Maintainer thường phản hồi trong vòng 1 ngày