Skip to content

Conversation

@IshaanDesai
Copy link
Member

This PR consists of the functionality to detect quadrature points of a provided mesh and define them as coupling vertices. The functionality is extracted from #135 because it is deemed to be sufficient as a standalone feature. Quadrature points of a mesh having C3D8 (Hex) or C3D4 (Tet) elements can be detected. In the future, more types of elements can be supported by extending this functionality.

@IshaanDesai
Copy link
Member Author

The tutorial cases to be added via precice/tutorials#653 tests this functionality.

@IshaanDesai IshaanDesai requested a review from MakisH September 29, 2025 19:23
Copy link
Member

@MakisH MakisH left a comment

Choose a reason for hiding this comment

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

Some first comments, I have not yet checked if it works with the given tutorial.

If #135 is needed for precice/tutorials#653, how can precice/tutorials#653 be a test case for this reduced version? How would the behavior change?

How easy would it be to implement another, simpler tutorial, such as https://precice.org/tutorials-volume-coupled-diffusion.html?

Copy link
Member

Choose a reason for hiding this comment

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

I assume that these two files contain changes compared to the original CalculiX files. A comment on the modifications would be very helpful when porting to later versions.

Was the functionality provided by the deleted file never needed, or is it just substituted by the two new files?

Copy link
Member Author

Choose a reason for hiding this comment

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

I assume that these two files contain changes compared to the original CalculiX files. A comment on the modifications would be very helpful when porting to later versions.

Yes, the contents of both the new Fortran files is essentially copied from the CalculiX source code. Additionally I put some of my own code in there. I will add comments in the file.

Was the functionality provided by the deleted file never needed, or is it just substituted by the two new files?

The functionality in the deleted file was not used. I tried to use it, but the Gauss point coordinates returned by it were not correct. Hence the decision to remove the file and add two separate files for two different elements. it id worth noting that in the future, these two files can be merged.

@IshaanDesai
Copy link
Member Author

I think I did not frame my initial comment correctly. This PR contains a part of the functionality which together with the contents of #135 can be used to run the two-scale notch tutorial case. Standalone this PR cannot be tested, because we do not have a volumetric coupling case with CalculiX.

We can either decide to merge this PR based on a code review, or think about adding a simple volumetric coupling tutorial case. I can look up the CalculiX tutorials to try to find a case which we can easily modify.

@MakisH
Copy link
Member

MakisH commented Oct 8, 2025

In principle, we could merge this without a test case, hoping that someone (else?) in the future might pick into that again. But I foresee a lot of "theoretically, it supports volume coupling, but we have no example / do not really know".

I would suggest to think a bit more of a simple tutorial case, ideally reusing one of the current ones, even if it does not have physical motivation.

@IshaanDesai
Copy link
Member Author

In principle, we could merge this without a test case, hoping that someone (else?) in the future might pick into that again. But I foresee a lot of "theoretically, it supports volume coupling, but we have no example / do not really know".

Actually the follow-up PR to this would be #135 which uses the functionality. I simply extracted the functionality from that PR to keep features separate and have a better git history.

I would suggest to think a bit more of a simple tutorial case, ideally reusing one of the current ones, even if it does not have physical motivation.

Let me think a bit more about this.

@MakisH
Copy link
Member

MakisH commented Oct 8, 2025

By the way, we should also extend the documentation of the adapter to mention the exact capabilities and limitations of this.

@IshaanDesai
Copy link
Member Author

By the way, we should also extend the documentation of the adapter to mention the exact capabilities and limitations of this.

Yes. Right now the documentation is in precice/precice.github.io#530. I can extract the parts relevant for this PR and prepare a new PR for the website.

@MakisH
Copy link
Member

MakisH commented Oct 8, 2025

By the way, we should also extend the documentation of the adapter to mention the exact capabilities and limitations of this.

Yes. Right now the documentation is in precice/precice.github.io#530. I can extract the parts relevant for this PR and prepare a new PR for the website.

It actually looks like that PR would be ready to merge if only it shifted a bit from the multiscale to the general volume coupling perspective, showing multiscale as one example.

@IshaanDesai
Copy link
Member Author

It actually looks like that PR would be ready to merge if only it shifted a bit from the multiscale to the general volume coupling perspective, showing multiscale as one example.

I will change the language in that PR then, so we can proceed to merging it. I would also recommend merging this PR then.

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.

2 participants