-
-
Notifications
You must be signed in to change notification settings - Fork 128
Partitioned heat conduction (G+Smo participant) #604
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
base: develop
Are you sure you want to change the base?
Partitioned heat conduction (G+Smo participant) #604
Conversation
Let's first iterate on #603 and then here, OK? |
@Crazy-Rich-Meghan do you plan to continue this development? It seems to currently be in draft state. We are happy to help get it in a good state! |
Hi everyone, Sorry for the delay! I have updated the partitioned heat conduction example from our side, this version supports the direct mesh access feature. To run the benchmark you need to do the following: Let me know if you get stuck somewhere! |
thanks for the updates! I am now trying to build on my system, based on the stable branch (Commit ef4c754785cf4949d3a89b916eed807b74b97a9b, October 2). I do get a building error, though (
By the way, I edited your instructions above to add a number next to the |
# Remove precice-profiling directory | ||
if [ -d "precice-profiling" ]; then | ||
rm -rf precice-profiling | ||
echo "Deleted 'precice-profiling' folder." | ||
fi | ||
|
||
# Remove precice-run directory | ||
if [ -d "../precice-run" ]; then | ||
rm -rf ../precice-run | ||
echo "Deleted 'precice-run' folder." | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should be handled by clean_precice_logs()
, called by clean_gismo()
(see https://github.com/precice/tutorials/blob/develop/tools/cleaning-tools.sh)
# Remove files ending with .pvd, .vts, .vtp, .log, and .txt | ||
for ext in pvd vts vtp log txt; do | ||
find . -type f -name "*.$ext" -exec rm -f {} \; | ||
echo "Deleted all *.$ext files." | ||
done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a bit too intrusive (especially for the .txt
files). Better do a fine-grained extension of clean_gismo()
.
Same in the neumann-gismo
directory.
|
||
* OpenFOAM. This case uses the custom [heatTransfer](https://github.com/precice/tutorials/blob/master/partitioned-heat-conduction/solver-openfoam/heatTransfer.C) solver (find it in `solver-openfoam` and build with `wmake`). Read more details in the [OpenFOAM adapter](https://precice.org/adapter-openfoam-overview.html). | ||
|
||
* G+Smo. Inatsll [G+Smo](https://github.com/gismo/gismo). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* G+Smo. Inatsll [G+Smo](https://github.com/gismo/gismo). | |
* G+Smo. Install [G+Smo](https://github.com/gismo/gismo). |
But we need a bit more details, or better link to the adapter documentation:
* G+Smo. Inatsll [G+Smo](https://github.com/gismo/gismo). | |
* G+Smo. Install the [G+Smo adapter](https://precice.org/adapter-gismo.html). |
The G+Smo-based version of the tutorial offers IsoGeometric Analysis discretization method. To run the example you need to follow the following steps: | ||
|
||
- Download G+Smo and Create a Build Folder | ||
``` | ||
git clone [email protected]:gismo/gismo.git | ||
cd gismo | ||
mkdir build | ||
``` | ||
- Configure G+Smo | ||
``` | ||
cmake .. -DGISMO_OPTIONAL="<other submodules>;gsPreCICE" | ||
``` | ||
- Build the Example | ||
``` | ||
make partitioned-heat-conduction -j <number of threads to use> | ||
``` | ||
- Link the compiled executable to the gismo-executable folder within the tutorial directory | ||
``` | ||
cd <Your preCICE tutorial folder>/partitioned-heat-conduction/gismo-executable | ||
ln -sf <You G+Smo build folder>/bin/partitioned-heat-conduction ./gismo_executable` | ||
``` | ||
- Open two terminals and run | ||
``` | ||
cd dirichlet-gismo | ||
./run.sh | ||
``` | ||
|
||
``` | ||
cd neumann-gismo | ||
./run.sh | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we move most of this content to the adapter documentation, and refer to that?
The path ./gismo_executable/gismo_executable
is assumed by the run.sh
, so it should probably be documented here. But we should better call that directory solver-gismo
.
|
||
For Nutils, please use the files `Dirichlet-*.vtk` or `Neumann-*.vtk`. Please note that these files contain the temperature as well as the reference solution. | ||
|
||
For G+Smo, please use the file `solution.pvd` in both dirichlet-gismo and neumann-gismo directories. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For G+Smo, please use the file `solution.pvd` in both dirichlet-gismo and neumann-gismo directories. | |
For G+Smo, please use the generated `solution.pvd` files in the dirichlet-gismo and neumann-gismo directories. |
(I thought this was a file in this PR for a moment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not yet referred to from the README.md
. In principle, both FEniCS and G+Smo should give the same solution. If not, we should add the picture in the README.md
together with a comment.
Summary: Partitioned heat conduction G+Smo (IsoGeometric Analysis) participant
NOTE: G+Smo adapter is a submodule of the G+Smo library, to run the tutorial you need to configure G+Smo main library.
This PR is marked as a draft because the documentation for the G+Smo adapter requires updates.