{ "cells": [ { "cell_type": "markdown", "id": "3e422427", "metadata": {}, "source": [ "# Fieldkit basics\n", "\n", "## Preliminaries\n", "\n", "The first step when using fieldkit is to update your PYTHONPATH so that python can find the fieldkit module:\n", "\n", " $ export PYTHONPATH=/fieldkit/\n", "\n", "Once you have set your path correctly, you can import fieldkit:" ] }, { "cell_type": "code", "execution_count": 1, "id": "de8f1091", "metadata": {}, "outputs": [], "source": [ "import fieldkit as fk\n", "import numpy as np" ] }, { "cell_type": "markdown", "id": "5bf835a0", "metadata": {}, "source": [ "## Creating and manipulating yiour first field\n", "\n", "To get started we will create a **field** object. Here we will create a 2d field consisting of 5x5 grid points and a square cell 10 units per side:" ] }, { "cell_type": "code", "execution_count": 2, "id": "85650947", "metadata": {}, "outputs": [], "source": [ "field = fk.Field(npw=(5,5),h=10.0*np.eye(2))" ] }, { "cell_type": "markdown", "id": "45af95d5", "metadata": {}, "source": [ "A **field** object is really nothing more than a container that stores (1) the a value of the field at each grid point and (2) the cartesian coordinates of each of those grid points.\n", "\n", "The value of the field at each grid point can be accessed via `field.data`" ] }, { "cell_type": "code", "execution_count": 3, "id": "173aebb0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "field.data" ] }, { "cell_type": "markdown", "id": "7523048f", "metadata": {}, "source": [ "Clearly, the values of the field default to zero. \n", "\n", "The cartesian coordinates of each grid point are accessed via `field.coords`. Note that `field.coords` stores both the x and y coordinates of each grid point" ] }, { "cell_type": "code", "execution_count": 4, "id": "8048861c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 0., 0., 0., 0.],\n", " [2., 2., 2., 2., 2.],\n", " [4., 4., 4., 4., 4.],\n", " [6., 6., 6., 6., 6.],\n", " [8., 8., 8., 8., 8.]])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "field.coords[:,:,0] # x-coord of each grid point" ] }, { "cell_type": "code", "execution_count": 5, "id": "1195c39b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 2., 4., 6., 8.],\n", " [0., 2., 4., 6., 8.],\n", " [0., 2., 4., 6., 8.],\n", " [0., 2., 4., 6., 8.],\n", " [0., 2., 4., 6., 8.]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "field.coords[:,:,1] # y-coord of each grid point" ] }, { "cell_type": "markdown", "id": "0b83a349", "metadata": {}, "source": [ "Clearly, this field is not terribly interesting. Lets manually set some elements of the field" ] }, { "cell_type": "code", "execution_count": 6, "id": "ec5ce5bd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 0., 1., 0., 0.],\n", " [0., 0., 1., 0., 0.],\n", " [2., 2., 2., 2., 2.],\n", " [0., 0., 1., 0., 0.],\n", " [3., 0., 1., 0., 0.]])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "field.data[:,2] = 1 # set all x-values for middle y-element to 1\n", "field.data[2,:] = 2 # set all y-values for middle x-element to 2\n", "field.data[4,0] = 3 # set final x-element and 1st y-element to 3\n", "field.data " ] }, { "cell_type": "markdown", "id": "49451c2c", "metadata": {}, "source": [ "We can now plot this field" ] }, { "cell_type": "code", "execution_count": 7, "id": "6eee1f7d", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fk.plot(field, dpi=100)" ] }, { "cell_type": "markdown", "id": "a8c08768", "metadata": {}, "source": [ "\n", "> **A brief aside**: The careful reader will notice that the plot is slightly different from output obtained by printing `field.data`:\n", ">\n", ">> 1. The row of \"2\"s is horizontal in `field.data` but vertical in the plot\n", ">> 2. The column of \"1\"s is vertical in `field.data` but horizontal in the plot\n", ">> 3. The single value of \"3\" is in the bottom left of `field.data` but in the bottom right of the plot.\n", ">\n", "> This is due to the fact that field.data is stored in *row major* (or C-ordering) so that the y-values vary across the *rows* (horizontal) of the output of `field.data`. Also, the origin in the printed output of `field.data` is in the top left, while in the plot it is in the bottom right. \n", ">\n", "> Understanding this isn't terribly important, but its good to keep in mind if you're wondering why the output of `field.data` and the plot don't seem to match up at first glance.\n", "\n", "\n", "If we deform the cell tensor (h), the fields deform accordingly" ] }, { "cell_type": "code", "execution_count": 8, "id": "6db64472", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "h = np.array([[10,5],[0,10]]) # cell is no longer square\n", "field.set_h(h)\n", "fk.plot(field,dpi=100)" ] }, { "cell_type": "markdown", "id": "c3b29e2f", "metadata": {}, "source": [ "## Common field initializations\n", "\n", "Manually setting the values of `field.data` is tedious and **fieldkit** comes with a number of utility functions for adjusting the values of fields. A common one is the `add_gaussian` function. " ] }, { "cell_type": "code", "execution_count": 9, "id": "f6280312", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "field = fk.Field(npw=(32,32)) # create a new field\n", "fk.add_gaussian(field,center=(0,0), sigma=0.2) \n", "fk.plot(field,dpi=100)" ] }, { "cell_type": "markdown", "id": "454b37a6", "metadata": {}, "source": [ "As before, we can now deform the cell to generate a field configuration that might be resemble the hexagonally-packed cylinder phase formed in block copolymers." ] }, { "cell_type": "code", "execution_count": 10, "id": "22b1c037", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "L = 4 # box length\n", "theta = 60 * np.pi / 180 # 60 degree angle\n", "h = np.array([[L,0],[L*np.cos(theta),L*np.sin(theta)]]) # cell tensor\n", "field.set_h(h)\n", "fk.plot(field, dpi=100)" ] }, { "cell_type": "markdown", "id": "9a1840d2", "metadata": {}, "source": [ "In the next tutorial, you'll learn how to read/write field files tha can be used in OpenFTS." ] }, { "cell_type": "code", "execution_count": null, "id": "8c4ac894", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.1" } }, "nbformat": 4, "nbformat_minor": 5 }