{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import damask\n", "\n", "from pathlib import Path" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "orientations,rODF = damask.Rotation.from_ODF('hybridIA_ODF.txt',\n", " 2**14,\n", " degrees=True,\n", " reconstruct=True,\n", " fractions=True,\n", " seed=0)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "VTK = damask.VTK.from_rectilinearGrid([36,36,36],[90,90,90])\n", "VTK.add(damask.Table.from_ASCII('hybridIA_ODF.txt').get('intensity'),'intensity')\n", "VTK.add(rODF.flatten(order='F'),'rODF')\n", "VTK.to_file('hybridIA_ODF.vtr')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on class VTK in module damask._vtk:\n", "\n", "class VTK(builtins.object)\n", " | VTK(geom)\n", " | \n", " | Spatial visualization (and potentially manipulation).\n", " | \n", " | High-level interface to VTK.\n", " | \n", " | Methods defined here:\n", " | \n", " | __init__(self, geom)\n", " | Set geometry and topology.\n", " | \n", " | Parameters\n", " | ----------\n", " | geom : subclass of vtk.vtkDataSet\n", " | Description of geometry and topology. Valid types are vtk.vtkRectilinearGrid,\n", " | vtk.vtkUnstructuredGrid, or vtk.vtkPolyData.\n", " | \n", " | __repr__(self)\n", " | ASCII representation of the VTK data.\n", " | \n", " | add(self, data, label=None)\n", " | Add data to either cells or points.\n", " | \n", " | Parameters\n", " | ----------\n", " | data : numpy.ndarray\n", " | Data to add. First dimension need to match either\n", " | number of cells or number of points\n", " | label : str\n", " | Data label.\n", " | \n", " | add_comments(self, comments)\n", " | Add Comments.\n", " | \n", " | Parameters\n", " | ----------\n", " | comments : str or list of str\n", " | Comments to add.\n", " | \n", " | get(self, label)\n", " | Get either cell or point data.\n", " | \n", " | Cell data takes precedence over point data, i.e. this\n", " | function assumes that labels are unique among cell and\n", " | point data.\n", " | \n", " | Parameters\n", " | ----------\n", " | label : str\n", " | Data label.\n", " | \n", " | get_comments(self)\n", " | Return the comments.\n", " | \n", " | set_comments(self, comments)\n", " | Set Comments.\n", " | \n", " | Parameters\n", " | ----------\n", " | comments : str or list of str\n", " | Comments.\n", " | \n", " | show(self)\n", " | Render.\n", " | \n", " | See http://compilatrix.com/article/vtk-1 for further ideas.\n", " | \n", " | write(self, fname, parallel=True)\n", " | Write to file.\n", " | \n", " | Parameters\n", " | ----------\n", " | fname : str or pathlib.Path\n", " | Filename for writing.\n", " | parallel : boolean, optional\n", " | Write data in parallel background process. Defaults to True.\n", " | \n", " | ----------------------------------------------------------------------\n", " | Static methods defined here:\n", " | \n", " | from_file(fname, dataset_type=None)\n", " | Create VTK from file.\n", " | \n", " | Parameters\n", " | ----------\n", " | fname : str or pathlib.Path\n", " | Filename for reading. Valid extensions are .vtr, .vtu, .vtp, and .vtk.\n", " | dataset_type : str, optional\n", " | Name of the vtk.vtkDataSet subclass when opening an .vtk file. Valid types are vtkRectilinearGrid,\n", " | vtkUnstructuredGrid, and vtkPolyData.\n", " | \n", " | from_polyData(points)\n", " | Create VTK of type vtk.polyData.\n", " | \n", " | This is the common type for point-wise data.\n", " | \n", " | Parameters\n", " | ----------\n", " | points : numpy.ndarray of shape (:,3)\n", " | Spatial position of the points.\n", " | \n", " | from_rectilinearGrid(grid, size, origin=array([0., 0., 0.]))\n", " | Create VTK of type vtk.vtkRectilinearGrid.\n", " | \n", " | This is the common type for results from the grid solver.\n", " | \n", " | Parameters\n", " | ----------\n", " | grid : numpy.ndarray of shape (3) of np.dtype = int\n", " | Number of cells.\n", " | size : numpy.ndarray of shape (3)\n", " | Physical length.\n", " | origin : numpy.ndarray of shape (3), optional\n", " | Spatial origin.\n", " | \n", " | from_unstructuredGrid(nodes, connectivity, cell_type)\n", " | Create VTK of type vtk.vtkUnstructuredGrid.\n", " | \n", " | This is the common type for results from FEM solvers.\n", " | \n", " | Parameters\n", " | ----------\n", " | nodes : numpy.ndarray of shape (:,3)\n", " | Spatial position of the nodes.\n", " | connectivity : numpy.ndarray of np.dtype = int\n", " | Cell connectivity (0-based), first dimension determines #Cells, second dimension determines #Nodes/Cell.\n", " | cell_type : str\n", " | Name of the vtk.vtkCell subclass. Tested for TRIANGLE, QUAD, TETRA, and HEXAHEDRON.\n", " | \n", " | ----------------------------------------------------------------------\n", " | Data descriptors defined here:\n", " | \n", " | __dict__\n", " | dictionary for instance variables (if defined)\n", " | \n", " | __weakref__\n", " | list of weak references to the object (if defined)\n", "\n" ] } ], "source": [ "help(damask.VTK)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "a,b=np.radians(([90,90],[45,45]))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.57079633, 1.57079633])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.78539816, 0.78539816])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }