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

Add adaptive similarity condition #64

Draft
wants to merge 38 commits into
base: develop
Choose a base branch
from

Conversation

Fujikawas
Copy link

@Fujikawas Fujikawas commented Oct 11, 2023

Currently the similarity distances are computed as max(similarity_distances)*coarsening_constant or max(similarity_distances)coarsening_constantrefining_constant.
With this PR, the above used constants are computed based on the user input and current convergence status read from the convergence file. The idea is that when the coupling problem is still far away from convergence, we could have less active micro simulations(less accurate result) to save computation cost probably with increasing iteration number in each time window.

@IshaanDesai IshaanDesai added the new-feature Adding a new feature label Feb 8, 2024
IshaanDesai and others added 16 commits May 16, 2024 09:14
* Add pyproject.toml

* Further changes to the pyproject.toml

* Add adaptivity module explicitly to the pyproject.toml

* Adding package information to pyproject.toml

* Reintroduce micro_manager.adaptivity to packaged in pyproject.toml

* Add scikit-learn as a dependency in pyproject.toml

* Change package name to micro_manager_precice

* Go back to using micro_manager in the unit tests

* Upgrade pip before installing the Micro Manager in the unit tests CI

* Make executable name the same as the package name
…ecice#104)

* Use initial macro data to initialize micro simulations

* Explicitly define the local variable is_initial_data_required

* Correctly check number of input arguments of the initialiez() function of the micro simulation library

* Add comment on the boolean which states the requirement of initial data in the micro simulation class
* Make initialize() a public method

* Add pull request template

* Modify tests to use public function initialize(), and add github PR template

* Use version compatible format to state dependency version in pyroject.toml

* Use original way of defining dependency version

* Remove run_micro_manager.py from examples and tests

* Upgrade pip3 in the adaptivity tests workflow

* Remove LD_LIBRARY_PATH setting from adaptivity test workflow to check if it works

* Change order of execution in local adaptivity test workflow

* Use micro-manager-precice in running scripts of tests

* Revert to old way of updating pip

* Make the steps about upgrading pip and installing dependencies for the Micro Manager consistent in all workflows

* Try to run dummy without updating pip

* Explicitly install setuptools and wheel before installing the Micro Manager

* Add local bin folder to path to be able to execute the micro-manager-precice executable

* Don't set the PATH and install the Micro Manager without the --user flag

* Restructure Micro Manager config files in the examples/ directly so that the executable can be used to run the solver dummy

* Add CHANGELOG entries

* Remove ./ from precice-config file path in one of the Micro Manager configs
…#106)

* Add documentation for handling of crashing micro simulations

* Rewording

---------

Co-authored-by: Ishaan Desai <[email protected]>
…that the adaptivity computation requires (precice#109)

* Check if initial data returned from the micro simulation is the data that the adaptivity computation requires

* Add CHANGELOG entry

* Rephrase exception

* Add documentation about initializing micro simulations
…ialize()` function (precice#110)

* Handle exceptions from the initialize() function call from wrapped functions

* Rework comments and add CHANGELOG entry
* Restructure execution with main

* Add base class and abstract base class to unify common properties

* Add expected return-type to main

* Adapt class descriptions

* Change class descriptions and imports

* Update Changelog

* Update CHANGELOG.md

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

---------

Co-authored-by: Ishaan Desai <[email protected]>
* Add option for the user to provide initial time window size of the micro simulation

* Put config parameter micro_time_window_size in coupling_params group

* Paasing dt correctly

* Fix unit tests

* Fix crash handling tests

* Add CHANGELOG entry

* Use micro_dt instead of micro_time_window_size

* Use dt=0 when reading initial data
IshaanDesai and others added 15 commits July 9, 2024 14:04
…e configuration (precice#114)

* Move micro_dt from coupling_params to simulation_params in the JSON config

* Update CHANGELOG
* Make sklearn an optional dependency

* Fix optional crash handling

* Fix trailing white space in  config

* Make sklearn an optional dependency

* Fix optional crash handling

* Fix trailing white space in  config

* Apply suggestions from code review

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

* Add comment regarding parameters potentially configurable by the user

* Resolve conflict in CHANGELOG

---------

Co-authored-by: Ishaan Desai <[email protected]>
* Initial commit for snapshot commputation

* Snapshot: change import of module

* Adapt SnapshotComputation further

* Adapt Snapshot test

* Snapshot: Formatting

* Prepare Snapshot class further

* First working version of snapshot computation

* Add snapshot test, improve snapshot and restructure

* Add snapshot test, improve snapshot and restructure part 2

* Improve logging, comments and minor structural improvements

* Snapshot: extend setup and github actions

* Move Snapshot into Micro Manager and update execution

* Add post-processing script option and restructure snapshot example

* Add post-processing to snapshot config file

* Make snapshot executable and rename snapshot files

* Restructure snapshot computation

* Restructure config

* Update snapshot computation still without chunking

* Remove unintentional print statement

* Update comments in tests

* Read only the necessary input on each process

* Clarify text and names

* Add HDF5 dependency

* Make h5py optional dependency

* Fix h5py optional

* Initial commit for snapshot commputation

* Snapshot: change import of module

* Adapt SnapshotComputation further

* Snapshot: Formatting

* Prepare Snapshot class further

* First working version of snapshot computation

* Add snapshot test, improve snapshot and restructure

* Add snapshot test, improve snapshot and restructure part 2

* Improve logging, comments and minor structural improvements

* Move Snapshot into Micro Manager and update execution

* Add post-processing script option and restructure snapshot example

* Make snapshot executable and rename snapshot files

* Restructure snapshot computation

* Restructure config

* Update snapshot computation still without chunking

* Remove unintentional print statement

* Update comments in tests

* Make h5py optional dependency

* Fix h5py optional

* Change snapshot case in main

* Move dt to simulation parameters in Snapshot and snapshot specific dt

* Fix init

* Fix issue of using member variable in Config class

* Fix tests

* Apply suggestions from code review

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

* Apply review suggestions

* Remove output dir from gitignore

* Extend CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Ishaan Desai <[email protected]>
* Explicitly check if the time window has completed

* Add CHANGELOG entry
…#116)

* Add snapshot docs and update micro manager docs

* Add snapshot configuration docs

* Adapt documentation

* Update postprocessing description

* Remove next step

* Apply suggestions from code review

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

* Move snapshot mention to -what can it do?-

---------

Co-authored-by: Ishaan Desai <[email protected]>
…recice#123)

* Allow to compute snapshots on single object

* Update snapshot documentation and CHANGELOG

* Apply suggestions from code review

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

* Add note when to use a single object

---------

Co-authored-by: Ishaan Desai <[email protected]>
…s in adaptivity (precice#125)

* When taking relative norm differences in similarity calculation, use absolute values to get the normalizing factor

* Fix comments with respect to earlier changes

* Add CHANGELOG entry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature Adding a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adapt the similarity condition to the residual of the fixed-point problem
4 participants