TetraX tagshttps://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags2022-07-18T15:07:54+02:00https://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags/1.3.31.3.3# Hotfixes
- fixed wrong scaling factor in iDMI tensor (We thank Joo-Von Kim for highlighting this issue)Koerber, Lukas (FWIN-C) - 108045https://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags/1.3.21.3.2# Hotfixes
- fixed problem related to mode visualization that was appearing on windows machines.Koerber, Lukas (FWIN-C) - 108045https://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags/1.3.11.3.1Hotfixes
- fixed installation problem on Windows related to compilation (issue #26 )
- fixed problem related to multiprocessing on Windows
- fixed error on calculating absorption when some frequencies are NaN (now it properly skips these modes)
Other
- Included description in documentation on how to use TetraX in standalone python scripts.Koerber, Lukas (FWIN-C) - 108045https://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags/1.3.01.3.0Summary of changes:
- inhomogeneous material parameters
- extract data along curves
- new sample visualization
- added calculation of mode linewidths
- 5 new examples
- 3D confined samples and antiferromagnets (experimental)
- other
Detailed patch notes are found at https://tetrax.readthedocs.io/en/latest/release_notes.html#version-1-3-0Koerber, Lukas (FWIN-C) - 108045https://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags/1.2.01.2.0<h1 data-sourcepos="1:1-1:22" dir="auto">
<a id="user-content-tetrax-release-notes" class="anchor" href="#tetrax-release-notes" aria-hidden="true"></a>TetraX Release Notes</h1>
<h2 data-sourcepos="4:1-4:16" dir="auto">
<a id="user-content-version-120" class="anchor" href="#version-120" aria-hidden="true"></a>Version 1.2.0</h2>
<h3 data-sourcepos="6:1-6:16" dir="auto">
<a id="user-content-new-features" class="anchor" href="#new-features" aria-hidden="true"></a>New features</h3>
<ul data-sourcepos="8:1-18:0" dir="auto">
<li data-sourcepos="8:1-8:395">TetraX now supports <strong>layer samples</strong>, which can be created with <code>create_sample(geometry="layer")</code> and are represented by 1D line-trace mesh along the normal direction of the layer(s). For this, the plane-wave Fredkin-Koehler method has been expanded to infinitely-extended layers (preprint available at <a href="https://arxiv.org/abs/2207.01519" rel="nofollow noreferrer noopener" target="_blank">arXiv</a>, submitted to AIP Advances). See Example ...</li>
<li data-sourcepos="9:1-12:33">As templates for layer samples, we added mono, bi and multilayers as possible 1D geometries in the <code>tetrax.geometries</code> submodule:
<ul data-sourcepos="10:5-12:33">
<li data-sourcepos="10:5-10:32"><code>monolayer_line_trace()</code></li>
<li data-sourcepos="11:5-11:30"><code>bilayer_line_trace()</code></li>
<li data-sourcepos="12:5-12:33"><code>multilayer_line_trace()</code></li>
</ul>
</li>
<li data-sourcepos="13:1-13:295">Bilinear <strong>interlayer-exchange interaction</strong> is now available (only for layered systems), see Example ... The interlayer-exchange constant <code>sample.J1</code> (in J/m^2) can also have different values between different layers in a multilayered sample, by supplying a list of values (see User Guide).</li>
<li data-sourcepos="14:1-14:166">The eigenmode calculation <code>eigenmodes(k=k_list,...)</code> now accepts lists or 1D arrays as a parameter for <code>k</code>, e.g. to specify a non-equidistant wave-vector range.</li>
<li data-sourcepos="15:1-15:118">
<strong>Cubic anistropy</strong> (first order) is now properly implemented and can be used for both waveguides and layer samples.</li>
<li data-sourcepos="16:1-16:202">Rudimentary <strong>mode-profile visualization</strong> and animation has been added. If available, a mode profile can be visualized using <code>ExperimentalSetup.show_mode(k=..., N=...)</code>. See User Guide for details.</li>
<li data-sourcepos="17:1-18:0">The numerical experiments implemented in <code>TetraX</code> are often based on seminal papers. In order to give credit to these works, when conducting a numerical experiment, <code>TetraX</code> now <strong>saves references</strong> important for this experiment to a <strong>bibtex file</strong> called <code>references.bib</code>, found in the sample directory. In this file, each entry contains a <code>comment</code> field describing how the reference was important for the computation. When publishing results calculated with <code>TetraX</code> in your research, please also give credit to the works which are important for the numerical experiments you conducted.</li>
</ul>
<h3 data-sourcepos="19:1-19:17" dir="auto">
<a id="user-content-minor-changes" class="anchor" href="#minor-changes" aria-hidden="true"></a>Minor changes</h3>
<ul data-sourcepos="20:1-23:0" dir="auto">
<li data-sourcepos="20:1-20:160">When modes at a specificy wave vector cannot be calculated, now, <code>NaN</code>s are inserted into the dispersion dataframe. Previously, this simply caused an error.</li>
<li data-sourcepos="21:1-21:74">Warning message for magnetization pointing into the z direction removed.</li>
<li data-sourcepos="22:1-23:0">Addititional geometry added for waveguides, <code>round_wire_cross_section_refined</code> which supports local mesh refinement (see documentation).</li>
</ul>
<h3 data-sourcepos="24:1-24:13" dir="auto">
<a id="user-content-bug-fixes" class="anchor" href="#bug-fixes" aria-hidden="true"></a>Bug fixes</h3>
<ul data-sourcepos="25:1-28:0" dir="auto">
<li data-sourcepos="25:1-25:149">
<code>ExperimentalSetup.Bext</code> is now initialized as MeshVector filled with zeros. Previously, an error occured when not specifying any external field.</li>
<li data-sourcepos="26:1-26:240">Automatic dispersion saving and perturbate-dispersion analysis have been reimplemented. Somehow they got lost in a previous merge. Saving of dispersions can be controlled with save_disp=True and <code>eigenmodes(fname="dispersion.csv",...)</code>.</li>
<li data-sourcepos="27:1-28:0">The director of uniaxial anistropy <code>e_u</code> can now be specified as a triplet, e.g. [0, 0, 1], just like magnetization or external field. Previously, this caused complications with the possiblity to set multiple uniaxial anistropies.</li>
</ul>
<h3 data-sourcepos="29:1-29:9" dir="auto">
<a id="user-content-other" class="anchor" href="#other" aria-hidden="true"></a>Other</h3>
<ul data-sourcepos="30:1-37:31" dir="auto">
<li data-sourcepos="30:1-30:196">To make upcoming implementation of antiferromagnets easier, spherical mesh vectors for FM and AFM, conversion methods to cartesian and back, and local mesh vectors for AFM have been implemented.</li>
<li data-sourcepos="31:1-31:24">Updated documentation.</li>
<li data-sourcepos="32:1-32:34">Guides for Windows installation.</li>
<li data-sourcepos="33:1-37:31">4 examples added:
<ul data-sourcepos="34:5-37:31">
<li data-sourcepos="34:5-34:79">thick film dispersion + perturbation and comparison with Kalinikos-Slavin</li>
<li data-sourcepos="35:5-35:66">antiferromagnetically coupled films with interlayer exchange</li>
<li data-sourcepos="36:5-36:57">mode movie for magnetostatic surface waves in films</li>
<li data-sourcepos="37:5-37:31">cubic anisotropy in films</li>
</ul>
</li>
</ul>2022-07-18T15:07:54+02:00Kakay, Dr. Attila (FWIN) - 9524https://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags/1.1.01.1.0Release version 1.1.0<h2 data-sourcepos="1:1-1:15" dir="auto">
<a id="user-content-new-features" class="anchor" href="#new-features" aria-hidden="true"></a>New features</h2>
<ul data-sourcepos="3:1-22:0" dir="auto">
<li data-sourcepos="3:1-3:160">
<p data-sourcepos="3:3-3:160">Added the <code>tetrax.sample_average()</code> function available, which takes the average of a vector or scalar field in a given sample (can be volume, surface or line)</p>
</li>
<li data-sourcepos="4:1-4:108">
<p data-sourcepos="4:3-4:108"><code>verbose={True, False}</code> added to all numerical experiments, allows to silence all output (except warnings)</p>
</li>
<li data-sourcepos="5:1-16:127">
<p data-sourcepos="5:3-5:98">Saving vector/scalar fields to vtk files is now possible using <code>tetrax.write_field_to_file()</code> by</p>
<div class="gl-relative markdown-code-block js-markdown-code">
<pre data-sourcepos="7:3-9:5" data-canonical-lang="python" class="code highlight js-syntax-highlight language-python" lang="python" v-pre="true"><code><span id="LC1" class="line" lang="python"><span class="n">tetrax</span><span class="p">.</span><span class="nf">write_field_to_file</span><span class="p">(</span><span class="n">field</span><span class="p">,</span> <span class="n">sample</span><span class="p">)</span></span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="11:3-11:31">or with the optional keywords</p>
<div class="gl-relative markdown-code-block js-markdown-code">
<pre data-sourcepos="13:3-15:5" data-canonical-lang="python" class="code highlight js-syntax-highlight language-python" lang="python" v-pre="true"><code><span id="LC1" class="line" lang="python"><span class="n">tetrax</span><span class="p">.</span><span class="nf">write_field_to_file</span><span class="p">(</span><span class="n">field</span><span class="p">,</span> <span class="n">sample</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">qname</span><span class="p">)</span></span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="16:3-16:127">As an alternative, the method <code>AbstractSample.field_to_file()</code> can be used, where the sample parameters is obviously omitted.</p>
</li>
<li data-sourcepos="17:1-17:85">
<p data-sourcepos="17:3-17:85">Added new equilibrium states <code>bloch_wall</code> and <code>neel_wall</code> to <code>tetrax.vectorfields</code>.</p>
</li>
<li data-sourcepos="18:1-18:95">
<p data-sourcepos="18:3-18:95">Added new geometry <code>tube_segment_cross_section</code> for waveguide samples to <code>tetrax.geometries</code>.</p>
</li>
<li data-sourcepos="19:1-19:112">
<p data-sourcepos="19:3-19:112">Plotting of scalar and vector fields on a sample is now possible using the <code>plot()</code> method of a sample object.</p>
</li>
<li data-sourcepos="20:1-20:263">
<p data-sourcepos="20:3-20:263">Pertubation analysis and reverse-engineering of general spin-wave dispersions according to <a href="https://doi.org/10.1103/PhysRevB.104.174414" rel="nofollow noreferrer noopener" target="_blank">Phys. Rev. B 104, 174414 (2021)</a> is now possible within the <code>eigenmodes()</code> experiment, see User Guide Numerical Experiments.</p>
</li>
<li data-sourcepos="21:1-22:0">
<p data-sourcepos="21:3-21:81">Implemented cubic anistropy (linearized dynamic field not properly tested yet).</p>
</li>
</ul>
<h2 data-sourcepos="23:1-23:16" dir="auto">
<a id="user-content-minor-changes" class="anchor" href="#minor-changes" aria-hidden="true"></a>Minor changes</h2>
<ul data-sourcepos="25:1-28:0" dir="auto">
<li data-sourcepos="25:1-25:81">
<code>relax()</code> experiment now returns only a boolean denoting the relaxation success</li>
<li data-sourcepos="26:1-26:96">magnetization is automatically saved into folder of experimental setup after running <code>relax()</code>
</li>
<li data-sourcepos="27:1-28:0">dispersion is automatically saved to into folder of experimental setup after running <code>eigenmodes()</code>
</li>
</ul>
<h2 data-sourcepos="29:1-29:8" dir="auto">
<a id="user-content-other" class="anchor" href="#other" aria-hidden="true"></a>Other</h2>
<ul data-sourcepos="31:1-33:63" dir="auto">
<li data-sourcepos="31:1-31:41">Populated User Guide and API reference.</li>
<li data-sourcepos="32:1-32:22">Added more examples.</li>
<li data-sourcepos="33:1-33:63">Indroduced <code>MeshVector</code>, <code>MeshScalar</code> and related data types.</li>
</ul>2022-03-31T13:57:48+02:00Koerber, Lukas (FWIN-C) - 108045https://codebase.helmholtz.cloud/micromagnetic-modeling/tetrax/-/tags/1.0.11.0.1Koerber, Lukas (FWIN-C) - 108045