Questions tagged [openmdao]

a Python-based, open-source, multidisciplinary optimization framework with support for analytic derivatives and distributed HPC computing

OpenMDAO is a Python-based open-source multidisciplinary design, analysis, and optimization (MDAO) framework which specializes in large-scale problems requiring parallel execution, distributed memory, and complex problem formulations.

OpenMDAO has been used to solve a number of interesting design problems, including optimization of a cubesat platform (CADRE) (paper), wind turbine and wind farm design (paper), aircraft trajectory optimization, and turbomachinery design for jet engines (paper).

The OpenMDAO project is managed by a development team at the NASA John H. Glenn Research Center in Cleveland OH.

For more information, visit our site at http://openmdao.org.

For documentation, see http://openmdao.org/docs.

Our code base is hosted at Github: http://github.com/OpenMDAO/OpenMDAO-Framework

516 questions
6
votes
1 answer

How does the SLSQP optimization algorithm work?

I am using the SLSQP algorithm in openMDAO, but I am having trouble understanding how it actually works. I am just looking at the common paraboloid example, which has 2 design variables and aims to minimise f, without any constraints. By printing…
5
votes
2 answers

Handling variable length input/output arrays, terminating computation when a condition is met (Boundary layer calculations)

I'm trying to write code to calculate boundary layer development over an aerofoil. I start with a set of points, S, that describe the shape of the aerofoil. I run an inviscid solver on these points and extract the stagnation point, which will be an…
BeeperTeeper
  • 151
  • 7
4
votes
1 answer

Running Matlab scripts as ExternalCode Component

I am trying to use some existing matlab scripts within the openmdao. The external code tutorial is straight forward to follow. However, I encounter some issues when modifying the following example for matlab applications. original code in…
Sparkle
  • 43
  • 2
3
votes
2 answers

Is there any way to get\list the unconnected inputs of an OpenMDAO group?

Considering the following problem import openmdao.api as om class Sys(om.Group): def setup(self): self.add_subsystem('sys1', om.ExecComp('v1 = a + b'), promotes=['*']) self.add_subsystem('sys2', om.ExecComp('v2 = v1 + c'),…
Andrew
  • 163
  • 8
3
votes
1 answer

How to define output variable with dynamic shape in OpenMDAO

I am currently simulating a structural optimization problem in which the gradients of responses are extracted from Nastran and provided to SLSQP optimizer in OpenMDAO. The number of constraints changes in subsequent iterations, because the design…
H.Rahman
  • 31
  • 1
3
votes
1 answer

Using APOPT (MINLP) solver in Openmdao

I have a mixed integer nonlinear problem. I dont want to use any penalty approaches so I am looking for a MINLP solver in Openmdao. Is it possible to use APOPT solver in openmdao ? It isn't available in pyoptsparse driver. Is there any other…
Cath
  • 35
  • 3
3
votes
1 answer

Understanding the reasons behind Openmdao design

I am reading about MDO and I find openmdao really interesting. However I have trouble understanding/justifying the reasons behind some basic choices. Why Gradient-based optimization ? Since gradient-based optimizer can never guarantee global…
Antione
  • 99
  • 6
3
votes
1 answer

How to integrate discrete time estimation into OpenMDAO Components?

I am trying to familiarise myself with OpenMDAO. One thing I am finding hard to understand is how integrated/state variables work in separate components of OpenMDAO. I think it's quite crucial and I want to understand the basics. So let's say I…
Ruben
  • 161
  • 7
3
votes
1 answer

Why are components executed two times for each Gauss-Seidel iteration? (OpenMDAO 2.4.0)

I've been using the the NonLinearBlockGS as nonlinear_solver for my MDO system consisting of ExplicitComponents and this works as expected. First I was using this with simple mathematical functions (hence runtime << 1s), but now I'm also…
3
votes
1 answer

Automatically calculated bits in SimpleGADriver of OpenMDAO with integer value

The link below about a SimpleGADriver document in OpenMDAO describes "Default is an empty dict, where every unspecified variable is assumed to be an integer, and the number of bits is calculated automatically" In the example in the document, "xI"…
3
votes
1 answer

Distinguishing between iterations and function evaluations in OpenMDAO SciPy SLSQP

I am using SLSQP through OpenMDAO to solve an optimization problem. The optimization is working adequately; the SLSQP output at the end reads: Optimization terminated successfully. (Exit mode 0) Current function value: [-0.07475851] …
aherrema
  • 77
  • 7
3
votes
2 answers

OpenMDAO1+: variable trees in parallel

I have a large set of model parameters controlling several different components. The model is being run in parallel. The model parameters are held constant during the run. The problem is that I have to add an IndepVarComp() for every model parameter…
jthomas
  • 2,437
  • 1
  • 13
  • 15
3
votes
1 answer

How to use nested problems in OpenMDAO 1.x?

I am trying to implement Collaborative Optimization & other multi-level architectures on OpenMDAO. I read here that this can be done by defining a separate solve_nonlinear method in the Subclass of Problem. The issue is that while running the…
Divya Manglam
  • 491
  • 2
  • 13
3
votes
1 answer

Is it possible to use OpenMDAO for control systems simulation? If so, how?

I'd like to run a Control Systems simulation similar to the one demonstrated here. Since OpenMDAO seems to have nice features of component-based modeling, is it possible to run such a simulation with OpenMDAO? More specifically, I'm trying to…
2
votes
2 answers

OpenMDAO Metamodel is not respecting training data

I am using an OpenMDAO semi-structured metamodel as part of a Dymos optimisation. There are two input values, so the range is 2D. Usually, this works fine. However, I recently noticed that, for a certain set of training data, it does not properly…
J_Code
  • 53
  • 5
1
2 3
34 35