Note
Click here to download the full example code
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)