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

Restructure tutorials #125

Merged
merged 55 commits into from
Mar 17, 2021
Merged

Restructure tutorials #125

merged 55 commits into from
Mar 17, 2021

Conversation

fsimonis
Copy link
Member

@fsimonis fsimonis commented Dec 8, 2020

This PR is a common communication channel for restructuring the tutorials, which should simplify the integration with the website.

@fsimonis fsimonis marked this pull request as draft December 8, 2020 11:38
Copy taken from revision precice/openfoam-adapter@c26af32 from
openfoam-adapter/tutorials/CHT/flow-over-plate/buoyantPimpleFoam-laplacianFoam/
Main modification: Case is now real 2D case.

Revision 1c891a7
@fsimonis
Copy link
Member Author

Can someone with all adapters installed please try to merge this?
There are tons of conflicts due to the diverging history and I cannot verify if the merge is successful or not.

@davidscn
Copy link
Member

Not sure about all available merge strategies. I see a lot of conflicts in the FSI cases: we can safely delete all flap_perp* and cylinder_flap cases. Maybe a forced develop update is in the end a better solution (for us, not the user).

@MakisH
Copy link
Member

MakisH commented Jan 27, 2021

I am a bit concerned that we will probably lose a lot of the history when merging this actually. What is a good way to prevent this?

@BenjaminRodenberg
Copy link
Member

I am a bit concerned that we will probably lose a lot of the history when merging this actually. What is a good way to prevent this?

One solution that might help us is splitting this PR into two PRs:

  1. Make all relevant changes to prepare the restructuring: change parameters, make all cases consistent, simplify solvers, add new cases, if this is necessary. Here, we should mainly see small, but important changes.
  2. Do the actual restructuring: only move files (don't change them!) delete duplicates. Here, it will be difficult to understand all changes in detail, since there will be a lot of code removals and additions, but we are only moving around files. So nothing complicated happens inside the files.

Currently, I see that both points are mixed up in this PR and this will make it very hard to understand what this PR changes from a future perspective. The important changes are hidden in a huge diff.

I think we can still continue using this PR for preparing (and discovering) all the relevant changes for the restructuring. However, if we want to keep a sane history, we need to invest some time into de-spaghettiing this PR at the end. Maybe, by going back to develop and reapplying all changes step-by-step in a manual fashion.

@uekerman
Copy link
Member

uekerman commented Feb 1, 2021

One solution that might help us is splitting this PR into two PRs:

I am afraid that this will not be possible (or not that easy). Many file changes are directly related to the flattening.

@BenjaminRodenberg
Copy link
Member

BenjaminRodenberg commented Feb 3, 2021

I took care of resolving the merge conflicts. It's a quite big merge, so might be a good idea to merge this into your respective PRs. Some information on what has changed:

I added the tick-boxes to indicate open todos that I see from the merge. The things that have to be done are marked in bold.

@davidscn
Copy link
Member

davidscn commented Feb 5, 2021

@BenjaminRodenberg the rigid body restructuring is covered in #145, the two flap case is covered in #151 and the Su2-Fenics perpendicular flap is already included in #146. Please don't ask me why, but solid-fenics is not part of turek-hron-fsi3 (have a look at the project description). So, you could check all of your open boxes.

@uekerman
Copy link
Member

uekerman commented Feb 6, 2021

Please don't ask me why, but solid-fenics is not part of turek-hron-fsi3

Because FEniCS only has a linear solid solver and therefore gives too bad results for the FSI3.

@BenjaminRodenberg
Copy link
Member

Please don't ask me why, but solid-fenics is not part of turek-hron-fsi3

Because FEniCS only has a linear solid solver and therefore gives too bad results for the FSI3.

I agree that we should not have it in turek-hron-fsi3 anymore, if it does not meet the quality criteria. Completely throwing it away and/or forgetting about it would also be bad, since it took a lot of work to set up this case.

I can take the care of putting it onto a branch and create a (draft) PR. This will avoid that we totally forget about the case and it might be a nice starting point for a thesis or similar. The currently missing steps are 1) to implement a non-linear model and 2) make sure that results agree with the other cases.

Alternatively, we can also create turek-hron-fsi3-linear, but this does not really contribute a meaningful case and looks to me like a dead-end with a lot of unnecessary maintainment.

@BenjaminRodenberg
Copy link
Member

Adding the namespaces to the tutorials, documentation etc. (over some time) to slowly teach users a new best practice

from precice/precice#928 (comment) could also fit into this PR, since we are touching all the configs anyway. But it also makes this PR even more gigantic.

davidscn and others added 6 commits February 15, 2021 12:28
* Add SU2 and fenics case

* First confiduration draft

* Create dealii case and delete previous cases

* Delete old directory structure and add OF case

* Cleanup Calculix case

* Adjust namings in the precice-config file

* Add new naming options for SU2

