Skip to content

crecine/POEMs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenMDAO POEM Process

The POEM process is the official mechanism for proposing, discussing, revising, and ultimately approving or rejecting all changes to the OpenMDAO project which effect its user interaction. The process involves writing, reading, and discussing documents called POEMs (proposal for OpenMDAO enhancement).

This process governs all API changes, feature additions, and feature removals to the OpenMDAO project. It is also recursive because it governs any changes to itself.

The process serves two primary and equally important purposes:

  1. Announce all changes to the user interface of OpenMDAO to users of the framework before they are added to the main repository

  2. Provide a mechanism for external users to propose changes to the user interface for OpenMDAO

How does it work?

The rules are described in the POEM_000.md document in this repository. The OpenMDAO POEMs repository (i.e. this repo) contains a full record of all POEMs submitted, starting November 1st, 2019. Both the core development team and external users participate, and input on any POEM is welcome from any user at any time.

How can I keep up to date on POEMs?

All POEM activity is managed within this repository, via PRs and comments to those PRs. The best way to track that activity is to star and watch this repository. That way, github's built in notification system to get emails when things are changing. Github has lots of great docs on this!

List of POEMs

POEM ID Title Author Status
000 POEM Purpose and Guidelines Justin S. Gray integrated
001 Units update for better astrodynamics support Rob Falck integrated
002 New capability for user to send a termination signal to an OpenMDAO process so that SNOPT in pyoptsparse can terminate cleanly. Kenneth-T-Moore integrated
003 Allowing addition of I/O during Configure Anil Yildirim; Justin Gray; Rob Falck integrated
004 Creating Interpolant Class For 1D Splines DKilkenny integrated
005 An OpenMDAO Plugin System naylor-b integrated
006 Re-work the user experience in the N2 diagram Herb Schilling integrated
007 String Compatibility for ExternalCodeComp and ExternalCodeImplicitComp Command Options Danny Kilkenny integrated
008 Nonlinear Solver Refactor Danny Kilkenny integrated
009 setup/configure API Changes Rob Falck rejected
010 add argument recordable to options.declare Rob Falck integrated
011 Expand problem recording options Rob Falck; Herb Schilling integrated
012 Give the user the option to select the LAPACK driver for use in the SVD used in KrigingSurrogate Herb Schilling integrated
013 Unit conversion enhancements Rob Falck integrated
014 Removal of XDSM viewer to be replaced by third-party plugin Rob Falck integrated
015 Automatic creation of IndepVarComp outputs for all unconnected inputs justingray integrated
016 Linear algebra components can perform multiple calculations. Rob Falck integrated
017 User can specify units when adding design variables, constraints, and objectives. Kenneth-T-Moore integrated
018 indices and src_indices can contain slices Kenneth-T-Moore integrated
019 Random Vectors in Directional Derivatives Kevin Jacobson integrated
020 KSComp option to automatically add corresponding constraint Rob Falck integrated
021 _post_configure moved to public API Rob Falck rejected
022 POEM 022: Shape inputs/outputs by connection or copy from another component variable Josh Anibal integrated
023 Remove reconfigure code from the current code base Bret Naylor integrated
024 Calculating ExecComp Jacobian with symbolic derivatives Péter Onódi rejected
025 allow GA to seek pareto frontier Kenneth-T-Moore integrated
026 Remove support for factorial function in ExecComp swryan integrated
027 Approximation flag and state tracking johnjasa integrated
028 check_partials input warnings Eliot Aretskin-Hariton rejected
029 Retrieval of IO Variable Metadata Bret Naylor integrated
030 User Accessible Complex Step Justin Gray integrated
031 Improved Aitken Relaxation justinsgray integrated
032 Detailed Driver Scaling Report justinsgray, Eliot Aretskin-Hariton integrated
033 Linear Constraints in Check Totals justinsgray integrated
034 Units library function to simplify units. optional real name rejected
035 More generalized behavior in promoted inputs. robfalck integrated
036 Serialization of Kriging training weights dakror integrated
037 Give list_problem_vars the option to output unscaled variables. optional real name integrated
038 Raise an error if a user declares a sub-jacobian to have a value of zero. Kenneth-T-Moore accepted
039 User Function Registration in ExecComp @justinsgray, @robfalck integrated
040 Integration with IPython notebooks robfalck integrated
041 Add expressions to ExecComp after instantiation @robfalck integrated
042 DOEDriver different number of levels for different DVs. Péter Onódi integrated
043 No src_indices warning when both components are distributed Mark Leader rejected
044 OpenMDAO-Specific Warnings robfalck accepted
045 Promote-as change robfalck rejected
046 Definition of serial and distributed variables justinsgray, naylor-b, joanibal, anilyildirim, kejacobson integrated
047 Component I/O independance from Problem Object Andrew Ellis integrated
048 Semistructured Training Data for MetaModel justinsgray integrated
049 Removal of matrix-matrix derivative APIs justinsgray, naylor-b accepted
050 Fix val/value inconsistency in the API robfalck integrated
051 Modifications to relative step sizing in finite difference kenneth-t-moore accepted
052 Function based component definition for OpenMDAO justinsgray, Ben Margolis, Kenny Lyons rejected
053 Make src_indices behave in the same way as indices applied to a normal numpy array naylor-b, swryan integrated
054 Specifying source array as flat or non-flat when setting src_indices or dv or constraint indices naylor-b integrated
055 Min/Max Variable Print Option for Arrays Andrew Ellis integrated
056 Function based API usable by OpenMDAO and others Bret Naylor integrated
057 OpenMDAO function based components Bret Naylor integrated
058 Fixed grid interpolation methods Kenneth-T-Moore integrated
059 Unitless And Percentage Based Units Andrew Ellis integrated
060 Reports robfalck integrated
061 The openmdao:allow_desvar tag @robfalck integrated
062 Stricter Option Naming @naylor-b integrated
063 Allow multiple responses on a single variable @robfalck integrated
064 Simple Caching for Matrix-Free Derivative APIs jsgray rejected
065 Add a 'proc_group' option to add_subsystem @naylor-b integrated
066 Adopt NEP29 @robfalck integrated
067 Add a method to Vector to compute a hash. @naylor-b integrated
068 Nonlinear Solver System Output Caching @lamkina accepted
069 Declare residual names for implicit components @joanibal, @eytanadler accepted
070 Inputs report @robfalck integrated
071 POEM_071 - Change ExecComp to use declare_coloring @robfalck accepted
072 Add ability to modify bounds and scaling of implicit outputs and optimizer variables after creation. Rob Falck integrated
073 Add ability for DOEDriver to compute and record total derivatives. Tucker Babcock integrated
074 Suggest variables close in name on failed connection attempt Josh Anibal integrated
075 Convention for distributed/serial variables and when to allreduce Kevin Jacobson accepted
076 Directional total derivative checks Kevin Jacobson accepted
078 Add ability to filter inputs to only those that are connected to IndepVarComp. Rob Falck accepted
079 Raise exception if the initial design point exceeds bounds. Rob Falck integrated
080 Add an activation function to the standard component set. Rob Falck rejected
081 Add Submodel Component to standard component set. Nate Steffen accepted
082 Add ability to easily retrieve all independent variables within a Problem. Rob Falck accepted
084 Add a set of jax functions and documentation on using jax with OpenMDAO. Rob Falck accepted

About

Proposals for OpenMDAO Enhancements

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 93.9%
  • Python 6.1%