Skip to content

Releases: solidsgroup/alamo

26.06

Choose a tag to compare

@bsrunnels bsrunnels released this 10 Jun 12:05
20d4c59

What's Changed

New Contributors

Full Changelog: 25.12...26.06

25.12

Choose a tag to compare

@bsrunnels bsrunnels released this 05 Dec 16:42
4e80a3e

Updates in 25.12 from 25.07.

🔧 Features

  • Added alamo python interface
  • Linked to JOSS publication
  • Added Unit parsing capability
  • Added RK4 and SSPRK3 timestepping to Hydro
  • Added clock stop feature for Integrator
  • Added PFCZM integrator
  • Added HLLC Riemann solver
  • Added fracture integrator and executable

♻️ Refactorization

  • Refactor of testlib

🐛 Bugfixes

  • Fixed mac os installation script
  • Addressed permissions vulnerability in install.yml
  • Regression tests error if unused inputs are detected
  • Addressed pressure reference issues in FullFeedback
  • Fixed restart issues

🧪 Regression tests

  • Updated cleanup capability so that cleanup only happens after all sections in a test have been run
  • Added restart testing to Hydro and PhaseFieldMicrostructure
  • Most tests updated to include units
  • Added Fracture family of regression tests

🏗️ Building and infrastructure

  • Upgrade to AMReX 25.12
  • Fixed issues with restart
  • Improved exception catching in ParmParse
  • Added tests for units

CI tests

  • Fixed the artifact generation to always generate even if the tests fail
  • Added CI test to generate paper for JOSS

🧹 Formatting

  • Various formatting fixes to documentation

📚 Documentation

  • Added JOSS paper
  • Minor fixes to the InputIndex formatting
  • Updated documentation checker to warn if it seems pp.query lines were missed
  • Added test and documentation for 1D allen cahn
  • Added animation for VoronoiDynamics test

25.07

Choose a tag to compare

@bsrunnels bsrunnels released this 02 Jul 15:33
97f2a34

AMReX Update to 25.07

🔧 Features

  • Added a new capability to replace current dynamic dispatch functionality with static dispatch using templates. This shows up as a new select_enumerate option, and the example case is in src/Model/Propellant/Propellant.H.
  • Added SSPRK3 and RK4 time integration options to Hydro
  • Added HLLE solver to Hydro (though there is not currently a good test in place)
  • Updated ghost cells and evolving specifier to speed up Hydro
  • Updated Integrator to enable specification of evolving vs non-evolving fields (to try to remove some of the expensive fillpatch operations)
  • Added Model::Solid::Linear::Transverse material model with test
  • Added Stencil::NodeGradientOnCell
  • Added extraction of young's modulus and poisson's ratio from the Matrix4<Isotropic> type.
  • Added Transverse generator to the Matrix4<MajorMinor> class
  • Added State constructor to Flux to enable type conversion.
  • Added lowmach correction to Riemann::Roe solver
  • Added IgnoreUnused to Util
  • Updated Hydro to complain if unused variables are detected. This caused a bunch of errors (and subsequent cleanup) for the regression tests

♻️ Refactorization

  • Major refactor of the flame integrator, using the static dispatch described above. A large number of pp_forbid statements have been added to address compatibility, and all tests have been updated. The Flame capabilities are largely encapsulated in the Model/Propellant classes.

🐛 Bugfixes

  • In BC::Constant, fixed an issue with corner ghost cells that were not getting filled correctly. Note however that this fixes the issue in 2D only; more general fixes are needed.
  • Fixed error in Operator::Elastic::averageDownCoeffsDifferentAmrLevels - debug statement was checking for NANs in a fab using the wrong indices.
  • Added const specifier to Patch for const-correctness
  • Updated destructor for PNG to include preprocessor directives

🧪 Regression tests

  • Increased absolute tolerance for FlowAllenCahn. FlowChannel
  • Removed unused inputs for regtests
  • Changed params of SCPSandwich to reduce runtime

