precice / code_aster-adapter Goto Github PK
View Code? Open in Web Editor NEWpreCICE-adapter for the FEM code code_aster
License: GNU General Public License v2.0
preCICE-adapter for the FEM code code_aster
License: GNU General Public License v2.0
Hardcoded paths are found in
tutorials/buoyantSimpleFoam-aster/config.comm
tutorials/buoyantSimpleFoam-aster/config.yml.org
tutorials/buoyantSimpleFoam-aster/solid/solid.export
Resolve this by importing the paths from the environment. Document which paths the user must specify for example in the bashrc, and import paths from there.
Hi all, great work and great incentive.
I would love to collaborate on OpenFOAM / Aster coupling. I have an in-house quick and dirty script that does FSI with Aster and OpenFOAM, but the good thing is that all the cell projection and interpolation is done. I started looking at the documentation but it is a bit complex as is. Is anyone willing to give me a little help on precice development ?
Thanks !
If the output for Code_Aster is enabled, the coupling will crash because Code_Aster is writing a result file. The Code_Aster output should be improved, such that it doesn't interfere with the coupling process.
For some reason that we currently don't understand, the exchange-dir
is not set correctly to the same values in the respective OpenFOAM-Code_Aster tutorial, requiring us to do something like:
<!-- TODO: Give an absolute path for the exchange-directory, as Code_Aster starts in /tmp/ -->
- <m2n:sockets from="Fluid" to="Solid" exchange-directory="/path/to/tutorials/CHT/flow-over-plate/buoyantSimpleFoam-aster"/>
+ <m2n:sockets from="Fluid" to="Solid" exchange-directory="/home/tester/tutorials/CHT/flow-over-plate/buoyantSimpleFoam-aster"/>
(both .
and ..
don't work).
I will have a look on this issue.
When the adapter was created, it was a good idea to come up with a shared format among different adapters. Due to some technical and usability issues, we then decided to change to solver-native formats.
If possible, we should provide all the configuration for the adapter either via config.comm
or via a new .comm
file (e.g. precice.comm
or precice-adapter-config.comm
).
Extend to also clean log files, preCICE address files, and any other leftovers.
See e.g. https://github.com/precice/tutorials/blob/develop/FSI/flap_perp/OpenFOAM-CalculiX/Allclean
I am trying to rerun our code_aster case, and I am getting a cryptic AssertionError
from cyprecice.pyx
, line 533 from set_mesh_vertices
(bindings v2.2.0.1). Is this again related to wrong type? Is this the same known issue for missing an error message (precice/python-bindings#74)? I am just wondering because this code was working around a year ago.
! in configure !
! self.setVertices() !
! File "/home/vagrant/code_aster/14.6/lib/aster/Execution/adapter.py", line 190, !
! in setVertices !
! self.preciceNodeIndices = !
! self.precice.set_mesh_vertices(self.preciceNodesMeshID, self.nodeCoordinates) !
! File "cyprecice/cyprecice.pyx", line 533, in !
! cyprecice.Interface.set_mesh_vertices !
! AssertionError !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This is the line that triggers it:
https://github.com/precice/code_aster-adapter/blob/master/cht/adapter.py#L34
I am using code_aster 14.6, even though previously we were using 14.4, but this should only be related to the adapter and the bindings. @BenjaminRodenberg @IshaanDesai is there a nice way to convert the given data type to the expected one?
See the migration guide.
The main adapter file is currently cht/adapter.py
. We should:
precice.py
.@uekerman what do you think about the name? Is there a good reason to keep this directory structure?
The coupling works without this file, it is not necessary in any way.
There are a few hardcoded lines that are specific to the local system on which the Code_Aster adapter is run in solid/solid.export
. Although the solid.export should be generated using astkl, the hardcoded lines in solid/solid.export
can and should be removed.
solid/solid.export
file with astk.This is probably also valid for Ubuntu 22.04.
Building code_aster 14.6.0 (stable) is currently not possible due to a row of issues.
The setup script and some dependency python scripts use the deprecated and now removed import imp
. As the dependencies are nested in archives, patching isn't easy.
Workaround for me was to add the following to the /lib/python3.12/sitecustomize.py
the usercustomize.py would be less invasive though:
import importlib
import sys
sys.modules['imp'] = importlib
This dependency has a row of Error: Type mismatch in argument
errors in file mpi.f
.
export FCFLAGS=-fallow-argument-mismatch
solves this issue
This dependency has missing type errors in C++ files.
A massive amount of no type named X
and X is not member of std
errors.
Also access to struct members which aren't found
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.