Peter Falloon

We present a simple method for solving scattering problems with multiple incoming and outgoing channels and demonstrate its application to the problem of conduction through a ferromagnetic domain wall.


The motivation for the work presented in this article is a problem from condensed matter physics concerning electron transport through ferromagnetic domain walls. Domain walls are spatially extended boundaries which separate magnetically homogeneous domains existing in ferromagnetic materials. They are regions in which the magnetization vector reverses by 180° over a length typically on the order of (Figure 1) [1]. Electrons travelling through such a structure experience a scattering due to the interaction of their intrinsic spin magnetic moment with the rotating magnetization. Recently, this scattering effect has been the subject of a large amount of experimental and theoretical research [2]. Much of this interest has been stimulated by the exciting potential for technological applications in solid state information storage devices that may be offered by storing domain walls in nanowire structures.

Figure 1. The rotating magnetization vector in a domain wall in a nanowire.

We have been involved in theoretical research aimed at understanding the physics of electron transport through domain walls in nanowires [3, 4]. Here we consider the problem of electron scattering from a domain wall using a simple free-electron model in which the domain wall is represented as a spin-dependent potential. Taking the electron spin into account requires that we work with two-component spinor wavefunctions. This problem is analogous to one-dimensional potential scattering problems from elementary quantum mechanics, with the complication that the domain wall causes mixing between the two spinor components. There are thus multiple transmitted and reflected states.

Although a variety of computational methods exist for such problems (for example, the recursive Green’s function (RGF) algorithm), it is desirable to have an intuitive and simple method. We develop such a method in this article by extending the approach commonly used for the elementary one-dimensional problem.

Preliminary Code

For the symbolic manipulations we perform in this article it is useful to modify the behaviour of the Equal function so that functions with the Listable attribute will be distributed across expressions with head Equal.

We will also make use of the following two functions: ThreadEqual uses the function Thread to distribute the Equal function over nested lists to yield a one-dimensional list of equalities.

PlotWaveFn generates a pair of graphs showing each component of a two-component wavefunction.

The Mode-Matching Method

Schrödinger Equation for the Domain Wall Scattering Problem

The conduction electron wavefunctions satisfy the two-component Schrödinger equation


where is the spinor wavefunction for the electron (in the spin basis). is the total electron energy and is the energy splitting between spin and components. The vector is a unit vector parallel to the magnetization direction in the ferromagnet.

For computation, we use units with . We define Equation (1) as follows.

Outside the domain wall the magnetization is uniform with opposite direction on either side of the wall:


