Skip to content

[SPH] Hutchison 2018 Multigrain#1616

Draft
tdavidcl wants to merge 3 commits intoShamrock-code:mainfrom
tdavidcl:patch-2026-02-05-15-21
Draft

[SPH] Hutchison 2018 Multigrain#1616
tdavidcl wants to merge 3 commits intoShamrock-code:mainfrom
tdavidcl:patch-2026-02-05-15-21

Conversation

@tdavidcl
Copy link
Member

@tdavidcl tdavidcl commented Feb 5, 2026

No description provided.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 5, 2026

Thanks @tdavidcl for opening this PR!

You can do multiple things directly here:
1 - Comment pre-commit.ci run to run pre-commit checks.
2 - Comment pre-commit.ci autofix to apply fixes.
3 - Add label autofix.ci to fix authorship & pre-commit for every commit made.
4 - Add label light-ci to only trigger a reduced & faster version of the CI (need the full one before merge).
5 - Add label trigger-ci to create an empty commit to trigger the CI.

Once the workflow completes a message will appear displaying informations related to the run.

Also the PR gets automatically reviewed by gemini, you can:
1 - Comment /gemini review to trigger a review
2 - Comment /gemini summary for a summary
3 - Tag it using @gemini-code-assist either in the PR or in review comments on files

@gemini-code-assist
Copy link

Summary of Changes

Hello @tdavidcl, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request integrates a new multigrain dust model into the SPH solver, specifically focusing on the MonofluidTVI configuration. It introduces new particle fields and implements the numerical calculation for the time evolution of a key dust-related variable, S_j, following the methodology outlined in the Hutchison 2018 paper. Additionally, it enhances the solver's configuration safety by restricting experimental dust features.

Highlights

  • New Dust Model Field: Introduced new particle data fields, 's_j' and 'ds_j_dt', for the MonofluidTVI dust model, representing a key variable and its time derivative.
  • Derivative Calculation Implementation: Implemented the update_derivs_dust_monofluid_tvi_Sj function to compute the time derivative of the 's_j' field, following Equation 51 from the Hutchison 2018 paper.
  • Experimental Feature Safeguard: Added a check in the solver configuration to prevent the use of experimental dust configurations unless explicitly allowed, throwing a runtime error otherwise.
  • Configuration Helper Methods: Added utility methods is_monofluid_tvi, is_monofluid_complete, and has_Sj_field to SolverConfig.hpp to query the active dust model configuration.
Changelog
  • src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp
    • Added is_monofluid_tvi(), is_monofluid_complete(), and has_Sj_field() methods to query the current dust configuration.
    • Modified check_config() to throw a std::runtime_error if experimental dust configurations are used without shamrock::are_experimental_features_allowed() being true.
  • src/shammodels/sph/include/shammodels/sph/modules/UpdateDerivs.hpp
    • Declared the update_derivs_dust_monofluid_tvi_Sj(DustConfig cfg) function for calculating dust derivatives.
  • src/shammodels/sph/src/SolverConfig.cpp
    • Added 's_j' and 'ds_j_dt' fields to the PatchDataLayer and 's_j' to the ghost layout fields when dust_config.has_Sj_field() is true.
  • src/shammodels/sph/src/modules/UpdateDerivs.cpp
    • Integrated the call to update_derivs_dust_monofluid_tvi_Sj into the main update_derivs() function if the dust configuration has the 'Sj' field.
    • Implemented the update_derivs_dust_monofluid_tvi_Sj function, which computes ds_j_dt based on Equation 51 from Hutchison 2018, utilizing various particle properties and neighbor interactions.
Activity
  • New functionality for a specific dust model has been introduced.
  • Modifications span across header and source files related to solver configuration and derivative updates.
  • The changes include the addition of new data fields, helper methods, and a core computational function for dust dynamics.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces functionality for multigrain dust based on the Hutchison (2018) model. The changes span configuration and solver logic, adding new fields and a dedicated derivative update function. My review has identified a critical issue in the new derivative calculation where a key term is hardcoded to zero, which will lead to incorrect results. Additionally, there are several instances of unused variables and redundant code, likely from copy-pasting, which impact readability and performance. I've provided suggestions to clean this up and improve maintainability.

Tscal rho_a_inv = 1. / rho_a;

Tscal s_j_a = s_j[gid];
Tscal Ttilde_sj_a = 0; // TODO

Choose a reason for hiding this comment

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

critical

