Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of basic time integration #158

Merged
merged 68 commits into from
Oct 25, 2024
Merged

Conversation

greole
Copy link
Contributor

@greole greole commented Oct 7, 2024

additional changes:

  • rename namespace DSL to dsl
  • move timeIntegration from finiteVolume/cellCentred to dsl

HenningScheufler and others added 30 commits September 29, 2024 20:10
Co-authored-by: bevanwsjones <bevanwsjones@gmail.com>
Co-authored-by: Henning Scheufler <henning.scheufler@web.de>
- updates docstrings
- fix formating
- fix some compilation issues
Implementation of operator coefficient handler
@greole greole force-pushed the impl/timeIntegration branch from 9cab253 to a9bf558 Compare October 11, 2024 08:52
@greole greole requested a review from bevanwsjones October 16, 2024 07:33
Copy link

Deployed test documentation to https://exasim-project.com/NeoFOAM/Build_PR_158

Copy link
Collaborator

@bevanwsjones bevanwsjones left a comment

Choose a reason for hiding this comment

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

I think we can put this in as in. Raised a few points but I think overall its good to go! 🥳

*
* @return The size of the internal field
*/
size_t size() const { return field_.internalField().size(); }
Copy link
Collaborator

Choose a reason for hiding this comment

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

It might be better to in the future break this into a compund size return:
e.g.

std::vector<size_t> size_boundary(); // returns vector of every boundary size.  
size_t size_internal(); // returns internal size.
vector<size_t> size(); // returns size of the internal field and then boundary field, by calling the above 2.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

or would it be an option to return a tuple of internal and boundary size?

Copy link
Collaborator

Choose a reason for hiding this comment

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

That is a better suggestion.

}

// auto fB = Field(exec, 1, 4.0);
// fvcc::TimeIntegration timeIntergrator(eqnSys, dict);
Copy link
Collaborator

Choose a reason for hiding this comment

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

My only general comment is the test title and file are named 'time integration', but then we are testing via solve, which is a bit indirect. In any case for the moment, I don't think it matters - at least it's tested.


TimeIntegration(const Dictionary& dict)
: timeIntegratorStrategy_(
TimeIntegrationFactory<SolutionType>::create(dict.get<std::string>("type"), dict)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does the create function come from the RuntimeSelectionFactory?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes!


static std::string schema() { return "none"; }

virtual void solve(Expression& eqn, SolutionType& sol) const override
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
virtual void solve(Expression& eqn, SolutionType& sol) const override
void solve(Expression& eqn, SolutionType& sol) const override

@greole greole force-pushed the impl/timeIntegration branch from b07b3fe to ce14d19 Compare October 25, 2024 08:19
@greole greole merged commit d752b23 into stack/dsl Oct 25, 2024
12 of 14 checks passed
@greole greole deleted the impl/timeIntegration branch October 25, 2024 09:03
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.

3 participants