We suppose the magnetization rotates in the -plane, . We consider two possible profiles for inside the wall:

  • Trigonometric
  • (3)

  • Linear
  • (4)

    The trigonometric profile is useful because it can be solved in closed-form, while the linear profile is useful in a perturbative approach since, if the component is ignored, solutions can be found in terms of Airy functions.

    We visualize the components of the potential.

    Figure 2. Components of the potential. The trigonometric profiles and are red and blue respectively. The linear profiles and are red and blue dashed lines respectively.

    Outside the domain wall region, solutions of Equation (1) are combinations of the following plane-wave basis states:


    Here are spin-dependent wavevectors:


    Scattering States and Scattering Amplitudes

    The goal of the scattering problem is to find scattering state solutions of Equation (1). These represent a steady-state flux of electrons incident on the scattering region which is partially transmitted and partially reflected. Specifically, we consider states incident from the left ():


    where and are the reflection and transmission amplitudes. The factors take account of the change in flux between regions with differing wavevectors and where and can each be spin up or spin down.

    The corresponding transmission and reflection probabilities are defined by


    Conservation of probability requires that these sum to unity for a given state:


    The functions and span the subspace of solutions of Equation (1) which contains all solutions with only right-moving components in the region , that is, all solutions which have no incoming component from the right.

    An Alternative Set of Solutions

    The key idea in our method is to determine two arbitrary linearly independent solutions from the same space as and for which we choose the form in the region . For the sake of definiteness, we let


    The choice here is arbitrary, and a more intuitive choice would perhaps be to make the transmitted functions be either up or down:

    However, the choice we have made in Equation (11) ensures that both up and down components will be roughly of the same magnitude, which minimizes the possibility for numerical difficulties that might arise if one of the components were set to zero.

    Because the functions are linear combinations of , they contain both incoming and reflected components in the region , so we write


    We obtain in the interval by solving Equation (1) numerically using the values at as initial conditions.

    Expressing Scattering States and Amplitudes in Terms of

    The scattering states can be expressed as a linear combination of according to


    We obtain the coefficients and by equating the coefficients of the incoming wave components at .

    The scattering amplitudes and can then be found by equating the coefficients of the appropriate scattered components at and .

    In solving these equations we substitute the definitions for and .

    Solving for and

    Now that we have an expression for the amplitudes and in terms of , , , and all that remains is to determine these coefficients. We do this by numerically solving the Schrödinger equation, Equation (1), for . The equation is solved as an initial value problem with the value of and as initial conditions.

    Here we assume a trigonometric domain wall and a particular set of parameter values.

    The function NDSolve returns solutions in the form of InterpolatingFunction objects, which can be differentiated like ordinary functions.

    We next use the value of these numerical solutions and their first derivative at to find the coefficients in the representation of for , using the fact that the wavefunctions are continuous at .

    We now have the two solutions for all .

    We visualize the squared magnitude of up and down components using the function PlotWaveFn defined at the start of this article.

    Figure 3. Squared magnitude of up and down components of are red and blue respectively.

    Figure 4. Squared magnitude of up and down components of are red and blue respectively.

    Both components display oscillatory behaviour for , since the functions contain incoming and reflected components in each spin channel.

    and now evaluate to numerical quantities,

    so we can immediately define in terms of .

    Now we plot the two spin components of each state.

    Figure 5. Spin components of are red and blue respectively.

    Figure 6. Spin components of are red and blue respectively.

    We also have the scattering coefficients. Here are the corresponding probabilities.

    A simple estimate of the error in our result is given by checking the deviation from conservation of probability (the sum of transmission and reflection should be unity).

    Package Implementation

    The algorithm to compute the transmission and reflection coefficients of a domain wall that is described in this section has been implemented in the DomainWall package, which contains the following function.

    : returns the matrices of transmission and reflection probabilities for a domain wall with given parameters.

    This function takes the following option.

    WallType: specifies form of domain wall profile. Possible values are Trig, and Linear; the default is Trig.

    Options for the NDSolve function (used to compute ) can also be passed to DWCoefficients. This allows the accuracy and precision of the solutions to be controlled by appropriately setting the options AccuracyGoal (or PrecisionGoal) and WorkingPrecision.


    We now show some results using DomainWall.m. We first load the package. Please make sure it is on the path.

    Transmission and Reflection Functions

    The electron transport through the domain wall can be understood by studying the transmission and reflection probabilities as a function of the physical parameters. Here we briefly consider the behaviour as a function of the domain wall width, and , the electron energy.

    We work with fixed throughout.

    Behaviour as a Function of

    We first fix and create a list of transmission and reflection matrices using DWCoefficients for a range of values.

    We then create suitable sublists of trlist by extracting the coefficients of interest (we focus on the transmission coefficients and relating to , the incoming spin state; results for are similar). A useful way to extract the same part from a list of expressions is using with the first argument set to All.

    We then plot the functions.

    Figure 7. Transmission coefficients and as a function of are red and blue respectively.

    From the physics point of view, this graph demonstrates the following features:

    1. Overall, the transmission with spin-reversal increases with the wall width .
    2. There are complementary oscillations in and as a function of .

    Both features are explained by understanding that the electron traversing the domain wall undergoes a “quasi-precessional” motion comprising precession about the local magnetization direction combined with rotation following the magnetization.

    Behaviour as a Function of

    We now fix and consider the behaviour as a function of , following the same approach as in the previous case.

    We again plot and , this time as a function of .

    Figure 8. Transmission coefficients and as a function of are red and blue respectively.

    This shows that for increasing . The reason for this is that for large the electron travels very rapidly through the domain wall and thus is less influenced by the rotating magnetization in the wall.

    Comparison of Domain Wall Profiles

    A useful application of our code is to compare the results of the trigonometric and linear models. Each model has practical advantages in analytical work, but it is important to know to what extent the results of the two differ. To check this, let us recalculate the transmission curves as a function of , this time using the linear profile.

    Here we plot and for the linear wall, showing the trigonometric wall results with dashed lines.

    Figure 9. Transmission coefficients and as a function of are red and blue respectively, with the trigonometric wall results indicated using dashed lines.

    The linear wall thus shows the same qualitative features as the trigonometric wall but with quantitative differences. In particular, the oscillations are more pronounced in the linear wall, which is related to the fact that the edges of the linear wall are more abrupt than those of the trigonometric wall ( is discontinuous at for the linear wall, but is continuous for the trigonometric wall) (Figure 2).


    We have presented a mode-matching method which can be used for scattering problems in which there are multiple scattering channels. The method makes use of NDSolve to find solutions of an arbitrary scattering potential using particular arbitrary combinations of asymptotic (transmitted) components as initial values at the right-hand boundary of the scattering region. The coefficients for the corresponding incoming and reflected components of these solutions are extracted using Solve at the opposite boundary of the scattering region. The true scattering states are then found by taking appropriate linear combinations so as to leave only a single incoming component.

    The method has the advantage of being intuitive and straightforward to implement. It permits the rapid solution of nontrivial scattering problems for which more sophisticated approaches (such as the RGF algorithm) are often called on. Furthermore, because we use NDSolve, results can readily be obtained to arbitrary precision with minimal effort.

    The method can be directly applied to any scattering problem in which there are multiple incoming and outgoing channels. In this article we have presented the example of a spin-dependent potential in one dimension, where the channels are spin components of the electron wavefunction. However, the same approach could also be applied to, for example, a two- or three-dimensional wire where the channels would correspond to distinct transverse wavefunction components. Thus, we expect this method to be of quite general utility.

    Finally, we mention several limitations of our method. The first concerns the case where solutions in the scattering region have evanescent components, that is, components which grow or decay exponentially. Here the actual scattering states usually only contain a nonvanishing contribution from the decaying component. However, the initial states we calculate in general contain both decaying and growing components, which leads to a rapid loss of precision. Because of this, the existence of evanescent modes in the system tends to necessitate large working precision. This problem does not occur with more advanced approaches, such as the RGF method. Secondly, we note that since each additional channel contributes an additional dimension to be solved numerically, the difficulty of the calculation increases rapidly with the number of channels. Thus this method is not well suited to problems with a large number of channels.


    [1] A. Hubert and R. Schäfer, Magnetic Domains, New York: Springer-Verlag, 1998.
    [2] U. Ebels, A. Radulescu, Y. Henry, L. Piraux, and K. Ounadjela, “Spin Accumulation and Domain Wall Magnetoresistance in 35nm Co Wires,” Physical Review Letters, 84(5), 2000 pp. 983-986.
    [3] V. A. Gopar, D. Weinmann, R. A. Jalabert, and R. L. Stamps, “Electronic Transport through Domain Walls in Ferromagnetic Nanowires: Coexistence of Adiabatic and Nonadiabatic Spin Dynamics,” Physical Review B, 69, 2004 pp. 014426-014436. DOI-Link:
    [4] P. E. Falloon, R. A. Jalabert, D. Weinmann, and R. L. Stamps, “A Circuit Model for Domain Walls in Ferromagnetic Nanowires: Application to Conductance and Spin Transfer Torques,” Physical Review B, 70, 2004 pp. 174424-174434. DOI-Link:
    P. Falloon, “A Mode-Matching Method for Multichannel Scattering Problems,” The Mathematica Journal, 2012.

    Additional Material


    Available at

    About the Author

    Peter Falloon completed his Ph.D. in theoretical condensed matter physics in co-tutelle between The University of Western Australia and the Université Louis Pasteur at Strasbourg in 2006. He also holds B.S. (Honours) and M.S. degrees from The University of Western Australia.

    In his master’s dissertation Falloon developed a Mathematica package to compute spheroidal wavefunctions, which will be incorporated into the next version of the Mathematica system. In 2001 he completed a summer internship at Wolfram Research and from 2001 to 2004 continued to work as a consultant.

    Peter Falloon
    School of Physics, M013
    The University of Western Australia
    35 Stirling Highway
    Crawley WA 6009, Australia