The variable Ttilde_sj_a is hardcoded to 0 with a // TODO comment. Similarly, Ttilde_sj_b is 0 on line 1346. This causes Ts_weighted and consequently term1 in the calculation of ds_j_dt_a to be always zero, leading to an incorrect implementation of equation 51 from Hutchison (2018). This part of the model needs to be implemented for the feature to work correctly.

Comment on lines +1275 to +1281
auto axyz = buf_axyz.get_write_access(depends_list);
auto vxyz = buf_vxyz.get_read_access(depends_list);
auto hpart = buf_hpart.get_read_access(depends_list);
auto omega = buf_omega.get_read_access(depends_list);
auto pressure = buf_pressure.get_read_access(depends_list);
auto alpha_AV = buf_alpha_AV.get_read_access(depends_list);
auto cs = buf_cs.get_read_access(depends_list);

Choose a reason for hiding this comment

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

high

The kernel update_derivs_dust_monofluid_tvi_Sj appears to contain unused code, likely from being copied from another function. This increases complexity and can introduce performance overhead due to unnecessary data access.

Specifically, the following are acquired but not used:

  • Accessors: axyz, alpha_AV, cs.
  • Variables inside the kernel: alpha_a, rho_a_sq, rho_a_inv, omega_a_rho_a_inv, force_pressure, tmpdU_pressure, alpha_b, cs_b.

Please remove all unused variables and buffer accesses to clean up the code.

Comment on lines 140 to 141
return bool(std::get_if<MonofluidTVI>(&current_mode))
|| bool(std::get_if<MonofluidComplete>(&current_mode));

Choose a reason for hiding this comment

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

medium

The implementation of has_epsilon_field() can be simplified by using the newly introduced helper functions is_monofluid_tvi() and is_monofluid_complete(). This improves readability and maintainability by reusing existing logic.

            return is_monofluid_tvi() || is_monofluid_complete();

