From 9e7280c53b232fc3bf6cafdf2d04f7da86e5b9d4 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Tue, 25 Aug 2015 19:00:54 +0300 Subject: [PATCH] Interpolation of field variables. --- ...-25-interpolation-of-field-variables.ipynb | 362 ++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 notebooks/2015-08-25-interpolation-of-field-variables.ipynb diff --git a/notebooks/2015-08-25-interpolation-of-field-variables.ipynb b/notebooks/2015-08-25-interpolation-of-field-variables.ipynb new file mode 100644 index 0000000..61be7cd --- /dev/null +++ b/notebooks/2015-08-25-interpolation-of-field-variables.ipynb @@ -0,0 +1,362 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Interpolation of field variables\n", + "\n", + "Author(s): Jukka Aho\n", + "\n", + "Abstract: Let's interpolate and visualize a scalar field from 4 element model." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "using JuliaFEM: Element, Quad4, get_basis, set_field, get_field, get_dbasisdxi" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "coordinates = [0.0 2.0; 1.0 2.0; 2.0 2.0; 0.0 1.0; 1.0 1.0; 2.0 1.0; 0.0 0.0; 1.0 0.0; 2.0 0.0]'\n", + "temperature = [0.0 140.0 190.0 0.0 155.0 310.0 0.0 170.0 430.0]\n", + "\n", + "elements = Element[\n", + " Quad4([4, 5, 2, 1]),\n", + " Quad4([5, 6, 3, 2]),\n", + " Quad4([7, 8, 5, 4]),\n", + " Quad4([8, 9, 6, 5])]\n", + "\n", + "for el in elements\n", + " set_field(el, \"coordinates\", coordinates[:, el.node_ids])\n", + " set_field(el, \"temperature\", temperature[:, el.node_ids])\n", + "end" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Basic interpolation wrt local coordinates $\\xi$:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "([430.0],[0.5,1.5])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "Evaluate field in point xi using basis functions.\n", + "\"\"\"\n", + "function interpolate(el::Element, field::ASCIIString, xi::Array{Float64,1})\n", + " f = get_field(el, field)\n", + " basis = get_basis(el, xi)\n", + " dim, nnodes = size(f)\n", + " result = zeros(dim)\n", + " for i=1:nnodes\n", + " result += basis[i]*f[:,i]\n", + " end\n", + " return result\n", + "end\n", + "\n", + "interpolate(elements[4], \"temperature\", [1.0, -1.0]), interpolate(elements[1], \"coordinates\", [0.0, 0.0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Find local coordinate $\\xi$ where field equals to some given value:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1.0,-1.0]\n" + ] + }, + { + "data": { + "text/plain": [ + "2-element Array{Float64,1}:\n", + " 1.0\n", + " 1.0" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function get_xi(el::Element, field::ASCIIString, value::Vector)\n", + " fld = get_field(el, field)\n", + " dbasisdxi(xi) = get_dbasisdxi(el, xi)\n", + " rhs(xi) = interpolate(el, field, xi) - value\n", + " lhs(xi) = fld*dbasisdxi(xi)\n", + " xi = zeros(length(value))\n", + " for i=1:5\n", + " A = rhs(xi)\n", + " b = lhs(xi)\n", + " #println(\"$A, $b\")\n", + " dxi = lhs(xi) \\ rhs(xi)\n", + " xi -= dxi\n", + " if norm(dxi) < 1.0e-9\n", + " break\n", + " end\n", + " end\n", + " return xi[:]\n", + "end\n", + "\n", + "xi0 = get_xi(elements[4], \"coordinates\", [2.0, 0.0])\n", + "println(\"$xi0\")\n", + "interpolate(elements[1], \"coordinates\", xi0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Test if point is inside element:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "point_inside_element (generic function with 1 method)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function point_inside_element(el::Quad4, pnt)\n", + " all(-1 .<= get_xi(el, \"coordinates\", pnt) .<= 1)\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(false,true)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "point_inside_element(elements[1], [0.8, 2.01]), point_inside_element(elements[4], [2.0, 0.0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interpolate field variable from set of elements" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "interpolate (generic function with 3 methods)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function interpolate(elements::Array{Element,1}, field::ASCIIString, pnt::Array{Float64,1}, nullval=0.0)\n", + " elements = filter((el) -> point_inside_element(el, pnt), elements)\n", + " if length(elements) == 0\n", + " # outside of region\n", + " return nullval\n", + " end\n", + " xi = get_xi(elements[1], \"coordinates\", pnt)\n", + " return interpolate(elements[1], field, xi)\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "1-element Array{Float64,1}:\n", + " 430.0" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "interpolate(elements, \"temperature\", [2.0, 0.0])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "y = linspace(0,2,100)\n", + "x = y'\n", + "T = zeros(length(x), length(y))\n", + "for i=1:length(x)\n", + " for j=1:length(y)\n", + " T[i,j] = interpolate(elements, \"temperature\", [x[i], y[j]])[1]\n", + " end\n", + "end\n", + "T = T';" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "using PyPlot" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "PyPlot.Figure(PyObject )" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(-0.1,2.1,-0.1,2.1)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "figure(figsize=(6, 6))\n", + "levels = [10, 50, 100, 140, 155, 170, 190, 250, 310, 350]\n", + "cs = contour(x, y, T, levels, colors=\"k\")\n", + "clabel(cs, fontsize=9, inline=1)\n", + "for el in elements\n", + " p1 = interpolate(el, \"coordinates\", [-1.0, -1.0])\n", + " p2 = interpolate(el, \"coordinates\", [ 1.0, -1.0])\n", + " p3 = interpolate(el, \"coordinates\", [ 1.0, 1.0])\n", + " p4 = interpolate(el, \"coordinates\", [-1.0, 1.0])\n", + " pts = [p1 p2 p3 p4 p1]\n", + " plot(pts[1,:]', pts[2,:]', \"-ko\")\n", + "end\n", + "xlim(-0.1, 2.1)\n", + "ylim(-0.1, 2.1)\n", + "axis(\"off\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.4.0-dev", + "language": "julia", + "name": "julia-0.4" + }, + "language_info": { + "name": "julia", + "version": "0.4.0" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}