* Minor config updates for OpennFOAM and nutils

* Add a cleaning script

* Remove additional mesh from nutils

* Unify physical parameters (apart from SU2)

* Speed-up simulation due to iteration count

* Apply suggestions from code review

Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>

* Remove appended zero indices in SU2

* First README draft

* Update README

* Adjust SU2 case for compressible flows

* Modifying CCX setup to have 1.0 width in Z direction, linear solver and lower stiffness

* Adjust ccx setting and remove directory name from OF

* Apply suggestions from code review

Co-authored-by: Benjamin Rodenberg <benjamin.rodenberg@in.tum.de>
Co-authored-by: Ishaan Desai <ishaan.desai@ipvs.uni-stuttgart.de>

* Add a plotDisplacement script

* Remove digit accuracy for deal.II parameter

* Provide a description on how to use the plotDisplacement in the README file

* Apply naming convention of coupling data naming

* CLean-up naming in blockMeshDict

* Update nutils fluid to new pyprecice, new Nutils and single mesh

* Remove extrapolation from precice config

* SU2 settings takeover from BR and lower pressure gradient

* Remove unstructured cases from rebasing

* Fix Typo

* Refining the CCX Mesh

* higher refinement in CCX Mesh

* Add APLHA keyword to CalculiX setup

* Tweak the README a bit

* Tweak perp flap convergence for Nutils

* Change pressure gradient at the fluid outlet for SU2

Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>
Co-authored-by: ishaandesai <ishaandesai@gmail.com>
Co-authored-by: Benjamin Rodenberg <benjamin.rodenberg@in.tum.de>
Co-authored-by: Ishaan Desai <ishaan.desai@ipvs.uni-stuttgart.de>
* Restructure 3D Tube case

* Fix ccx paths and cleaning script

* Apply new naming conventions to config file

* Format xml in precice style

* Add first version of multi coupling case

* Adjust paths according to restructure

* Add the heat exchanger case

* Add run scripts for fluid cases

* Adjust download script

* Add partitioned elastic beam

* Apply naming conventions and provide cleaning script

* Restructure steady state plate

* Change 0 dir to 0.orig

* Fix blockMesh in run.sh

* Port heat-exchanger README from preCICE wiki

* Port partitioned beam README from preCICE wiki

* Add a README for the 3D tube

* Add code_aster README from code-aster wiki

* Apply multiple minor changes to preCICE configs and READMEs

* Adjust naming scheme in multiple flaps case

* Adjust naming of partitioned beam

* Switch dimension in steady state heated plate

* Remove vtk tag for multiple flap case

* Remove vtk tag from remainig mesh

Co-authored-by: uekerman <benjamin.uekermann@gmail.com>
)

* Strip case of everything besides simple heat conduction setup.

* Adds precice-config.xml supporting parallel runs.

* Add documentation and nutils case.

* Add complex case. Based on ae77ae5.

* Cleanup and Update to newest version of python bindings.

* Use scalar-valued flux.

* Apply new structure to complex case.

* Remove subcycling.

* Simplify heat nutils to one mesh, make config consistent

* Fix names.

* BCs working.

* Minor restructuring

* Fix initial condition and output.

* Mark nutils case as under construction. See #152.

* Add link to Nutils

* Update partitioned-heat-conduction-complex/precice-config.xml

Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>

* Update partitioned-heat-conduction-complex/precice-config.xml

Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>

* Update partitioned-heat-conduction-complex/precice-config.xml

Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>

* Update partitioned-heat-conduction-complex/precice-config.xml

Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>

* Add note for website.

* Provide more details and use x_c = 1

* Cleanup for consistency with non-complex case.

* Fix formatting

* Cleanup w.r.t visualization

* Add summary.

* Remove FEniCS from setup.

Co-authored-by: uekerman <benjamin.uekermann@gmail.com>
alpha_m and alpha_f must be 0 to obtain the Newmark Beta scheme. We currently cannot support alpha_f != 0 with preCICE as long as Waveform Iteration is not implemented.
* Add a first draft version

* Add cleaning script and calculix draft

* Adjust precice config and openfoam cases

* Remove non-existing mesh tag

* Tune cases to new structure

* Make Nutils case consistent (one mesh, 2D)

* Update README for flow-over-plate

* Remove Calculix case

* Clarify Vynnycky reference description

Co-authored-by: Benjamin Rodenberg <benjamin.rodenberg@in.tum.de>

* Rename heat.py to solid.py for fenics

* Update precice config in order to run in parallel

* Remove calculix from the README

* Add physical parameters to text

* Remove converToMeters in OpenFOAM blockMesh

* Use correct inlet velocity

* Clearify on Prandtl number

Co-authored-by: Benjamin Uekermann <benjamin.uekermann@ipvs.uni-stuttgart.de>
Co-authored-by: Benjamin Rodenberg <benjamin.rodenberg@in.tum.de>
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.

5 participants