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)