Skip to content

Repository files navigation

Svirl: GPU-accelerated Ginzburg-Landau equations solver

Svirl is an open source solver of complex Ginzburg-Landau (GL) equations mainly used to describe magnetic vortices in superconductors. It consists of two parts: (i) time-dependent Ginzburg-Landau (TDGL) solver [1] and (ii) GL free energy minimizer with uses modified non-linear conjugate gradient method.

The current version of Svirl can be used for two-dimensional (2D) systems only, the work on three-dimensional (3D) solver is in progress.

Svirl has intuitive Python3 API and requires nVidia GPU to run. The idea of GPU-acceletrated TDGL solver was initially developed in the framework of OSCon project for infinite GL parameter limit.

Main features

  • 2D time-dependent GL solver
  • 2D GL free energy minimizer
  • finite and infinite GL parameters
  • user-defined material domain for order parameter
  • calculates observables such as GL free energy, current density, and magnetic field
  • detector of vortex positions
  • uses nVidia CUDA by means of pyCUDA

Example

importnumpyasnpfromsvirlimportGLSolvergl=GLSolver(
dx=0.5, dy=0.5,
Lx=64, Ly=64,
order_parameter='random',
gl_parameter=5.0, # np.infnormal_conductivity=200.0,
homogeneous_external_field=0.1,
dtype=np.float64,
)
gl.solve.td(dt=0.1, Nt=1000)
gl.solve.cg(n_iter=1000)
vx, vy, vv=gl.params.fixed_vortices.vorticesprint('Order parameter: array of shape', gl.vars.order_parameter.shape)
print('%d vortices detected'%vx.size)
print('Free energy: ', gl.observables.free_energy)
ch, cv=gl.observables.current_densityprint('Total current density: two arrays of shape', ch.shape, '[horizontal links] and', cv.shape, '[vertical links]')
ch, cv=gl.observables.supercurrent_densityprint('Supercurrent density: two arrays of shape', ch.shape, '[horizontal links] and', cv.shape, '[vertical links]')
print('Magnetic field: array of shape', gl.observables.magnetic_field.shape)

References

  1. I.A. Sadovskyy et al, Stable large-scale solver for Ginzburg-Landau equations for superconductors, J. Comp. Phys. 294, 639 (2015); arXiv:1409.8340.

Code of conduct

We follow the Microsoft Open Source Code of Conduct.

About

Svirl is GPU-accelerated solver of complex Ginzburg-Landau equations for superconductivity. It consists of time-dependent solver to describe vortex dynamics and free energy minimizer to accurately find static configurations.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

26 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages