Skip to content

Releases: mdolab/dafoam

v3.0.4

14 Feb 22:21
f7dc586
Compare
Choose a tag to compare

Changes

  • Fixed a bug for aerostructural optimization in parallel. The derivative of structural functions was not accurate due to an inconsistent serial/parallel convention in MPhys aero (DAFoam) and struct components (TACS). See detailed description from here. No updates are needed for DAFoam, but we need to update the dependencies: OpenMDAO, MPhys, and TACS.

  • Fixed a bug for Multiple Patches in Aerostructural Coupling a83b5f3. Now we support having multiple design surface patches for Aerostructural Coupling.

  • Added a fixed-point iteration adjoint solver 498874c. Now it works in serial only.

  • Changed the multi-case setting f7dc586. Now it is done in MPhys.

Dependency update

Updated OpenMDAO to 3.25.0
Updated MPhys to 1.1.0
Updated TACS to 3.2.1

Backward-incompatible changes

One needs to update runScript.py for multi-case optimization. Check the latest setting from here

v3.0.3

12 Oct 01:45
0009b91
Compare
Choose a tag to compare

Changes

  • Fixed a critical bug (fBar seeds) in the DAFoamFunctions to make combined objectives such as L/D and multipoint have accurate derivatives a175e43
  • Added an option ("comps") to allow selective actuator disk design variables 9f837b7
  • Moved the coloring solution to the solve_linear such that coloring will not run for primal 20e112a
  • Enabled more fvOptions functionalities a537446

Dependency update

None

Backward-incompatible changes

None

v3.0.2

02 Oct 01:54
e043da9
Compare
Choose a tag to compare

Changes

  • Added a flag (ENV: DAFOAM_NO_WARNINGS) to suppress warnings such that one can see build error on the screen (no need to use 2> to redirect the errors/warnings) e043da9
  • Printed the objective function when solving the adjoint equation d72aef6
  • Added a new objective function (propeller power) 81bb716
  • Improved the code coverage
  • Allowed using the actuator thrust as the design variable 7d32447
  • Increased the default adjPCLag to 1000 0cdfcf1
  • Improved the field inversion interface 8c7d091

Dependency update

  • Updated the pyGeo version to 1.12.2

Backward-incompatible changes

  • One needs to update the FFD file interface for all v3 runScript.py. The old ffd_file argument is deprecated, and one needs to use a more general argument file and prescribe the DVGeo type, e.g., OM_DVGEOCOMP(file="FFD/wingFFD.xyz", type="ffd")

v3.0.1

30 Aug 15:54
fc34405
Compare
Choose a tag to compare

This release added a few new features and fixed bugs.

Changes

  • Coupled propeller movement in aerostructral cases fc34405
  • Fixed the adjPCLag option f73b8da
  • Updated field inversion functionality 8fc11d8
  • Added Tensor flow C API fa1e928
  • Changed the getForces function's default to designSurfaceFamily instead of allWallsFamily 8bc5696
  • Fixed the Codecov badge issue 3222738

Dependency updates

  • Updated the dependency versions for pyGeo, mphys, openmdao, tacs, and funtofem. Use the latest installation guide from here

Backward-incompatible changes

  • The writeDeformedFFD function was deprecated for both v2 and v3 scripts. ac29d1a
  • Updated the pyGeo APIs for setting design variables. The old API addGeoDVLocal and addGeoDVGlobal were replaced by addLocalDV and addGlobalDV in all runScript.py b8cfee7

v3.0.0

19 Apr 23:59
1c10cd5
Compare
Choose a tag to compare

This major release integrated DAFoam and OpenMDAO for multidisciplinary design optimization through the Mphys interface.

  • Developed an interface (mphys/mphys_dafoam.py) to Mphys and OpenMDAO for multidisciplinary design optimization. (6d24104)
  • Update the dependencies' version. Check the new installation guide from here
  • Add a findFeasibleDesign function to find the initial design variables to produce a feasible design before the optimization. This is an extension of the solveCL function and can handle more than one design variable and constraint (1889f5f)
  • Fixed a bug in the mesh quality function. Now we can do optimization with a mesh quality constraint to avoid having poor mesh quality during the optimization. (995a580)
  • Made the setOption more flexible in setting dicts. Now we can set the value in a dict one wants to update using the setOption function, without the need to use the entire dict. (995a580)
  • Added an option to run low order primal for computing the Krylov solver preconditioner. (6d83cf6)

v2.2.10

24 Jan 01:28
27d4266
Compare
Choose a tag to compare

This release added new features and fixes bugs.

  • Added aerostructure optimization features, e.g., getForces, add structDisp. c6c328e 8127c87
  • Added a new objective function to compute center of pressure. f97dcbd
  • Added unsteady FSI solver pimpleDymFoam. Only work for analysis. cda4e29
  • Added the FI capability. df56b67
  • Added a feature to output minor iterations for debugging. 5ada9f7
  • Added a feature to running multiple cases independently. c3f6198
  • Added the capability to use MRF speed as design variables e49c736 and changing viscosity during simulations. b8595db
  • Added fvOptions back to a few solvers (not fully tested). d94d83f
  • Fixed an issue in DAOption such that it will not destroy its data when updating values. 17d5ff1

v2.2.9

20 Sep 16:25
3e706b4
Compare
Choose a tag to compare

This release improved the performance and upgraded the dependencies.

  • Added the support for Ubuntu 20.04 and Python 3.7
  • Used the reverse-mode AD as the default. Adjoint is now machine precision accurate in parallel. Refer to a recent update in OpenFOAM-v1812-AD
  • Fixed the regression tests such that they are more compatible for various platforms.
  • Fixed a bug in global indexing with field derivative and meshWaveFrozen Make files e63aa44

v2.2.8

21 Jul 21:22
09f8dcd
Compare
Choose a tag to compare

This release improved the code coverage and removed some unused functions.

v2.2.7

11 Jul 18:43
4875d94
Compare
Choose a tag to compare

This release re-organized the code structure, added new features, and fixed bugs

  • Enabled the forward mode AD for verifying adjoint derivative accuracy #154

  • Re-organized the libraries structures such that we can easily switch between the forward and reverse mode libraries in Python 9df421e

  • Changed the way OpenFOAM-v1812-AD is built. Now the reverse mode AD version of OpenFOAM is called OpenFOAM-v1812-ADR, and the forward mode is called OpenFOAM-v1812-ADF.

  • Enabled functionObject library such that we can use the OpenFOAM's built-in functions in controlDict, e.g., computed averaged field, sampling the time series 9344cdf

  • Added a few postProcessing utilities 95dceca

  • Added the mesh quality metrics as the objective function such that we can constrain them during optimization abfbc0a

  • Added an option to ignore incorrectly oriented mesh faces during mesh check 7279bfc

v2.2.6

19 Jun 19:50
092d8a3
Compare
Choose a tag to compare

This release fixed bugs and added new features.

  • Fixed bugs for the actuatorDisk and actuatorLine models. db39fc4 3cb219d

  • Added a few transient solvers, i.e., DAPimpleFoam, DALaplacianFoam, and DAScalarTransportFoam

  • Enabled the JacobianFree option for the hybrid adjoint

  • Implemented the time accurate adjoint, but the derivatives were not accurate yet

  • Fixed the missing ddtCorr term for DAPisoFoam 916d7f7

  • Change the DAOption interfaces for hybrid and time accurate adjoints

  • Fixed a minor issue for the mean-field computation for unsteady solvers abe1afa

  • Relaxed the tolerance for regression tests 1eff9ad

  • Renamed objFuncHist.txt to objFuncTimeSeries.txt 672f8bf