.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_probabilistic_modeling/stochastic_processes/plot_field_manipulation.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_probabilistic_modeling_stochastic_processes_plot_field_manipulation.py: Draw a field ============ .. GENERATED FROM PYTHON SOURCE LINES 7-16 The objective here is to create and manipulate a field. A field is the agregation of a mesh :math:`\mathcal{M}` of a domain :math:`\mathcal{D} \in \mathbb{R}^n` and a sample of values in :math:`\mathbb{R}^d` associated to each vertex of the mesh. We note :math:`(\vect{t}_0, \dots, \vect{t}_{N-1})` the vertices of :math:`\mathcal{M}` and :math:`(\vect{x}_0, \dots, \vect{x}_{N-1})` the associated values in :math:`\mathbb{R}^d`. A field is stored in the :class:`~openturns.Field` object that stores the mesh and the values at each vertex of the mesh. It can be built from a mesh and values or as a realization of a stochastic process. .. GENERATED FROM PYTHON SOURCE LINES 18-24 .. code-block:: Python import openturns as ot import openturns.viewer as viewer from matplotlib import pylab as plt ot.Log.Show(ot.Log.NONE) .. GENERATED FROM PYTHON SOURCE LINES 25-26 First, define a regular 2-d mesh .. GENERATED FROM PYTHON SOURCE LINES 26-36 .. code-block:: Python discretization = [10, 5] mesher = ot.IntervalMesher(discretization) lowerBound = [0.0, 0.0] upperBound = [2.0, 1.0] interval = ot.Interval(lowerBound, upperBound) mesh = mesher.build(interval) graph = mesh.draw() graph.setTitle("Regular 2-d mesh") view = viewer.View(graph) .. image-sg:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_001.png :alt: Regular 2-d mesh :srcset: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 37-38 Create a field as a realization of a process .. GENERATED FROM PYTHON SOURCE LINES 38-44 .. code-block:: Python amplitude = [1.0] scale = [0.2] * 2 myCovModel = ot.ExponentialModel(scale, amplitude) myProcess = ot.GaussianProcess(myCovModel, mesh) field = myProcess.getRealization() .. GENERATED FROM PYTHON SOURCE LINES 45-46 Create a field from a mesh and some values .. GENERATED FROM PYTHON SOURCE LINES 46-57 .. code-block:: Python values = ot.Normal([0.0] * 2, [1.0] * 2, ot.CorrelationMatrix(2)).getSample( len(mesh.getVertices()) ) for i in range(len(values)): x = values[i] values[i] = 0.05 * x / x.norm() field = ot.Field(mesh, values) graph = field.draw() graph.setTitle("Field on 2-d mesh and 2-d values") view = viewer.View(graph) .. image-sg:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_002.png :alt: Field on 2-d mesh and 2-d values :srcset: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 58-59 Compute the input mean of the field .. GENERATED FROM PYTHON SOURCE LINES 59-61 .. code-block:: Python field.getInputMean() .. raw:: html
class=Point name=Unnamed dimension=2 values=[0.00190315,-0.0103605]


.. GENERATED FROM PYTHON SOURCE LINES 62-63 Draw the field without interpolation .. GENERATED FROM PYTHON SOURCE LINES 63-67 .. code-block:: Python graph = field.drawMarginal(0, False) graph.setTitle("Marginal field (no interpolation)") view = viewer.View(graph) .. image-sg:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_003.png :alt: Marginal field (no interpolation) :srcset: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 68-69 Draw the field with interpolation .. GENERATED FROM PYTHON SOURCE LINES 69-73 .. code-block:: Python graph = field.drawMarginal(0) graph.setTitle("Marginal field (with interpolation)") view = viewer.View(graph) .. image-sg:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_004.png :alt: Marginal field (with interpolation) :srcset: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_004.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 74-76 Deform the mesh from the field according to the values of the field The dimension of the mesh (ie of its vertices) must be the same as the dimension of the field (i.e., its values) .. GENERATED FROM PYTHON SOURCE LINES 76-80 .. code-block:: Python graph = field.asDeformedMesh().draw() graph.setTitle("Deformed 2-d mesh") view = viewer.View(graph) .. image-sg:: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_005.png :alt: Deformed 2-d mesh :srcset: /auto_probabilistic_modeling/stochastic_processes/images/sphx_glr_plot_field_manipulation_005.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 81-82 Export to the VTK format .. GENERATED FROM PYTHON SOURCE LINES 82-87 .. code-block:: Python field.exportToVTKFile("field.vtk") with open("field.vtk") as f: print(f.read()[:100]) plt.show() .. rst-class:: sphx-glr-script-out .. code-block:: none # vtk DataFile Version 3.0 Unnamed ASCII DATASET UNSTRUCTURED_GRID POINTS 66 float 0 0 0.0 0.2 0 0. .. _sphx_glr_download_auto_probabilistic_modeling_stochastic_processes_plot_field_manipulation.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_field_manipulation.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_field_manipulation.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_field_manipulation.zip `