DesignSpace creation and manipulation

In this example, we will see how to create and how to manipulate an instance of DesignSpace.

from __future__ import division, unicode_literals

from numpy import array

from gemseo.api import configure_logger, create_design_space

configure_logger()

Out:

<RootLogger root (INFO)>

Create a parameter space

The user can create an instance of the DesignSpace using the API and the create_design_space() function.

design_space = create_design_space()

Add design variables

The user can add new design variables using the DesignSpace.add_variable(). In the following example, we add the x variable in the design space. We also define the lower and upper bound of the variable. It is then possible to plot the DesignSpace instance either using a print statement or by using the logger.

design_space.add_variable("x", l_b=array([-2.0]), u_b=array([2.0]), value=array([0.0]))

print(design_space)

Out:

Design space:
+------+-------------+-------+-------------+-------+
| name | lower_bound | value | upper_bound | type  |
+------+-------------+-------+-------------+-------+
| x    |      -2     |   0   |      2      | float |
+------+-------------+-------+-------------+-------+

The user can also add design variables with dimension greater than one. To do that, the user can use the size keyword:

design_space.add_variable(
    "y", l_b=array([-2.0, -1.0]), u_b=array([2.0, 1.0]), value=array([0.0, 0.0]), size=2
)
print(design_space)

Out:

Design space:
+------+-------------+-------+-------------+-------+
| name | lower_bound | value | upper_bound | type  |
+------+-------------+-------+-------------+-------+
| x    |      -2     |   0   |      2      | float |
| y    |      -2     |   0   |      2      | float |
| y    |      -1     |   0   |      1      | float |
+------+-------------+-------+-------------+-------+

Remove design variables

The user can also remove a variable in the design space using the DesignSpace.remove_variable() method:

design_space.remove_variable("x")
print(design_space)

Out:

Design space:
+------+-------------+-------+-------------+-------+
| name | lower_bound | value | upper_bound | type  |
+------+-------------+-------+-------------+-------+
| y    |      -2     |   0   |      2      | float |
| y    |      -1     |   0   |      1      | float |
+------+-------------+-------+-------------+-------+

Total running time of the script: ( 0 minutes 0.004 seconds)

Gallery generated by Sphinx-Gallery