-
Notifications
You must be signed in to change notification settings - Fork 5
Release v0.4.0 #60
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
Merged
Merged
Release v0.4.0 #60
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… preCICE and the Micro Manager (#23) * add new features to CMakeLists.txt and adapt modern best practices * Add Language C to project to allow HDF5 to compile its C parts * Add autoformat file for CMake, Presets and a Doxyfile * remove unnecessary includes and links, replace linker flag by cmake command for GNU math lib * replace -fopenmp by modern CMake way * move compiler options to target based locations * Use FFTW3 find script and find_package(MPI) * add FindFFTW3.cmake (was hidden by .git ignore before) * change output name of shared lib from libFANS_FANS.so to libFANS.so * ignore .cmake folder generated by CLion * Dockerfile for containerized build and publishable standalone selfcontained FANS container * add another container stage for dev-env, add docker.yaml github action and update readme accordingly. * fix typo * fix missing CMD start command for container dev-env * Make use of auto-determined dependencies in runtime docker image (reduces size from 495MB to 161MB). Also add dev deps to dev package explicitly. And update docker.yaml workflow * Set up cross-compilation for arm64 using Docker buildx * fix COMPONENT_PACKAGE_DEPENDS (needs to be uppercase), and add openmpi-bin to runtime deps * rename packages and edit descriptions * Add CI workflow to build and package FANS * update version of publish artifacts action * Add remaining dependencies to FANSConfig.cmake and include FindFFTW3.cmake in install step * run autoformat * Reoarganize CMake files, fix install calls, add found message * remove COMPONENT statement in install(TARGETS ... INCLUDES) since that's not supported there and erraneously add include paths called COMPONENT * cmake overhaul * Add Docker images for building FANS and instructions in the README.md * clean up comments * Add Github Actions workflow to build and publish docker images fans-ci and fans-dev * upgrade to latest LTS ubuntu * rename docker github action yaml + fix dockerfile * add workflow to build FANS * Rename build workflow to CI and add a job for packaging FANS * instead of putting the FANS executable in the test/ dir, just symlink it * temporarily disable arm64 support since it takes super long to run * add debug output * use just one job to avoid complicated data exchange between jobs * add fans docker image + github actions workflow * make build variable dir in actions + streamline dockerfile of fans image * add support for older ubuntu versions * escape & sign in Dockerfile RUN command * fix typo * add support for different ubuntu LTS versions * use matrix also for arch in docker helpers workflow * put variables in brackets * also use matrix.arch in fans docker image * fix weird escape error that occurs when switching ubuntu versions * fix comment * remove focal as it causes some CPack error * use correct variable substitution syntax * variable substitution * add ubuntu version to name of artifact * make detection if project is top level compatible with older CMake versions * reactivate focal again after fix * use explicit path instead of dot * Make IPO handling compatible with CMake 3.0 * Add max version to cmake_mininum_required() to indicate that we don't rely on old behaviour but support old versions * make detection if project is top level compatible with older CMake versions * fix RPATH settings * update README.md * fix link * remove commas in package lists * restructure Installation section and add link to prebuilt packages * move docker section of README.md into docker/ dir * add section part to link * replace multiple docker run commands by docker create + docker exec * fix docker exec call * updated h5 to xdmf viz pipeline * Fix path to filename in 3d0_MFL * small changes * can provide keyword for temporal dataset group names * Adapt FANS for MM initial commit * Adapt FANS further * fix quotation mark * fix quotation mark * provide users with a cache option for enabling packaging * Micro manager python bindings * add symlink to test directory for convenience * Move Micro Manager input files * Add Micro Manager input files * Little tweaks on the MM version * Running Micro Manager version of FANS * Change Class descriptions * Clean up * Fix building of bindings * CMake edit temporarily * Formatting * restructure micromanager part of CMakeLists.txt file * Align with current state on develop branch * Remove unnecessary code and get homogenized stress only by access * Remove thermal micro simulation code as it is just a copy of the mechanics code * Remove duplicate micro.hpp from include/ * Remove more redundant code and fix types * Streamline code in micro.hpp and micro.cpp * A first implementation of numerically calculating the tangent stiffness matrix. NOT WORKING * First working version with logically correct stiffness matrix C * Bump clang-format version in pre-commit config * Formatting * Rename folder with content for micro library to pyfans * Remove files related to thermal test of micro simulation library * Replace Eigen Matrix row.begin and row.end with simpler functionality * Remove MPI initialization * Initial restructuring of pyfans test, and remove the numerical computation of the material tangent in the lib files * Remove h5 file and revert inadvertant changes to input file * Add documentation and test CI for pyFANS * Working GitHub Action to test pyFANS * Add CHANGELOG enty and a small comment in the pyFANS test script * Remove stale input.json from test/ * Explicitly mention what type of FANS library is being compiled Co-authored-by: Moritz Sigg <[email protected]> * Incorporate review comments * Remove unnecessary parts from pyfans/CmakeLists.txt * Hardcode mechanical model and solver because delaying variable definitions are hacky * Incorporate feedback regarding the test * Remove unnecessary code * One empty entry in macroscale_loading should be sufficient --------- Co-authored-by: Moritz Sigg <[email protected]> Co-authored-by: Moritz Sigg <[email protected]> Co-authored-by: ac133718 <[email protected]> Co-authored-by: Torben Schiz <[email protected]> Co-authored-by: Sanath Keshav <[email protected]>
…refix added results_prefix field in input json
* Fix spack installation tutorial in README.md * Update spack installation tutorial in README.md
…34) * Introduce system for checking compiler flags + i7-2600 was otherwise not able to built + super backward change + does not apply/test on macos
* Conda installation hints to README.md Also, refer to conda-forge/staged-recipes#28099 --------- Co-authored-by: Sanath Keshav <[email protected]> Co-authored-by: Ishaan Desai <[email protected]>
* modified way to provide microstructure input in json * modified the path where results would be written to h5 file
Self-explanatory.
* added --version support for FANS --------- Co-authored-by: Ishaan Desai <[email protected]>
* Remove Ubuntu 20.04 from testing and Docker support * Add Changelog entry
* First draft of macOS support in CMakeLists and Github Actions recipe for build and test * fix typo in FFTW package name for brew * Rename macOS workflow to not clash with the Ubuntu workflow * test if OpenMP is really required at all * Remove not used dependency OpenMP * Test if setting C++ standard to 11 helps with the whitespace required error * Test if setting C++ standard to 14 helps with auto not allowed in lambda parameter * Test brew hdf5 package without mpi * Add macOS installation instructions * Test both brew packages hdf5 and hdf5-mpi at the same time (conflicting?) * Revert "Test both brew packages hdf5 and hdf5-mpi at the same time (conflicting?)" This reverts commit 32bd02a. * Add libomp to macOS dependency installation instructions * Revert "Remove not used dependency OpenMP" This reverts commit f3e52ea. * Add libomp to github action * Set OpenMP_ROOT in github action recipe to enable CMake on macOS to find OpenMP * test explicit path to libomp instead * Revert "test explicit path to libomp instead" This reverts commit b82d5d9. * try another fix for OpenMP problem * add missing backslash in multiline command * remove cmake from brew install commands as it's included in macos-14 runner anyway * Mention OpenMP macOS issue with CMake in the README * Do not set C++14 standard * Try using the macos-15 image, and set C++11 standard * Do not set any C++ standard in the CMakeLists * Rename file and workflow * first native macos build config * Empty-Commit * manual pre-commit trigger * export some env variables to make cmake aligned with other cases * added the env variables in the right place * removed commented line setting cpp standard * Add Changelog entry --------- Co-authored-by: Ishaan Desai <[email protected]> Co-authored-by: ac133718 <[email protected]> Co-authored-by: sanathkeshav <[email protected]>
… it (#46) * Remove MPI_INIT from pyfans/micro.cpp as it conflicts with the MPI initialization of the Micro Manager * Add a real test for pyFANS which runs with preCICE and the Micro Manager * Add wget to apt install command for pyfans test * Add -y to apt install command in pyfans test CI * Separate installing preCICE and the Micro Manager to figure out where the problem is * Get the CI to work * Remove installing of dependencies which already exist in base CI image * Run test pyFANS CI for push to main and develop branches, and for PRs * Add Changelog entry
* added a pixi based recipe to create a virtual env for fans_dashboard * manual pre-commit trigger * changed build from setuptools to hatchling * added tests * manual pre-commit trigger... AGAIN * added pytest for checking Voigt Reuss bounds on Linear elastic tangent * manual precommit trigegr * updated changelog * add empty line in changlog * Remove pytests layer of folder and shorten docstrings of each test * modified base path for pytests * modified build and test to include pytest at the end * Install pixi in fans-ci Docker image recipe * modified build and test CI * modified pixi install command in CI * removed shell login * Use setup-pixi action to set up pixi * Do not point to test/unit folder while running pytest via pixi * Remove the pixi install command from the Docker recipe as pixi is now set up in the Action workflow * printing location of h5 file to see where it is * changed base dir for pytests * changed path of h5 in the test cmake file * added separate base dirs for json and h5 in pytests * added pixi setup to the macos CI * added test readme * added blank line * added blank line * added blank line * Empty-Commit * Update test/README.md Co-authored-by: Ishaan Desai <[email protected]> * Update test/README.md Co-authored-by: Ishaan Desai <[email protected]> * Update test/README.md Co-authored-by: Ishaan Desai <[email protected]> * Update test/README.md Co-authored-by: Ishaan Desai <[email protected]> --------- Co-authored-by: Ishaan Desai <[email protected]>
* first draft * latest update * added I/O support for xyz and zyx microstructural reads and writes * Empty commit to trigger CI * GBDiffusion via uniquely tagged grain boundaries * added GB_uniformity tag to GBDiffusion matmodel * on macos h5f5-mpi should also be built from source with gcc-14 * added docstring for GBDiffusion and added changelog entry * modified GBDiffusion docstring * formatting docstring --------- Co-authored-by: Ishaan Desai <[email protected]>
* First try + updatet to cmake 3.21 + introduced presets + on linux both gcc and clang working + added markdown for overview * Lose OpenMP as dependency + gcc and clang-linux working, same speed for test * Loosen compile options * Introduce virtual destructors to circumvent main.cpp:32:9: warning: delete called on 'Matmodel<1>' that is abstract but has non-virtual destructor [-Wdelete-abstract-non-virtual-dtor] 32 | delete matmodel; given through clang. + also applied the same to Solver * Remove some of the hardcoded compiler paths for clang-macos * Delete all hardcoded compiler paths * Update CMake Setting + uncomment compile options + remove unnecessary comment + remove doubled CMake min version + introduce CXX_FLAGS for gcc in preset + also in parts for Clang, -fmax-errors does not exist there + reintroduce RPATH-logic for Apple -> don't understand it + add condition to mac presets -> only loose, as darwin is open-source and could NOT be apple... but seems to be standard vs APPLE-check.... * removed presets not used in feedstock --------- Co-authored-by: sanathkeshav <[email protected]>
* Added mixed boundary conditions (stress-strain controlled) support for FANS * Added macroscale displacement field to visualization
* Rework main README and add a README for the tests * Add more content to test/README * Fix markdown linting * removed test/ Readme * modified readme * changed indent to 2 instead of 4 in nested md lists * changed indent * added empty line * minor formatting * minor formatting --------- Co-authored-by: Sanath <[email protected]>
IshaanDesai
approved these changes
May 21, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
--version
command line argument for checking the version of FANSavx2
&fma
The LS1 PR: Introduce system for checking compiler flags: avx2 & fma #34results_prefix
field in the JSON input added results_prefix field in input json #36