### Run Meissner example with noisy d-wave start guess Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Demonstrates using command-line arguments to remove the s-wave component and add a noisy dxy-wave component to an existing configuration. ```bash python superconga.py simulate -C examples/swave_disc_meissner/ --no-s-wave --dxy-wave 1.0 0.0 2.0 ``` -------------------------------- ### Simulating and plotting a solenoid setup Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Commands to simulate a d+is superconductor with a solenoid gauge and plot the resulting simulation data. Note that this setup may require higher numerical discretization for convergence. ```bash python superconga.py simulate -C examples/dwave_plus_swave -S data/dwave_plus_swave_modified -g solenoid --remove-regular-polygon 0 0 8 0.333 5 -B 3.7 -N 10 -p 64 -c 2.5e-5 python superconga.py plot-simulation -L data/dwave_plus_swave_modified --view {D,J} ``` -------------------------------- ### Change Meissner-state example via command-line arguments Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Example of overriding configuration settings using command-line flags to set flux, temperature, penetration depth, output folder, and order-parameter symmetry. ```bash python superconga.py simulate -C examples/swave_disc_meissner -S data/dwave_disc_meissner -B 1 -T 0.05 -k 4 --dx2-y2-wave 1 0 0 --no-s-wave -N 10 -p 64 ``` -------------------------------- ### Postprocessing configuration file Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Example of a postprocess_config.json file defining spectroscopy, numerical, and miscellaneous settings. ```json { "spectroscopy": { "energy_max": 0.5, "energy_min": 0.0, "energy_broadening": 0.008, "num_energies": 128 }, "numerics": { "convergence_criterion": 1e-4, "norm": "l2", "num_energies_per_block": 32, "num_fermi_momenta": 720, "num_iterations_burnin": -1, "num_iterations_max": 1000, "num_iterations_min": 0 }, "misc": { "data_format": "h5", "load_path": "data/examples/swave_disc_vortex", "save_path": "", "verbose": true } } ``` -------------------------------- ### Plot the custom d-wave Meissner example Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Command to visualize simulation results saved in a specific data directory. ```bash python superconga.py plot-simulation -L data/dwave_hexagon_meissner ``` -------------------------------- ### Geometry section of the config file Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Example of the geometry list structure in a JSON configuration file. ```json "geometry": [ { "regular_polygon": { "add": true, ... } } ], ``` -------------------------------- ### Compile SuperConga with tests Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Run this command after the setup process to compile the project and automatically execute unit tests. ```bash python superconga.py compile --type Release --test ``` -------------------------------- ### Simulate and plot modified chiral d-wave example Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Run a simulation with opposite chirality by modifying the phase shift and plot the results using the chiral transformation. ```bash python superconga.py simulate -C examples/dwave_chiral/ --dxy-wave 1 -0.25 0 -S data/examples/dwave_chiral_opposite/ python superconga.py plot-simulation --chiral-transform -L data/examples/dwave_chiral_opposite/ --view {D,J} ``` -------------------------------- ### Run Abrikosov-vortex simulation with superconga.py simulate Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Runs the Abrikosov-vortex example from the repository root. The -C flag specifies the config file path, and -T overrides the temperature to 0.5Tc. Command-line arguments take priority over config-file values. ```bash python superconga.py simulate -C examples/swave_disc_vortex/simulation_config.json -T 0.5 ``` -------------------------------- ### Run Abrikosov-vortex lattice simulation Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Runs the SuperConga simulation for the Abrikosov-vortex lattice example, saving data to data/vortex_lattice/. Required before plotting with plot-simulation or plot-convergence. ```bash python superconga.py simulate -C examples/swave_abrikosov_lattice/ -S data/vortex_lattice/ ``` -------------------------------- ### Add multiple vortices via config file Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Demonstrates adding four singly-quantized vortices to the simulation start guess by extending the vortices list in the JSON configuration. ```json "vortices": [ { "center_x": 5.0, "center_y": 5.0, "winding_number": -1.0 }, { "center_x": 5.0, "center_y": -5.0, "winding_number": -1.0 }, { "center_x": -5.0, "center_y": -5.0, "winding_number": -1.0 }, { "center_x": -5.0, "center_y": 5.0, "winding_number": -1.0 } ] ``` -------------------------------- ### Disc geometry configuration Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Example of defining a disc geometry in a JSON configuration file using radius and center coordinates. ```json "geometry": [ { "disc": { "add": true, "center_x": 0.0, "center_y": 0.0, "radius": 15.0 } } ], ``` -------------------------------- ### Plot d+is vortex simulation results Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Plots the converged simulation results for the d+is vortex example. ```bash python superconga.py plot-simulation -L data/dwave_plus_swave_vortices ``` -------------------------------- ### Simulate d+ig superconductor with spontaneous symmetry breaking Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Modifies the dwave_plus_swave example to study a d+ig superconductor by replacing the s-wave component with a g-wave and applying a phase shift. ```bash python superconga.py simulate -C examples/dwave_plus_swave/simulation_config.json --no-s-wave --g-wave 0.5 0.01 0 -T 0.1 -k 80 -S data/dwave_plus_gwave ``` -------------------------------- ### Example postprocess_config.json for swave_disc_vortex Source: https://superconga.gitlab.io/superconga-doc/technical_reference.html JSON configuration file for running postprocessing with SuperConga. Contains spectroscopy, numerics, and misc parameter groups. The spectroscopy group defines the energy range and broadening; numerics controls convergence and memory usage; misc specifies data format and paths. Note that energy_min is often set to 0.0 because negative energies can be obtained by symmetry. ```json { "spectroscopy": { "energy_max": 0.5, "energy_min": 0.0, "energy_broadening": 0.008, "num_energies": 128 }, "numerics": { "convergence_criterion": 1e-4, "norm": "l2", "num_energies_per_block": 32, "num_fermi_momenta": 720, "num_iterations_burnin": -1, "num_iterations_max": 1000, "num_iterations_min": 0 }, "misc": { "data_format": "h5", "load_path": "data/examples/dwave_chiral", "save_path": "", "verbose": true } } ``` -------------------------------- ### Run chiral d-wave simulation Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Execute the simulation using the configuration file located in the examples/dwave_chiral/ directory. ```bash python superconga.py simulate -C examples/dwave_chiral/ ``` -------------------------------- ### Arbitrary polygon geometry: d-wave phase crystal example Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Example geometry section from examples/dwave_phase_crystal/simulation_config.json defining an irregular polygon. ```json "geometry": [ { "polygon": { "add": true, "vertices_x": [ 25.0, 0.0, 0.0, 5.0, 25.0 ], "vertices_y": [ 25.0, 25.0, 0.0, 0.0, 20.0 ] } } ], ``` -------------------------------- ### Regular polygon geometry: an octagon Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Example geometry section from examples/dwave_octagon/simulation_config.json defining an octagon. ```json "geometry": [ { "regular_polygon": { "add": true, "center_x": 0.0, "center_y": 0.0, "num_edges": 8, "rotation": 0.0, "side_length": 10.0 } } ], ``` -------------------------------- ### Simulate a chiral d-wave in a slab geometry via CLI Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Runs a simulation with noise to seed domain walls, setting the temperature to 0.1Tc and constructing a slab geometry from five squares. ```bash python superconga.py simulate -C examples/dwave_chiral/ --dxy-wave 1 0.25 20 --dxy-wave 1 0.25 20 -T 0.1 -S data/dwave_chiral_slab/ --clear-geometry --add-regular-polygon 0 0 4 0 10 --add-regular-polygon 10 0 4 0 10 --add-regular-polygon 20 0 4 0 10 --add-regular-polygon 30 0 4 0 10 --add-regular-polygon 40 0 4 0 10 ``` -------------------------------- ### Geometry with a circular hole Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Example configuration showing how to add a square and remove a circular disc to create a hole. ```json "geometry": [ { "regular_polygon": { "add": true, "center_x": 0.0, "center_y": 0.0, "num_edges": 4, "rotation": 0.0, "side_length": 20.0 } "disc": { "add": false, "center_x": 0.0, "center_y": 0.0, "radius": 5.0 } } ], ``` -------------------------------- ### Run vortex-core spectroscopy simulation Source: https://superconga.gitlab.io/superconga-doc/guides/vortex-core-spectroscopy.html Execute the shell script from the project root directory to calculate the spectra of vortex cores. ```bash ./examples/guides/vortex_core_spectroscopy/vortex_core_spectroscopy.sh ``` -------------------------------- ### Run Abrikosov-vortex core simulation script Source: https://superconga.gitlab.io/superconga-doc/guides/abrikosov-vortex-core.html Execute the shell script from the project root to perform a parameter sweep for the penetration depth. ```bash ./examples/parameter_sweeps/swave_disc_vortex_kappa_sweep.sh ``` -------------------------------- ### Change Meissner-state example to a hexagon geometry Source: https://superconga.gitlab.io/superconga-doc/tutorials.html JSON configuration snippet to modify the geometry entry to a hexagon with side-length 10ΞΎ0. ```json "geometry": [ { "regular_polygon": { "add": true, "center_x": 0.0, "center_y": 0.0, "num_edges": 6, "rotation": 0.0, "side_length": 10.0 } } ], ``` -------------------------------- ### Plot chiral d-wave simulation results Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Visualize the simulation data stored in the data/examples/dwave_chiral/ directory. ```bash python superconga.py plot-simulation -L data/examples/dwave_chiral/ --view {D,J} ``` -------------------------------- ### Run the thermodynamics simulation Source: https://superconga.gitlab.io/superconga-doc/guides/basic-thermodynamics.html Command to execute the parameter sweep script from the project root directory. Launches multiple simulations with varying penetration depth. ```bash ./examples/parameter_sweeps/swave_and_dwave_temperature_sweep.sh ``` -------------------------------- ### View SuperConga noise tool help Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Run the noise tool from the SuperConga root directory to display its help message. The tool is located at tools/noise.py. ```bash python tools/noise.py --help ``` -------------------------------- ### Simulate d-wave superconductor with subdominant s-wave Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Shows how to define multiple order parameters by adding both a dxy-wave and a subdominant s-wave component with a lower critical temperature. ```bash python superconga.py simulate -C examples/swave_disc_meissner/ --dxy-wave 1 0 0 --s-wave 0.1 0 0 -S data/dwave_plus_swave_meissner ``` -------------------------------- ### Bash script for penetration depth sweep Source: https://superconga.gitlab.io/superconga-doc/tutorials.html This script executes a series of SuperConga simulations with varying penetration depth values, using the output of the previous simulation as the starting point for the next. ```bash #!/bin/bash # Note, this script is meant to be executed from the root folder of the project. # ./examples/parameter_sweeps/swave_disc_vortex_kappa_sweep.sh # The configuration file to use. CONFIG="examples/parameter_sweeps/kappa_sweep_config.json" # Base path to save the data to. DATA_PATH="data/examples/swave_disc_vortex_kappa_sweep" # The number of burn-in iterations. BURNIN=-1 python superconga.py simulate -C $CONFIG -S $DATA_PATH/kInf --no-visualize -k -1 --vortex 0 0 -1 python superconga.py simulate -C $CONFIG -S $DATA_PATH/k64 -L $DATA_PATH/kInf -b $BURNIN --no-visualize -k 64 python superconga.py simulate -C $CONFIG -S $DATA_PATH/k32 -L $DATA_PATH/k64 -b $BURNIN --no-visualize -k 32 python superconga.py simulate -C $CONFIG -S $DATA_PATH/k16 -L $DATA_PATH/k32 -b $BURNIN --no-visualize -k 16 python superconga.py simulate -C $CONFIG -S $DATA_PATH/k8 -L $DATA_PATH/k16 -b $BURNIN --no-visualize -k 8 python superconga.py simulate -C $CONFIG -S $DATA_PATH/k4 -L $DATA_PATH/k8 -b $BURNIN --no-visualize -k 4 python superconga.py simulate -C $CONFIG -S $DATA_PATH/k2 -L $DATA_PATH/k4 -b $BURNIN --no-visualize -k 2 python superconga.py simulate -C $CONFIG -S $DATA_PATH/k1 -L $DATA_PATH/k2 -b $BURNIN --no-visualize -k 1 ``` -------------------------------- ### git remote: adding upstream parent Source: https://superconga.gitlab.io/superconga-doc/contribute.html Adds the parent SuperConga repository as a remote named 'upstream'. Run this in the directory created by git clone. Multiple remotes can be added, for example to other forks. ```bash git remote add upstream https://gitlab.com/superconga/superconga ``` -------------------------------- ### Interactive spectroscopy of vortex cores Source: https://superconga.gitlab.io/superconga-doc/guides/vortex-core-spectroscopy.html Run the interactive plotter for s-wave and d-wave vortex cores. ```bash python3 ldos_plotter.py --file examples/guides/vortex_core_spectroscopy/swave_vortex.json python3 ldos_plotter.py --file examples/guides/vortex_core_spectroscopy/dwave_vortex.json ``` -------------------------------- ### Resume Abrikosov-vortex simulation with same parameters Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Resumes a simulation using the exact same configuration and data path as the original run. ```bash python superconga.py simulate -L data/examples/swave_disc_vortex/ -C data/examples/swave_disc_vortex/ ``` -------------------------------- ### Parameter sweep shell script for s-wave and d-wave simulations Source: https://superconga.gitlab.io/superconga-doc/guides/basic-thermodynamics.html Bash script that loops over temperatures, runs s-wave and d-wave simulations using superconga.py, and uses previous data as start guess with burn-in. Requires execution from project root. ```bash #!/bin/bash # Note, this script is meant to be executed from the root folder of the project. # ./examples/parameter_sweeps/swave_and_dwave_temperature_sweep.sh # Force decimal separator to be point (instead of e.g. comma). export LC_NUMERIC="en_US.UTF-8" # Note, this script is meant to be executed from the root folder of the project. # The configuration file to use. CONFIG="examples/parameter_sweeps/temperature_sweep_config.json" # Base path to save the data to. DATA_BASE_PATH="data/examples/temperature_sweep" # The number of burn-in iterations. Negative: run until boundary is converged. BURNIN=-1 # String containing load path (including flag). Empty for first run. LOAD_STRING_SWAVE="" LOAD_STRING_DWAVE="" # Loop over temperatures. Manually add T=0.999 at end. T_MIN=0.01 T_MAX=0.99 T_STEP=0.02 T_IDX=0 for T in $(seq $T_MIN $T_STEP $T_MAX; seq 0.999 $T_STEP 0.999); do DATA_PATH_SWAVE=`printf "$DATA_BASE_PATH/swave/T%2.3f/" $T` DATA_PATH_DWAVE=`printf "$DATA_BASE_PATH/dwave/T%2.3f/" $T` # Run simulation: s-wave. python superconga.py simulate -C $CONFIG -S $DATA_PATH_SWAVE --no-visualize -T $T $LOAD_STRING_SWAVE # Run simulation: d-wave. python superconga.py simulate -C $CONFIG -S $DATA_PATH_DWAVE --no-visualize -T $T $LOAD_STRING_DWAVE --no-s-wave --dx2-y2-wave 1 0 0 # Use data as start-point for next simulation, with burnin. LOAD_STRING_SWAVE="-L $DATA_PATH_SWAVE -b $BURNIN" LOAD_STRING_DWAVE="-L $DATA_PATH_DWAVE -b $BURNIN" done ``` -------------------------------- ### Run simulation with save frequency -F 50 Source: https://superconga.gitlab.io/superconga-doc/tutorials.html Saves data every 50th iteration during the vortex example. Use from the root directory. Positive integer frequency saves during simulation and at the end; negative saves only at the end; zero disables saving. ```bash python superconga.py simulate -C examples/swave_disc_vortex/ -F 50 ```