{ "cells": [ { "cell_type": "code", "execution_count": 16, "id": "c265b324-30c9-451c-a23d-31cadf964a2c", "metadata": {}, "outputs": [], "source": [ "using LinearAlgebra\n", "using Plots" ] }, { "cell_type": "code", "execution_count": 51, "id": "d3e2294e-e773-44ec-a654-d715230ef135", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100×3 Matrix{Float64}:\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " ⋮ \n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0\n", " 0.0 0.0 0.0" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta_t = 0.001\n", "T = 0.01\n", "\n", "m_0 = [1., 0, 0]\n", "\n", "H_ext = [0, 0, 1.]\n", "\n", "sols = zeros(100, 3)" ] }, { "cell_type": "code", "execution_count": 52, "id": "07fe4cf9-e12b-4263-923a-1c2346c61e56", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "llb_step (generic function with 1 method)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function llb_step(m, dt, T, H_ext)\n", " H_eff = H_ext\n", " alpha_par = .1\n", " alpha_ort = .1\n", " gamma = 1 # 1.76*10^-11\n", " return gamma .* ( .- cross(m, H_eff) .- alpha_par / dot(m, m) .* dot(m, H_eff) .- alpha_ort / dot(m, m) * cross(m, cross(m, H_eff))) * dt\n", "end" ] }, { "cell_type": "code", "execution_count": 53, "id": "6e309085-abeb-4c34-8a1b-4e3ffc542fc9", "metadata": {}, "outputs": [], "source": [ "m = m_0\n", "for i in 1:100\n", " m = llb_step(m, delta_t, T, H_ext)\n", " sols[i, :] = m\n", "end" ] }, { "cell_type": "code", "execution_count": 54, "id": "1dbcada3-b98e-4e74-98b9-6af9373f3867", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100×3 Matrix{Float64}:\n", " -0.0 0.001 0.0001\n", " -0.00990199 -0.00991089 -0.00980198\n", " 0.00332949 0.00330965 0.00341991\n", " -0.0101746 -0.0101678 -0.0100722\n", " 0.00324336 0.00322304 0.00333352\n", " -0.0104478 -0.0104412 -0.0103456\n", " 0.00315844 0.00313757 0.00324832\n", " -0.0107322 -0.0107256 -0.01063\n", " 0.00307467 0.00305323 0.00316426\n", " -0.0110283 -0.011022 -0.0109263\n", " 0.002992 0.00296997 0.00308128\n", " -0.0113372 -0.011331 -0.0112352\n", " 0.0029104 0.00288775 0.00299937\n", " ⋮ \n", " 0.000451695 0.000285996 0.000468889\n", " -0.0927667 -0.0927506 -0.092668\n", " 0.000418663 0.000233152 0.000425948\n", " -0.103663 -0.103643 -0.103563\n", " 0.000391809 0.00018451 0.000388198\n", " -0.11481 -0.114785 -0.114709\n", " 0.000371749 0.000142161 0.000356993\n", " -0.124934 -0.124905 -0.124832\n", " 0.000358351 0.00010852 0.000333473\n", " -0.132696 -0.132662 -0.132593\n", " 0.00035051 8.51602e-5 0.000317874\n", " -0.137565 -0.137528 -0.13746" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sols" ] }, { "cell_type": "code", "execution_count": 55, "id": "b8e823ee-a493-420f-b982-0925509645d5", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(sols[:, 1])" ] }, { "cell_type": "code", "execution_count": null, "id": "1923be04-709f-4f9a-af44-4f944033b7f5", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.7.3", "language": "julia", "name": "julia-1.7" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.7.3" } }, "nbformat": 4, "nbformat_minor": 5 }