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

Update to CalculiX 2.19 #78

Merged
merged 7 commits into from
Feb 8, 2022
Merged

Conversation

boris-martin
Copy link
Collaborator

@boris-martin boris-martin commented Jan 23, 2022

CalculiX 2.18 was released a few months ago, but 2.19 came before we updated the adapter, so I wrote an updated version for it while skipping 2.18.

Methodology

I took the files nonlingeo.c, CalculiX and ccx_2.19.c from CalculiX source code and reproduced changes by comparing 2.16 version of these files and 2.16 version of the adapter. Quite easy since most changes are documented or easy to spot ( /* Adapter */ comment or preCICE calls). I checked with diff (between CalculiX 2.16 and adapter 2.16) that I didn't forget any part. (By the way, I wish I had found earlier the option diff -w to ignore identation when comparing files!)
Then, simply updating the makefile did the trick.

Status

  • Compiles successfully
  • Gives correct (good-looking) result on the "Partitioned Beam tutorial" but crashes at "iteration 1 of time window 51 of 50". This doesn't seem to affect the output. Investigation coming, but if you spot it let me know! FIXED, all works
  • Test on other tutorials

I don't know if there is something else to check (i.e. other tests than "running tutorials"), so let me know if something else is necessary.

Miscellaneous

  • I tried to be minimally invasive so I didn't change the indentation of the code, but it is actually terrible, so I wonder if I should format it ? This stuff is seriously hurting my eyes.
  • For maintainability it would probably be useful to documente somewhere the steps for porting. If I remember right there was discussion with Guido Dhondt about integrating upstream, but I don't know the details nor how many times we'll have to play this little game again.

@boris-martin
Copy link
Collaborator Author

Fixed the crash, I had forgotten a few stars when dealing with some pointers. 🙈
I'll run a few other tutorials but I think it's ready-to-merge otherwise.

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.

One thing to fix first in the Makefile.

Other than that, I tried running:

  • perpendicular-flap: runs and results look reasonable.
  • heat-exchanger: runs, but OpenFOAM explodes with negative temperatures already at Time = 5. Last time I checked, it was running fine (and I am using again preCICE v2.3.0, as released). I will investigate.
    • Update: Same for CalculiX 2.16.
    • Update: Same for CalculiX 2.16 with OpenFOAM v2106 and adapter from master, as well as tutorials from master. I don't know what is going on, but it does not look related to this PR.

Makefile Outdated Show resolved Hide resolved
@boris-martin
Copy link
Collaborator Author

Fixed the bad versioning and added a CCX_VERSION variable.
By the way, I added the flag for using OpenMP with Spooles (see #34 (comment) ) since my conclusion is that it should be there by default on makefiles of all branches, but this wasn't exactly the cleanest place to put it.

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.

Nice! The code now builds correctly and the perpendicular-flap is running. I have not looked at any code changes, as the diff is quite large (as usual).

@boris-martin boris-martin merged commit 1d2d1be into precice:develop Feb 8, 2022
@KyleDavisSA
Copy link
Contributor

I know it is a little late, but I did not find anything unusual about the file changes, so also happy its merged :).

@MakisH MakisH mentioned this pull request Feb 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

3 participants