🏗️ Building and infrastructure

  • Added support for building and regression testing with google-perftools
  • Added automatic generation of report.html to summarize regression test results when `./scripts/runtests.py' is called

CI tests

  • Updated ubuntu 24.04 install script to include google perftools
  • Updated macos brew install
  • Added artifact export of regtest summary bundle into the test-2d-24-04-clang test
  • Update memcheck to force switch to mpich for msan/asan tests, since openmpi is not msan/asan safe
  • Updated the performance CI test to build in parallel

🧹 Formatting

  • Updated .clang-format

📚 Documentation

  • Removed the HPC page - this is now on the wiki
  • Fixed some issues with the InputIndex formatting

25.04

Choose a tag to compare

@bsrunnels bsrunnels released this 03 Apr 17:42
81c4584

New dependencies added:

  • amrex 25.04
  • python clang (for linting and autodoc only)
  • libfftw3-dev (optional, used with --fft flag)

New features added:

  • Ability to use the AMReX FFT capability for spectral solves
  • PFC integrator
  • Spectral option for CahnHilliard and HeatConduction
  • Verbose mode for Makefile (configure with --verbose to activate)
  • InputIndex documentation with recursive code scraping using new scraper + clang based AST
  • Added query_enumerate and select_main

Bugs fixed:

  • Fixed issue with diff patch that was preventing creation during make bin/exe
  • Updating queries to use _default or _required option
  • General increased compliance to autodoc parsing standards

New CI tests added

  • fft CI test with clang
  • added fft option to control whether fft tests are run in regression test

Misc

  • Added citation to arXiv paper

25.03

Choose a tag to compare

@bsrunnels bsrunnels released this 08 Mar 21:40

This version addresses the issues with mpich on Ubuntu 24.04 by fully supporting openmpi and setting that as the default on 24.04. It also adds the Hydro integrator, the completed CahnHilliard integrator, and overhauls the PhaseFieldMicrostructure integrator.

Summary of updates in this version from 25.02:

  • Removed many deprecated and unused files
  • Added clang formatter file
  • Revamped the CI tests including
    • Consolidated and renamed many of workflows
    • Changed conditions of PR into development to run all tests but performance and deploy to github pages
    • Split dependency files into different ubuntu versions
    • Added support for ubuntu 24.04
    • Removed ubuntu 20.04 tests
    • Added a "parallelism" check to ensure that MPI is functioning properly
  • Removed outdated python interface code
  • Updated makefile to have verbose mode
  • Re-wrote readme file
  • Updated configure script to generate compile_commands.json for LSP
  • Added full support for openmpi, and revised the configure script to do more comprehensive checking of the mpi version
  • Cleaned up the doxygen Doxyfile
  • Consolidated python dependencies
  • Refactored the code autodoc scrapers
  • Added an HPC documentation section
  • Reformatted the documentation
  • Cleaned up many header files and fleshed out documentation
  • Added IC templating
  • Finished Cahn Hilliard example and added test
  • Added the Hydro integrator and Flow regression tests
  • Updated PFM to integrate old Fgb methods, merged in the atgb branch and added appropriate options
  • Added the Disconnection class to manage manual disconnection nucleation
  • Added the class of local Riemann solvers
  • Split PNG management into a separate util class
  • Added the PNG regression test

25.02

Choose a tag to compare

@bsrunnels bsrunnels released this 17 Feb 21:01
cdaa7e8
Standard update into master branch from development (#96)

* Format Documents (Tabs and Spaces)

* Fixed errors in compiling

* Added a default max_step value

* Added default values to ref_threshold and made changes to pp_query naming errors

* correctd BMP input verification, added working blade impact dynamics example

* Substantial revision to traction boundary conditions for dynamics (they were never actually correct before). Shock tube case and droplet impact all working.

* adding dynamicbar test, more minor fixes

* fixed uninitialize value issue, and added ignores so that elastic expression BCs work in 2d and 3d

* fixing formatting and docs

* Fixing formatting and input errors

* makefile update

* reverting to div(sigma) but still need to check impact test

* updating dynamics BCs to account for eigenstrain

* fixing clang incompatibilities

* updates for multimodel inputs to the mechanics integrator; some small updates to ParmParse

* fixed backwards compatibility error from new model parse check, updated laplacian to have a parsed coefficient

* fixed depenency error with .cc files during compilation

* Removed some warnings

* Deleted changes and applied difftool to go back to development's status

* Changed pp_query to default/required PART 1

* pp_query changes PART 2

* PART 3

* pp_query changes PART 3

* pp_query changes PART 3

* pp_query changes PART 4

* fixed bug with #83 for dispersion variable bad query

* pp_query changes PART 5

* pp_query changes PART 5

* pp_query changes PART 5

* pp_query changes PART 5.2

* pp_query changes PART 6

* pp_query changes PART 6.1

* pp_query changes PART 6.2

* debugging

* fixed merge conflict marker

* Changes in Integrator.cpp

* Changes in Integrator.cpp

* Reverted pp_query changes to 4

* pp_changes PART 5.3

* pp_query changes 5.4

* pp_query changes 5.5

* pp_query changes 7.0

* pp_query changes 7.1

* pp_query changes 7.3

* pp_query changes 7.2

* pp_query changes 7.4

* pp_query changes 7.5

* pp_query changes 7.41

* pp_query changes 5.5

* pp_query changes 7.7

* pp_query changes 7.8

* pp_query changes 8.0

* pp_query changes 8.1

* pp_query changes 8.2

* pp_query changes 8.21

* pp_query changes 8.22

* pp_query changes 8.23

* pp_query changes 8.3

* pp_query changes 8.4

* pp_query changes 8.5

* pp_queery changes 8.51

* pp_query changes 8.55

* pp_query changes 8.6

* pp_query changes 8.61

* pp_query changes 8.7 (Flame.cpp)

* pp_query changes 8.71 (Fracture.H)

* pp_query changes 8.72 (Integrator.cpp)

* pp_query changes 8.721 (Integrator.cpp)

* pp_query changes 8.73 (PhaseFieldMicrostructure.H)

* pp_query changes 8.74 (SutureCrack.H)

* updated test scripts to make them more robust

* pp_query changes 8.731 (PhaseFieldMicrostructure.H)

* pp_query changes 8.5 (Mechanics.H)

* pp_query changes 8.51 (Mechanics.H)

* pp_query changes 8.52 (Mechanics.H)

* pp_query changes 8.74 (SutureCrack.H)

* pp_query changes 8.75 (Reverted SutureCrack.H)

* pp_query changes 8.76 (testing without validate in mechanics)

* pp_query changes 8.77 (😫)

* pp_query changes 8.78 (Flame.cpp rmv validate)

* pp_query changes 8.781 (re added validate to Flame.cpp - was working before)

* Added plot_file variable substitution

* pp_query changes 8.783 redoing from the last succesful run

* adding anglefmt specifier

* Fixed missing anglefmt documentation

* test scripts change

* pp_query changes - fixed 8.73

* pp_query changes - fixed  8.74

* integrating changes from atgb-twin

* renaming some models

* fixed compile error in test

* reverting Voronoi test

* Adding pp_query_validate to Mechanics.H

* Added pp_query_validate to Mechanics.H - 1.2

* pp_query FINAL UPDATES

* Delete sshfile

* Delete sshfile.pub

* Resolved formatting changes - AllenCahn.H

* Resolved formatting changes - BaseField.H

* Resolved formatting changes - CahnHilliard.H

* Resolved formatting changes - CahnHilliard.cpp

* Reverted to OG file - Fracture.H

* Reverted to OG file - SutureCrack.H

* Delete sudo

* Changes upon comments in Pull Request - Integrator.cpp

* Integrator.cpp - Regrid int = 2 // not 10

* Integrator.cpp - PR changes

* testing - remove 0 and using required - Flame.cpp

* 0 TO 'NAN' changes upon PR comments - Flame.cpp/H

* 0 to 'NAN' changes - Flame.cpp/H

* 0 to NAN - Flame.cpp/H

* retrying Flame.cpp/H fixes

* retrying Flame.cpp/H fixes 2

* resetting few values except those with all zeroes in flame.cpp

* resetting the same in Flame.H

* adding sdf

* Removed bmp and png from pp_query_validate - Flame.cpp

* removed thermal disperssion from Flame.cpp

* Added comments referring to -ve values in Integrator.cpp

* Added pp_query_validate line in TopOp.H

* Initialized values to NAN in Dendrite.H and TopOp.H. Provided Vol0frac = 0.5

* set non-pp_query values to NAN - testing

* Set lower values to NAN - AllenCahn.H

* Set lower values to NAN & add timestep in .cpp - Flame.cpp/H

* Set lower values to NAN and added timestep in .cpp - Flame.cpp/H

* Set lower values to NAN and added timestep to Flame.cpp - Flame.H/cpp

* Set lower values as NAN - Integrator.H

* Set the lower values to NAN - Mechanics.H

* Set lower values to NAN - PhaseFieldMicrostructure.H

* Set lower values to NAN - TopOp.H

* testing changes in Random.H

* reverted NAN changes in PhaseFieldMicroStructure.H

* Updated, merged with development, and fixed regridding issue

* Removing Random.IC test

* Readded Random.IC test

* Tried resolving compiling erros after merging

* resolving merge conflicts

* restoring from merge

* reverting merge

* trying to fix make error in test.cc and mechanics.cc

* fixing make error in test.cc & mechanics.cc

* using difftool to crosscheck 62c1cc5 - last successful commit

* difftool  a6a8654

* merging with development . pt1

* merging with development PT. 2

* fixed Integrator.cpp diff

* Testing update for Random.IC in AllenCahn

* Restoring AllenCahn Test

* Allowing ref in AllenCahn Test

* ref = False -- AllenCahn Test

* finite crystal plasticity implementation

* added random with , in var in allencahn

* reverted test and changed input - AllenCahn

* reverting to 1 before

* changing = to == in AllenCahn.H

* changed test - Allen Cahn

* type -- alpha.ic.type - AllenCahn Test

* added "" to random

* removed ""

* ref file gen = true

* removedd sys.argv[2]

* i don't know

* added comma to reference = reference

* reverting to OG

* reverted ref file

* set ref

* adding reference and generating ref data - Allen Chan

* reference for random.ic added

* set gen_ref_data = false

* added reference for remaining tests

* added stop_time=30.0

* replacing NAN with -1 when initializing int

* Updating coverage test to use coverage version of code

* updating to amrex 24.08, which required some ParmParse fixes

* removing coverage test from Linux run

* Adding file hasher - wip to do runtime source checking

* fixing EC issue - literally just one space

* Brining in some updates from viscous2d

* adding new required constant values to SCP tests

* initial select implementation

* wip - input parsing

* formatted tabs

* adding more IO utils and associated python

* fixing compatibility issues

* most parts working now

* Finalizing alpha builder

* compile error fixed

* All tests passing locally - ready to merge in

* removed docutils - wasn't necessary

* REALLY removing docutils this time...

* fixed perturbedinterface input file so now tests pass

* fixing test script to catch error

* Fixing reference for incorrect test

* Fixing regtest issue and extending the input builder

* Updating thermoelastic test to add el.bc.type

* Fixing css formatting

* Updating regtest script to include progress updates

* updating to avoid status update with backspace on GH actions

* Fixing error in run script that was failing to notice if a run crashed

* updated run script to force kill a run that has timed out

* merging in some of the developments from hydro

* updating configure

* Added kill to timeout in regtest script, was causing CI to hang on completion because jobs were still running

* Cleaning up some of the tests, adding TopOp verification

* Upgrading artifact uploading

* Updating the pp.select implementation and documentation capability

* Modernizing the inputs table formatting

* more formatting changes

* Formatting and purging some of the code

* Code purging

* purge and format

* additional documentation and purging old code

* fix: added Trig back in because a test depends on it

* Upgrading to AMReX 25.02

* checking to make sure memcheck FAILS

* bugfix: fixed an error in the linear interpolator that was accessing points outside the array

* Flame bugfix - eta.ic and pf.eta.ic were both allowed which led to memory leaks. This has been fixed

* fixed whitespace warning and added required documentation to Flame

* Switching to ASan for memory checking.

* adding ASan and MSan options, fixing some of the memory leak issues

* fix workflow character error

* caught some memory leaks but not all - still work to do

* Updating configure script to check mpich version for ASan compatibility

* Numerous memory leak fixes.

* Cleaning up the test runner - formatting and adding kill

* fixing stencil overflow error in Flame

* Fixed another stencil overflow error in Integrator::Mechanics. Updated the pressurized hole reference data

* Update issue templates

* Update issue templates

---------

Co-authored-by: Moses Ongole <mongole@solids.group>
Co-authored-by: meierms1 <meierms@icloud.com>
Co-authored-by: Brandon Runnels <Brandon Runnels>

24.07

Choose a tag to compare

@bsrunnels bsrunnels released this 05 Jul 18:47
6ce8c9c

What's Changed

Full Changelog: 24.06...24.07

24.06

Choose a tag to compare

@bsrunnels bsrunnels released this 03 Jun 21:16
44abd44
Merge pull request #75 from solidsgroup/development

Development

23.12

Choose a tag to compare

@bsrunnels bsrunnels released this 14 Dec 17:35
Removed static page workflow

21.02

Choose a tag to compare

@bsrunnels bsrunnels released this 10 Feb 15:32
Update for INCLINE RFP