pyfebiopt.xplt.results
======================

.. py:module:: pyfebiopt.xplt.results

.. autoapi-nested-parse::

   Container for XPLT result views.

   ``Results`` acts as the registry that stitches parsed buffers to their view type.
   Callers typically access it through ``xplt.results`` and index variables by name.
   The container keeps per-kind dictionaries (nodal, per-domain nodal, item, mult,
   region) while also remembering field metadata for quick reprs and validation.



Classes
-------

.. autoapisummary::

   pyfebiopt.xplt.results.Results


Module Contents
---------------

.. py:class:: Results(times: collections.abc.Iterable[float])

   Holds all result views keyed by variable name.

   Access patterns
   ---------------
   - Use ``results["variable"]`` to fetch the matching view regardless of storage.
   - Kind-specific dicts (``node``, ``node_region``, ``elem_item`` ...) are also
     available when you need to iterate a subset.
   - The time vector is stored once and shared across every view.

   Initialize empty result collections for each storage kind.


   .. py:attribute:: node
      :type:  dict[str, pyfebiopt.xplt.views.NodeResultView]


   .. py:attribute:: node_region
      :type:  dict[str, pyfebiopt.xplt.views.NodeRegionResultView]


   .. py:attribute:: elem_item
      :type:  dict[str, pyfebiopt.xplt.views.ItemResultView]


   .. py:attribute:: face_item
      :type:  dict[str, pyfebiopt.xplt.views.ItemResultView]


   .. py:attribute:: elem_mult
      :type:  dict[str, pyfebiopt.xplt.views.MultResultView]


   .. py:attribute:: face_mult
      :type:  dict[str, pyfebiopt.xplt.views.MultResultView]


   .. py:attribute:: elem_region
      :type:  dict[str, pyfebiopt.xplt.views.RegionResultView]


   .. py:attribute:: face_region
      :type:  dict[str, pyfebiopt.xplt.views.RegionResultView]


   .. py:method:: __len__() -> int

      Return number of time steps.



   .. py:method:: times() -> numpy.ndarray

      Return the time vector.



   .. py:method:: register_node_global(name: str, meta: pyfebiopt.xplt.views._FieldMeta, per_t: list[numpy.ndarray | None], mesh: pyfebiopt.mesh.mesh.Mesh) -> None

      Register a global nodal variable.



   .. py:method:: register_node_region(name: str, meta: pyfebiopt.xplt.views._FieldMeta, per_name: dict[str, list[numpy.ndarray | None]], region_nodes: dict[str, numpy.ndarray]) -> None

      Register a per-domain nodal variable.



   .. py:method:: register_item(where: str, name: str, meta: pyfebiopt.xplt.views._FieldMeta, per_name: dict[str, list[numpy.ndarray | None]]) -> None

      Register an item variable for elements or faces.



   .. py:method:: register_mult(where: str, name: str, meta: pyfebiopt.xplt.views._FieldMeta, per_name: dict[str, list[pyfebiopt.xplt.types.MultLike | None]]) -> None

      Register a per-element-node variable for elements or faces.



   .. py:method:: register_region(where: str, name: str, meta: pyfebiopt.xplt.views._FieldMeta, per_name: dict[str, list[numpy.ndarray | None]]) -> None

      Register a per-region vector variable for elements or faces.



   .. py:method:: __getitem__(key: str) -> pyfebiopt.xplt.views.ItemResultView | pyfebiopt.xplt.views.MultResultView | pyfebiopt.xplt.views.NodeResultView | pyfebiopt.xplt.views.NodeRegionResultView | pyfebiopt.xplt.views.RegionResultView

      Look up a variable by name across all locations.

      :returns: Result view matching the variable name.



   .. py:method:: __repr__() -> str


   .. py:attribute:: __str__


