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

Release v202211 #305

Merged
merged 46 commits into from
Nov 21, 2022
Merged

Release v202211 #305

merged 46 commits into from
Nov 21, 2022

Conversation

MakisH
Copy link
Member

@MakisH MakisH commented Nov 14, 2022

This is a rather large release with many new tutorials and tutorial cases. See the CHANGELOG.md for more.

MakisH and others added 30 commits March 11, 2022 12:47
Co-authored-by: Benjamin Uekermann <[email protected]>
Found via `codespell -q 3 -L nd,precice,sur`
Co-authored-by: Benjamin Uekermann <[email protected]>
Co-authored-by: Gerasimos Chourdakis <[email protected]>
Co-authored-by: Gertjan van Zwieten <[email protected]>
Co-authored-by: Frédéric Simonis <[email protected]>
…odes to v7.0 (#273)

* updated heat.py

* updated flow-over-heated-plate
In the quickstart guide change the download link of preCICE from 2.3.0 to 2.4.0
Co-authored-by: Nille <[email protected]>
Co-authored-by: Benjamin Uekermann <[email protected]>
Co-authored-by: Gerasimos Chourdakis <[email protected]>
Co-authored-by: Philip Cardiff <[email protected]>
Co-authored-by: Gerasimos Chourdakis <[email protected]>
* added calculix modal dynamic case

* update README and number of frequencies

* moved to one folder

* finished script

* Removed old folder

* removed dead code

* refactored run.sh

* updated calculix cleanup script

* schellcheck

* Readme

* Update perpendicular-flap/README.md

Co-authored-by: Gerasimos Chourdakis <[email protected]>

* improved doc

Co-authored-by: Gerasimos Chourdakis <[email protected]>
* Added mesh, case and config

* Updated instructions for CalculiX.

* Moved to new folder

* restored README

* removed case

* removed redundant file

* first README draft

* format

* expanded post processing

* format

* format with correct args

* Update flow-over-heated-plate-calculix/README.md

Co-authored-by: Gerasimos Chourdakis <[email protected]>

* added adapter version

* moved generate mesh script into run

* fixed non matching end times

* refined solid mesh

* fix wrong link in readme

* added explanation for time shift

* added reference to main tutorial

* renamed dir

* Update OpenFOAM write frequency

Co-authored-by: Gerasimos Chourdakis <[email protected]>

* concision

Co-authored-by: Gerasimos Chourdakis <[email protected]>

* Improved post-processing description

Co-authored-by: Gerasimos Chourdakis <[email protected]>

* renamed folder

* added blank line

* format

Co-authored-by: Gerasimos Chourdakis <[email protected]>
This is not supported by Intel oneAPI C++ compiler:
```
rigid_body_solver.cpp(117): error: expression must have a constant value
    constexpr double inertia_moment = (1. / 12) * mass * (4 * std::pow(length, 2) + std::pow(height, 2));
                                      ^
/usr/include/c++/8/cmath(418): note: cannot call non-constexpr function "pow" (declared at line 140 of "/usr/include/bits/mathcalls.h")
        return pow(__type(__x), __type(__y));
               ^
```
* Add turbine blade tutorials for ASTE

Co-authored-by: Gerasimos Chourdakis <[email protected]>
Co-authored-by: Benjamin Uekermann <[email protected]>
* first draft

* updated time stepping & output folder name

* plotting script

* renamed tutorial

* added runnable scripts

* clean.sh

* removed export

* first README draft

* linting

* minor text fix

Co-authored-by: Ishaan Desai <[email protected]>

* description reformulation

Co-authored-by: Ishaan Desai <[email protected]>

* Update channel-transport-reaction/README.md

Co-authored-by: Ishaan Desai <[email protected]>

* Update channel-transport-reaction/README.md

Co-authored-by: Ishaan Desai <[email protected]>

* improved BC doc

* improved integrals doc

* update plot script

* Formatting

* Changing file names to more suitable terminologies

* update postprocessing script

* update import

* one more try

* one more try

* renamed config file

* renamed folder

* cleanup

* renamed participant

* fixed bad names

* added missing import

* added pics

* Minor tweaks to README

* removed extra rm in cleaning tool

Co-authored-by: Ishaan Desai <[email protected]>
Co-authored-by: Ishaan Desai <[email protected]>
* Fix cleaning tool
* Port docs to new names
* Overhaul script comments
* Extend documentation

Co-authored-by: Gerasimos Chourdakis <[email protected]>
Co-authored-by: Benjamin Uekermann <[email protected]>
According to precice/openfoam-adapter#252

Does not need a changelog entry (not previously released).
* forward compatibility

This patch removes the leading dashes for cli arguments in the run script,
which were always optional but have recently been forbidden. The changes are
compatible with all versions of nutils.

* disable rich output

This patch disables rich output by default, in order for standard output
logging to co-exist nicely with precice's log messages.

* remove droptol for projection of initial condition

This patch removes the droptol argument in the projection of the initial
condition, which is a full domain projection that should include all degrees of
freedom.

* simplify definition of sqr0

This patch simplifies the boundary constraints by using uexact.

* switch from asfunction to sample.basis

This patch replaces sample.asfunction by sample.basis combined with an argument
for readdata. While both constructions yield the same object internally
(asfunction uses basis under the hood), the new form makes it possible to
construct functionals ahead of time and benefit from cached data structures,
rather that recreate them at every iteration (see next commit).

* remove redefinition of sqr and res in time loop

This patch defines res and sqr outside the time loop, so that the only things
changing per timestep are the arguments (including readdata). The resulting
code is both cleaner and faster due to reuse of cached structures.

* introduce precice_read, precice_write

This patch simplifies the read and write instructions by sticking the arguments
inside functools.partial, leaving a more readable remainder of the code.

* improve flux evaluation

This patch replaces the projection matrix by a functional based equivalent that
is a bit more ideomatic nutils. It also fixes a consistency issue at the ends
of the boundary and adds an elaborate comment to explain the construction.

* streamline checkpointing

This patch bundles the checkpointed state in a single `checkpoint' tuple and
unifies output if the initial condition and following time steps.

* make parameters into function arguments

This patch makes all parameters into arguments of main so that they can be
configured from the command line (though not via run.sh). This makes it
possible, for example, to experiment with different timesteps on either half of
the simulation.
in partitioned-heat tutorial
@kanishkbh
Copy link

I ran the following cases and they were successful:

  • Flow over heated plate: solid-fenics + fluid-openfoam

  • Channel Transport Reaction: chemical-fenics + fluid-fenics

@thesamriel
Copy link
Contributor

thesamriel commented Nov 16, 2022

Tested the following cases

  • channel-transport
  • oscillator (Change README instructions from ./run.sh -m to ./run.sh -l and ./run.sh -n to ./run.sh -r
  • partitioned-heat-condution-direct

@MakisH MakisH marked this pull request as ready for review November 18, 2022 13:28
@MakisH MakisH self-assigned this Nov 18, 2022
Copy link
Member

@IshaanDesai IshaanDesai left a comment

Choose a reason for hiding this comment

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

I ran the following tutorials and checked the results for their correctness in ParaView:

  • partitioned-heat-conduction: fenics-fenics, nutils-nutils
  • perpendicular-flap: fluid-openfoam and solid-fenics, fluid-su2 and solid-calculix
  • flow-over-heated-plate: fluid- openfoam and solid-nutils
  • elastic-tube-3d: fluid-openfoam and solid-calculix

All cases were run the preCICE VM with the develop branch of the tutorials cloned manually.

@fsimonis
Copy link
Member

fsimonis commented Nov 21, 2022

Testing also in vm precice/vm#50

channel-transport/fluid-nutils fails. @thesamriel did you test using a different nutils version?

opened log at file:///home/vagrant/public_html/fluid.py/log-1.html
nutils v6.3 "garak-guksu"
start Mon Nov 21 11:22:59 2022
Running utils
ValueError: not a 'str': ['u']

@KyleDavisSA
Copy link
Contributor

I tested the following OpenFOAM-CalculiX tutorials:

  • elastic-tube-3D - serial and parallel OF,
  • flow-over-heated-plate-two-meshes,
  • heat-exchanger,
  • heat-exchanger-simplified,
  • partitioned-elastic-beam,
  • perpendicular-flap.

All test case ran perfectly fine with:

  • OpenFOAM v2012 with openfoam-adapter v1.2.0 from master branch (7afeaed),
  • CalculX V2.20 release
  • preCICE v2.5.0 release,
  • tutorials develop (fc32d55 )

@IshaanDesai
Copy link
Member

channel-transport/fluid-nutils fails. @thesamriel did you test using a different nutils version?

The code is indeed working only for Nutils v7.0 and up and the VM has Nutils v6.3. Updating the Nutils version in the VM is a solution.

@thesamriel
Copy link
Contributor

channel-transport/fluid-nutils fails. @thesamriel did you test using a different nutils version?

Yes, my bad, I didn't use the VM, but my system wide up-to-date packages. Sorry!

Copy link
Contributor

@KyleDavisSA KyleDavisSA left a comment

Choose a reason for hiding this comment

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

All CalculiX tests worked as expected.

CHANGELOG.md Outdated Show resolved Hide resolved
@MakisH MakisH merged commit 0482e5b into master Nov 21, 2022
@MakisH
Copy link
Member Author

MakisH commented Nov 21, 2022

Thank you all very much for helping with testing! I also tested several cases myself over the past weeks, and I checked all of them in the VM, fixing some VM issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.