Comment on lines 164 to 166
bool is_not_none = bool(std::get_if<MonofluidTVI>(&current_mode))
|| bool(std::get_if<MonofluidComplete>(&current_mode));
if (is_not_none) {

Choose a reason for hiding this comment

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

medium

The is_not_none variable duplicates the logic already present in has_epsilon_field(). You can use has_epsilon_field() directly in the if condition to make the code more concise and less prone to future errors if the conditions for dust being active change.

            if (has_epsilon_field()) {

constexpr Tscal Rker2 = Kernel::Rkern * Kernel::Rkern;

shambase::parallel_for(
cgh, pdat.get_obj_cnt() * ndust, "compute force CD10 AV", [=](u64 gid) {

Choose a reason for hiding this comment

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

medium

The SYCL kernel name "compute force CD10 AV" appears to be a copy-paste artifact and is misleading for a function that computes dust variable derivatives. A more descriptive name, such as "compute ds_j_dt", would improve clarity and debuggability.

Suggested change
cgh, pdat.get_obj_cnt() * ndust, "compute force CD10 AV", [=](u64 gid) {
cgh, pdat.get_obj_cnt() * ndust, "compute ds_j_dt", [=](u64 gid) {

@github-actions
Copy link
Contributor

github-actions bot commented Feb 5, 2026

Workflow report

workflow report corresponding to commit 8676e83
Commiter email is timothee.davidcleris@proton.me

Light CI is enabled. This will only run the basic tests and not the full tests.
Merging a PR require the job "on PR / all" to pass which is disabled in this case.

Pre-commit check report

Pre-commit check: ✅

trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check for merge conflicts................................................Passed
check that executables have shebangs.....................................Passed
check that scripts with shebangs are executable..........................Passed
check for added large files..............................................Passed
check for case conflicts.................................................Passed
check for broken symlinks................................................Passed
check yaml...............................................................Passed
detect private key.......................................................Passed
No-tabs checker..........................................................Passed
Tabs remover.............................................................Passed
Validate GitHub Workflows................................................Passed
clang-format.............................................................Passed
ruff check...............................................................Passed
ruff format..............................................................Passed
Check doxygen headers....................................................Passed
Check license headers....................................................Passed
Check #pragma once.......................................................Passed
Check SYCL #include......................................................Passed
No ssh in git submodules remote..........................................Passed
No UTF-8 in files (except for authors)...................................Passed

Test pipeline can run.

Doxygen diff with main

Removed warnings : 90
New warnings : 93
Warnings count : 8111 → 8114 (0.0%)

Detailed changes :
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:1006: warning: Member to_json(nlohmann::json &j, const SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:1006: warning: Member to_json(nlohmann::json &j, const SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:1012: warning: Member from_json(const nlohmann::json &j, SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:1012: warning: Member from_json(const nlohmann::json &j, SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:1026: warning: Member from_json(const nlohmann::json &j, SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:1026: warning: Member from_json(const nlohmann::json &j, SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:130: warning: Member has_epsilon_field() (function) of struct shammodels::sph::DustConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:130: warning: Member is_monofluid_tvi() (function) of struct shammodels::sph::DustConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:131: warning: Member is_monofluid_complete() (function) of struct shammodels::sph::DustConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:135: warning: Member has_Sj_field() (function) of struct shammodels::sph::DustConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:135: warning: Member has_deltav_field() (function) of struct shammodels::sph::DustConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:139: warning: Member get_dust_nvar() (function) of struct shammodels::sph::DustConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:139: warning: Member has_epsilon_field() (function) of struct shammodels::sph::DustConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:144: warning: Member has_deltav_field() (function) of struct shammodels::sph::DustConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:148: warning: Member get_dust_nvar() (function) of struct shammodels::sph::DustConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:154: warning: Member check_config() (function) of struct shammodels::sph::DustConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:163: warning: Member check_config() (function) of struct shammodels::sph::DustConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:166: warning: Compound shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:168: warning: Compound shammodels::sph::SmoothingLengthConfig::DensityBasedNeighLim is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:169: warning: Member max_neigh_count (variable) of struct shammodels::sph::SmoothingLengthConfig::DensityBasedNeighLim is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:172: warning: Member mode (typedef) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:174: warning: Member config (variable) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:176: warning: Member set_density_based() (function) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:177: warning: Member set_density_based_neigh_lim(u32 max_neigh_count) (function) of struct shammodels::sph::SmoothingLengthConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:180: warning: Compound shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:181: warning: Member is_density_based_neigh_lim() const (function) of struct shammodels::sph::SmoothingLengthConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:182: warning: Compound shammodels::sph::SmoothingLengthConfig::DensityBasedNeighLim is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:183: warning: Member max_neigh_count (variable) of struct shammodels::sph::SmoothingLengthConfig::DensityBasedNeighLim is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:186: warning: Compound shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:186: warning: Member mode (typedef) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:188: warning: Compound shammodels::sph::SelfGravConfig::SFMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:188: warning: Member config (variable) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:189: warning: Member order (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:190: warning: Member opening_angle (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:190: warning: Member set_density_based() (function) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:191: warning: Member leaf_lowering (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:191: warning: Member set_density_based_neigh_lim(u32 max_neigh_count) (function) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:192: warning: Member reduction_level (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:195: warning: Compound shammodels::sph::SelfGravConfig::FMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:195: warning: Member is_density_based_neigh_lim() const (function) of struct shammodels::sph::SmoothingLengthConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:196: warning: Member order (variable) of struct shammodels::sph::SelfGravConfig::FMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:197: warning: Member opening_angle (variable) of struct shammodels::sph::SelfGravConfig::FMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:198: warning: Member reduction_level (variable) of struct shammodels::sph::SelfGravConfig::FMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:200: warning: Compound shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:201: warning: Compound shammodels::sph::SelfGravConfig::MM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:202: warning: Compound shammodels::sph::SelfGravConfig::SFMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:202: warning: Member order (variable) of struct shammodels::sph::SelfGravConfig::MM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:203: warning: Member opening_angle (variable) of struct shammodels::sph::SelfGravConfig::MM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:203: warning: Member order (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:204: warning: Member opening_angle (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:204: warning: Member reduction_level (variable) of struct shammodels::sph::SelfGravConfig::MM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:205: warning: Member leaf_lowering (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:206: warning: Member reduction_level (variable) of struct shammodels::sph::SelfGravConfig::SFMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:207: warning: Compound shammodels::sph::SelfGravConfig::Direct is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:208: warning: Member reference_mode (variable) of struct shammodels::sph::SelfGravConfig::Direct is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:209: warning: Compound shammodels::sph::SelfGravConfig::FMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:210: warning: Member order (variable) of struct shammodels::sph::SelfGravConfig::FMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:211: warning: Member opening_angle (variable) of struct shammodels::sph::SelfGravConfig::FMM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:212: warning: Member reduction_level (variable) of struct shammodels::sph::SelfGravConfig::FMM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:213: warning: Member mode (typedef) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:215: warning: Compound shammodels::sph::SelfGravConfig::MM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:215: warning: Member config (variable) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:216: warning: Member order (variable) of struct shammodels::sph::SelfGravConfig::MM is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:217: warning: Member opening_angle (variable) of struct shammodels::sph::SelfGravConfig::MM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:217: warning: Member set_none() (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:218: warning: Member reduction_level (variable) of struct shammodels::sph::SelfGravConfig::MM is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:218: warning: Member set_direct(bool reference_mode=false) (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:219: warning: Member set_mm(u32 mm_order, f64 opening_angle, u32 reduction_level) (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:221: warning: Compound shammodels::sph::SelfGravConfig::Direct is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:222: warning: Member reference_mode (variable) of struct shammodels::sph::SelfGravConfig::Direct is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:222: warning: Member set_fmm(u32 order, f64 opening_angle, u32 reduction_level) (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:225: warning: Member set_sfmm(u32 order, f64 opening_angle, bool leaf_lowering, u32 reduction_level) (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:227: warning: Member mode (typedef) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:229: warning: Member config (variable) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:229: warning: Member is_none() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:230: warning: Member is_direct() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:231: warning: Member is_mm() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:231: warning: Member set_none() (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:232: warning: Member is_fmm() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:232: warning: Member set_direct(bool reference_mode=false) (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:233: warning: Member is_sfmm() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:233: warning: Member set_mm(u32 mm_order, f64 opening_angle, u32 reduction_level) (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:235: warning: Member is_sg_on() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:236: warning: Member is_sg_off() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:236: warning: Member set_fmm(u32 order, f64 opening_angle, u32 reduction_level) (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:238: warning: Compound shammodels::sph::SelfGravConfig::SofteningPlummer is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:239: warning: Member epsilon (variable) of struct shammodels::sph::SelfGravConfig::SofteningPlummer is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:239: warning: Member set_sfmm(u32 order, f64 opening_angle, bool leaf_lowering, u32 reduction_level) (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:242: warning: Member mode_soft (typedef) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:243: warning: Member is_none() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:243: warning: Member softening_mode (variable) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:244: warning: Member is_direct() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:245: warning: Member is_mm() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:245: warning: Member set_softening_plummer(f64 epsilon) (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:246: warning: Member is_fmm() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:246: warning: Member set_softening_none() (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:247: warning: Member is_sfmm() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:248: warning: Member is_softening_plummer() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:249: warning: Member is_sg_on() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:250: warning: Member is_sg_off() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:252: warning: Compound shammodels::sph::SelfGravConfig::SofteningPlummer is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:253: warning: Member epsilon (variable) of struct shammodels::sph::SelfGravConfig::SofteningPlummer is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:256: warning: Member mode_soft (typedef) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:257: warning: Member softening_mode (variable) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:259: warning: Member set_softening_plummer(f64 epsilon) (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:260: warning: Member set_softening_none() (function) of struct shammodels::sph::SelfGravConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:262: warning: Member is_softening_plummer() const (function) of struct shammodels::sph::SelfGravConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:279: warning: Member RTree (typedef) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:287: warning: Member track_particles_id (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:289: warning: Member set_particle_tracking(bool state) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:293: warning: Member RTree (typedef) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:301: warning: Member track_particles_id (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:303: warning: Member set_particle_tracking(bool state) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:342: warning: Member particle_killing (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:356: warning: Member particle_killing (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:392: warning: Member MHDConfig (typedef) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:393: warning: Member mhd_config (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:406: warning: Member MHDConfig (typedef) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:406: warning: Member set_NonIdealMHD(typename MHDConfig::NonIdealMHD v) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:407: warning: Member mhd_config (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:416: warning: Member DustConfig (typedef) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:417: warning: Member dust_config (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:420: warning: Member set_NonIdealMHD(typename MHDConfig::NonIdealMHD v) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:427: warning: Member self_grav_config (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:430: warning: Member DustConfig (typedef) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:431: warning: Member dust_config (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:441: warning: Member self_grav_config (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:445: warning: Member show_neigh_stats (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:446: warning: Member set_show_neigh_stats(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:459: warning: Member show_neigh_stats (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:460: warning: Member set_show_neigh_stats(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:465: warning: Member smoothing_length_config (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:467: warning: Member set_smoothing_length_density_based() (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:470: warning: Member set_smoothing_length_density_based_neigh_lim(u32 max_neigh_count) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:474: warning: Member enable_particle_reordering (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:475: warning: Member set_enable_particle_reordering(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:476: warning: Member particle_reordering_step_freq (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:477: warning: Member set_particle_reordering_step_freq(u64 freq) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:479: warning: Member smoothing_length_config (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:481: warning: Member set_smoothing_length_density_based() (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:484: warning: Member set_smoothing_length_density_based_neigh_lim(u32 max_neigh_count) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:485: warning: Member save_dt_to_fields (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:486: warning: Member set_save_dt_to_fields(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:487: warning: Member should_save_dt_to_fields() const (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:488: warning: Member enable_particle_reordering (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:489: warning: Member set_enable_particle_reordering(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:489: warning: Member show_ghost_zone_graph (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:490: warning: Member particle_reordering_step_freq (variable) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:490: warning: Member set_show_ghost_zone_graph(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:491: warning: Member set_particle_reordering_step_freq(u64 freq) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:499: warning: Member save_dt_to_fields (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:500: warning: Member set_save_dt_to_fields(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:501: warning: Member should_save_dt_to_fields() const (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:503: warning: Member show_ghost_zone_graph (variable) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:504: warning: Member set_show_ghost_zone_graph(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:553: warning: The following parameter of shammodels::sph::SolverConfig::set_eos_polytropic(Tscal K, Tscal gamma) is not documented:
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:567: warning: The following parameter of shammodels::sph::SolverConfig::set_eos_polytropic(Tscal K, Tscal gamma) is not documented:
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:577: warning: The following parameter of shammodels::sph::SolverConfig::set_eos_locally_isothermalFA2014(Tscal h_over_r) is not documented:
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:577: warning: argument 'cs0' of command @param is not found in the argument list of shammodels::sph::SolverConfig< Tvec, SPHKernel >::set_eos_locally_isothermalFA2014(Tscal h_over_r)
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:577: warning: argument 'q' of command @param is not found in the argument list of shammodels::sph::SolverConfig< Tvec, SPHKernel >::set_eos_locally_isothermalFA2014(Tscal h_over_r)
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:577: warning: argument 'r0' of command @param is not found in the argument list of shammodels::sph::SolverConfig< Tvec, SPHKernel >::set_eos_locally_isothermalFA2014(Tscal h_over_r)
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:591: warning: The following parameter of shammodels::sph::SolverConfig::set_eos_locally_isothermalFA2014(Tscal h_over_r) is not documented:
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:591: warning: argument 'cs0' of command @param is not found in the argument list of shammodels::sph::SolverConfig< Tvec, SPHKernel >::set_eos_locally_isothermalFA2014(Tscal h_over_r)
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:591: warning: argument 'q' of command @param is not found in the argument list of shammodels::sph::SolverConfig< Tvec, SPHKernel >::set_eos_locally_isothermalFA2014(Tscal h_over_r)
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:591: warning: argument 'r0' of command @param is not found in the argument list of shammodels::sph::SolverConfig< Tvec, SPHKernel >::set_eos_locally_isothermalFA2014(Tscal h_over_r)
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:858: warning: Member use_luminosity(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:870: warning: Member check_config() (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:872: warning: Member use_luminosity(bool enable) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:884: warning: Member check_config() (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:894: warning: Member set_layout(shamrock::patch::PatchDataLayerLayout &pdl) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:895: warning: Member set_ghost_layout(shamrock::patch::PatchDataLayerLayout &ghost_layout) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:908: warning: Member set_layout(shamrock::patch::PatchDataLayerLayout &pdl) (function) of struct shammodels::sph::SolverConfig is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:909: warning: Member set_ghost_layout(shamrock::patch::PatchDataLayerLayout &ghost_layout) (function) of struct shammodels::sph::SolverConfig is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:964: warning: Member to_json(nlohmann::json &j, const ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:964: warning: Member to_json(nlohmann::json &j, const ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:977: warning: Member from_json(const nlohmann::json &j, ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:977: warning: Member from_json(const nlohmann::json &j, ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:978: warning: Member to_json(nlohmann::json &j, const ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:978: warning: Member to_json(nlohmann::json &j, const ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:991: warning: Member from_json(const nlohmann::json &j, ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:991: warning: Member from_json(const nlohmann::json &j, ParticleKillingConfig< Tvec > &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:992: warning: Member to_json(nlohmann::json &j, const SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/include/shammodels/sph/SolverConfig.hpp:992: warning: Member to_json(nlohmann::json &j, const SmoothingLengthConfig &p) (function) of namespace shammodels::sph is not documented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant