Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
fc8ff29
Adds 2nd order theta 2nd order phi anisotropy
JaBCo1 May 3, 2022
e1f0b65
Fixes 2-2-anisotropy
JaBCo1 May 4, 2022
30d1034
Adds fourth theta 2 phi order anisotropy
JaBCo1 May 11, 2022
b717e07
Adds 4-4-anisotropy rotational
JaBCo1 May 16, 2022
83b367d
Adds functionality for 6-2-anisotropy rotational
JaBCo1 May 16, 2022
8bf2b4b
Adds 6-4-anisotropy functionality
JaBCo1 May 17, 2022
770484e
Adds 6-6-anisotropy functionality
JaBCo1 May 17, 2022
2162f30
Reverses sign for fourth order anisotropy
JaBCo1 May 17, 2022
c30709a
Normalises 6-0-anisotropy: 6th order prefactor = 1
JaBCo1 May 17, 2022
bb4ebe0
Fixes 6-6-anisotropy bug
JaBCo1 May 17, 2022
2fae4a1
Renames anisotropy files
JaBCo1 Jul 7, 2022
11ba2dc
Optimisatises anisotropy calculations
JaBCo1 Aug 19, 2022
f602f25
Adds anisotropy synonyms & k6r6 code, removes k4r
JaBCo1 Oct 2, 2022
8033992
White space changes
richard-evans Oct 3, 2022
ee880e8
Adds anisotropy synonyms & k6r6 code, removes k4r
JaBCo1 Oct 2, 2022
bf982fe
Merge branch 'magnetocrystalline-anisotropy' of https://github.com/ri…
JaBCo1 Oct 3, 2022
340fb3c
Adds checks for anisotropy basis vectors
JaBCo1 Oct 3, 2022
76d788c
Adds checks for anisotropy basis vectors
JaBCo1 Oct 3, 2022
2f51ae0
Merge commit
JaBCo1 Oct 3, 2022
28171dd
Adds manual entries and aliases for anisotropies
JaBCo1 Apr 2, 2023
98de566
Fixes minus sign error
JaBCo1 May 6, 2023
3ea4993
Fixes bug 6r2 anisotropy and improves comments
JaBCo1 May 6, 2023
d28c3d3
Simplifies k4r4 anisotropy energy calculation
JaBCo1 May 6, 2023
568b67c
Simplifies calculation of k40 anisotropy energy
JaBCo1 May 6, 2023
80c5a94
Simplifies k2r2 anisotropy energy
JaBCo1 May 6, 2023
562e61d
Fixes k6,0 and simplifies k4,0
JaBCo1 May 11, 2023
66793cb
Fixes error in k6r2 field calculation
JaBCo1 May 11, 2023
b4e99fe
Simplifies k6r2 fields calculation
JaBCo1 May 11, 2023
fb89b4c
Added <cstdint> libraries
InsomniacVegan Jul 11, 2023
b8f4f8e
Feature: Added scripts folder and script to list vampire input parame…
richard-evans Jul 19, 2023
e7ce726
Merge pull request #97 from InsomniacVegan/develop
richard-evans Oct 2, 2023
5939541
Added grain statistics calculation to GPU vampire
Oct 2, 2023
d63c2ec
latest version.
JoelPhys Oct 17, 2023
c2ed4c7
Merge branch 'release' into develop
Oct 19, 2023
bb48907
I think it is now parallelised correctly.
JoelPhys Oct 27, 2023
c416687
Checking parallelisation.
JoelPhys Oct 30, 2023
18a3b06
starting work on FFT in time.
JoelPhys Nov 15, 2023
bfe4d21
FFT in time working for single node.
JoelPhys Nov 21, 2023
93ef5f1
Added mask for k-points in parallel discrete ft.
JoelPhys Nov 21, 2023
6126306
Feature: Added implementation of field pulse simulation to pulse a sy…
richard-evans Nov 21, 2023
8a18b73
moved spinwave options (one sided, normalise, write to file) to seper…
JoelPhys Nov 24, 2023
fd9de81
Bugfix - set correct equilibration field during field pulse simulation
richard-evans Nov 27, 2023
3dc19ee
latest version.
JoelPhys Nov 29, 2023
251dc83
added fft_in_time() function to spinwaves.hpp
JoelPhys Nov 30, 2023
638291e
Added spin length output function
davidrpapp1 Dec 7, 2023
7e47c44
Added LSF-MC and LSF-LLG integrators
davidrpapp1 Dec 7, 2023
070b94a
Fixes bug in fourth order rotational energy
JaBCo1 Dec 13, 2023
a4abb9e
first commit 2024.
JoelPhys Jan 5, 2024
0f40d0e
added one-sided, complex-mag, reduc-method and norm-k as user defined…
JoelPhys Jan 9, 2024
2953025
Bugfix: Increased number of atoms allowed for unit cell files to 100,…
richard-evans Jan 12, 2024
7098fba
Manual: Added default parameters for system size parameters.
richard-evans Jan 12, 2024
b7a38db
Manual: Changed LaTeX formatting for easier reading.
richard-evans Jan 12, 2024
260f28d
Bugfix: Added using::std to enable standard fixed-width variables on …
richard-evans Jan 12, 2024
b3eff87
Bugfix: Removed unused variables creating compiler warnings
richard-evans Jan 12, 2024
8080a13
Bugfix: fixed incorrect ordering of variables with category class con…
richard-evans Jan 12, 2024
30d3c48
Bugfix: Fixed bitwise comparison for bool
richard-evans Jan 12, 2024
d683be9
Bugfix: Added missing grain function in case statement for grain spin…
richard-evans Jan 12, 2024
223adfd
Manual: Updated to reflect removed dipole parameters
richard-evans Jan 12, 2024
62c15c1
Bugfix: Added missing header file
richard-evans Jan 12, 2024
9235956
Bugfix: Added missing header files
richard-evans Jan 12, 2024
2871f45
added spin component as option. Also prevented spinwaves from launchi…
JoelPhys Jan 15, 2024
9b46fb2
Implemented LSF-LLG-RK4 integrator
davidrpapp1 Jan 26, 2024
4a7c6ad
Fixes comment
JaBCo1 Jan 30, 2024
f4508a0
Fixes 6-6 anisotropy bug
JaBCo1 Jan 30, 2024
917286f
Adds odd versions of current rotational harmonic anisotropies
JaBCo1 Jan 30, 2024
5ce39d9
Adds manual entry describing how to use harmonic anisotropy
JaBCo1 Jan 31, 2024
15e5302
6-2 anisotropy bugfix attempt
JaBCo1 Jan 31, 2024
eadf5ce
6-2-Anisotropy bugfix
JaBCo1 Jan 31, 2024
52fe475
Fixes 6,2 anisotropy bug.
JaBCo1 Feb 4, 2024
23b766b
Adds 2,-1 anisotropy harmonic
JaBCo1 Feb 5, 2024
7e513a2
Adds 2,1 anisotropy harmonic
JaBCo1 Feb 5, 2024
fa21fbe
Adds 4,-3 anisotropy harmonic
JaBCo1 Feb 5, 2024
30385aa
Adds 4,3 anisotropy harmonic
JaBCo1 Feb 5, 2024
b155796
Adds 4,-1 anisotropy harmonic
JaBCo1 Feb 5, 2024
1a36ce3
Adds 4,1 anisotropy harmonic
JaBCo1 Feb 5, 2024
0cf643c
Adds 6,-5 anisotropy harmonic
JaBCo1 Feb 5, 2024
43d00d3
Fixes 6,-5 anisotropy harmonic bug
JaBCo1 Feb 5, 2024
0185e5b
Fixes 6,-5 harmonic anisotropy bug
JaBCo1 Feb 5, 2024
aea7aae
Adds 6,5 harmonic anisotropy
JaBCo1 Feb 5, 2024
305f911
Adds 6,5 anisotropy harmonic
JaBCo1 Feb 5, 2024
98df416
Adds 6,-3 anisotropy harmonic
JaBCo1 Feb 5, 2024
4af1662
Fixes 6,-3 anisotropy harmonic bug
JaBCo1 Feb 5, 2024
abbe3af
Removes some unused constants
JaBCo1 Feb 5, 2024
7174ff7
Adds 6,3 anisotropy harmonic
JaBCo1 Feb 5, 2024
ee169e5
Adds 6,-1 anisotropy harmonic
JaBCo1 Feb 5, 2024
51bfbcc
Fixes 6,-1 anisotropy harmonic bug
JaBCo1 Feb 5, 2024
554a6e2
Adds 6,1 anisotropy harmonic
JaBCo1 Feb 5, 2024
2b8a848
Begain adding option for the calculation of SW for specific system ma…
JoelPhys Feb 6, 2024
b0cdade
Merge remote-tracking branch 'refs/remotes/origin/develop' into develop
richard-evans Feb 6, 2024
becc3cb
Added ability to output frequency values to seperate file.
JoelPhys Feb 7, 2024
9c2748d
Fixed issue with clang compilation relating to std::vector<fftw_compl…
JoelPhys Feb 12, 2024
fce9ff9
merged with develop.
JoelPhys Feb 16, 2024
6674279
Adds orthonormal version of tesseral harmonic single ion anisotropy
JaBCo1 Feb 16, 2024
355f4e6
updated check for external path file.
Feb 19, 2024
6ebb043
Added wrapper function with support for long messages (>2^32) of char…
richard-evans Feb 19, 2024
99d9001
Added option for selection of SPECIFIC k points for SW calculation in…
JoelPhys Feb 29, 2024
52e59d3
removed unwanted files.
JoelPhys Feb 29, 2024
a5becfa
added .gitignore for obj/spinwaves.
JoelPhys Feb 29, 2024
e38fe60
Bugfix: Added enhanced interaction range for parallel calculations fo…
richard-evans Mar 5, 2024
882fd1f
added option to turn off prefactor. Also renamed some variables to he…
JoelPhys Mar 21, 2024
2b158b4
Added intermediate structure factor output option.
Mar 27, 2024
3ce3d4b
Can select multiple spectrums containing 1 or more specific materials.
JoelPhys May 3, 2024
4b9457b
Updated scatter to work correctly for rank0 calculations.
JoelPhys May 14, 2024
9deb69d
fixed issue with scattering for time-series data.
JoelPhys May 14, 2024
a791cd3
fixed issue with MPI benig requried for serial compilation.
JoelPhys May 16, 2024
2cb3807
Renamed some user flags for clarity.
JoelPhys May 17, 2024
fc6c94d
fixed bugs.
JoelPhys May 30, 2024
ab46a44
four spin bug fix
Jul 16, 2024
a8cc983
Little vtk conversion fix
ViK0s Jul 17, 2024
5959dbf
merge latest release changes into develop
richard-evans Jan 7, 2025
5a859af
Fixed ordering of category class initialisation
richard-evans Jan 7, 2025
68d6e5e
added new higher order anisotropy implementation
richard-evans Jan 7, 2025
65061cb
Merge branch 'lsf-integration' into integration2
richard-evans Jan 7, 2025
76d5d53
Bugfix: Fixed compiler warnings
richard-evans Jan 7, 2025
1b1252d
Merge branch 'spinwaves' into integration with tidy
richard-evans Jan 8, 2025
abb8d05
Merge pull request #115 from ViK0s/develop
richard-evans Nov 3, 2025
041f1ed
Merge branch 'develop' into four-spin-fix
richard-evans Nov 3, 2025
ca5e0e2
Merge pull request #112 from jacksonross1024/four-spin-fix
richard-evans Nov 3, 2025
94c3d60
Merge branch 'integration' into develop
richard-evans Nov 3, 2025
fed31aa
Bugfix: compilation issue and whitespace changes
richard-evans Nov 3, 2025
0e20b95
Added basic support for agglomerates of nanoparticles
richard-evans Jan 31, 2026
532cda2
Bugfix: fixed issue where new uniaxial anisotropy vector stops runnin…
richard-evans Feb 2, 2026
64195d4
Fixed missing call to output dipole fields
richard-evans Feb 2, 2026
8bc3f20
add missing call for hierarchical dipole
Feb 2, 2026
0a2350b
mn2au cpp fix
Feb 4, 2026
0a904bd
small changes needed for the sld
Feb 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion hdr/anisotropy.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
// This file is part of the VAMPIRE open source package under the
// Free BSD licence (see licence file for details).
//
// (c) Sam Westmoreland 2016. All rights reserved.
// (c) Jack Collings and Sam Westmoreland 2016. All rights reserved.
//
// Email: sw766@york.ac.uk
// jbc525@york.ac.uk
//
//------------------------------------------------------------------------------
//
Expand All @@ -26,6 +27,15 @@
//--------------------------------------------------------------------------------
namespace anisotropy
{
//-----------------------------------------------------------------------------
// Function to check orthogonality, set orthonormality and generate last
// last anisotropy vector
//-----------------------------------------------------------------------------
void set_anisotropy_vectors( std::vector<double>& v1,
std::vector<double>& v2,
std::vector<double>& v3,
int mat);

//-----------------------------------------------------------------------------
// function to initialize anisotropy module
//-----------------------------------------------------------------------------
Expand Down Expand Up @@ -57,11 +67,37 @@ namespace anisotropy
//-----------------------------------------------------------------------------
double get_anisotropy_constant(const int material);
double get_ku2(const int material);
double get_k2r1(const int material);
double get_k2r1_odd(const int material);
double get_k2r2(const int material);
double get_k2r2_odd(const int material);
double get_ku4(const int material);
double get_k4r1(const int material);
double get_k4r1_odd(const int material);
double get_k4r2(const int material);
double get_k4r2_odd(const int material);
double get_k4r3(const int material);
double get_k4r3_odd(const int material);
double get_k4r4(const int material);
double get_k4r4_odd(const int material);
double get_ku6(const int material);
double get_k6r1(const int material);
double get_k6r1_odd(const int material);
double get_k6r2(const int material);
double get_k6r2_odd(const int material);
double get_k6r3(const int material);
double get_k6r3_odd(const int material);
double get_k6r4(const int material);
double get_k6r4_odd(const int material);
double get_k6r5_odd(const int material);
double get_k6r5(const int material);
double get_k6r6(const int material);
double get_k6r6_odd(const int material);
double get_kc4(const int material);
double get_kc6(const int material);
std::vector<double> get_ku_vector(const int material);
std::vector<double> get_kr_vector(const int material);
std::vector<double> get_kl_vector(const int material);

//-----------------------------------------------------------------------------
// function to identify surface atoms
Expand Down
17 changes: 17 additions & 0 deletions hdr/atoms.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,14 @@

#include <string>
#include <vector>
#include <cstdint>

#include "exchange.hpp"

// Load standard forms of fixed-width types (needed for some compilers)
using std::uint64_t;
using std::int64_t;

// unit vector type
class uvec_t{
public:
Expand Down Expand Up @@ -94,13 +99,17 @@ namespace atoms
extern std::vector <double> y_spin_array;
extern std::vector <double> z_spin_array;
extern std::vector <double> m_spin_array; /// Array of atomic spin moments
extern std::vector <double> mass_spin_array; /// Array of mass of atoms

extern std::vector <double> x_total_spin_field_array; /// Total spin dependent fields
extern std::vector <double> y_total_spin_field_array; /// Total spin dependent fields
extern std::vector <double> z_total_spin_field_array; /// Total spin dependent fields
extern std::vector <double> x_total_external_field_array; /// Total external fields
extern std::vector <double> y_total_external_field_array; /// Total external fields
extern std::vector <double> z_total_external_field_array; /// Total external fields
extern std::vector <double> x_thermal_field_array; /// Total external fields
extern std::vector <double> y_thermal_field_array; /// Total external fields
extern std::vector <double> z_thermal_field_array; /// Total external fields

extern std::vector <zval_t> i_exchange_list;
extern std::vector <zvec_t> v_exchange_list;
Expand All @@ -111,6 +120,14 @@ namespace atoms

extern std::vector <uvec_t> neighbour_eij_array; // unrolled list of eij unit vectors between neighbouring atoms

extern std::vector <double> x_total_spin_forces_array; /// Total spin dependent fields
extern std::vector <double> y_total_spin_forces_array; /// Total spin dependent fields
extern std::vector <double> z_total_spin_forces_array; /// Total spin dependent fields

extern std::vector <double> x_velo_array; /// Total spin dependent fields
extern std::vector <double> y_velo_array; /// Total spin dependent fields
extern std::vector <double> z_velo_array; /// Total spin dependent fields

}


Expand Down
2 changes: 2 additions & 0 deletions hdr/category.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ namespace cat{
// spin temperature variables
double spin_temp;
double mean_spin_temp;
double SxH2;
double SH;

// member functions
category_t(); /// constructor
Expand Down
1 change: 1 addition & 0 deletions hdr/cells.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ namespace cells{
extern double macro_cell_size_x; /// lateral size of local macro-cells (A)
extern double macro_cell_size_y; /// lateral size of local macro-cells (A)
extern double macro_cell_size_z; /// lateral size of local macro-cells (A)
extern double atomic_volume; // volume of each magnetic moment for atomistic dipole self term

extern std::vector <int> local_cell_array;
extern std::vector <int> num_atoms_in_cell; /// number of atoms in each cell
Expand Down
1 change: 1 addition & 0 deletions hdr/constants.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ namespace constants{

extern const double muB; // Bohr Magneton (Joules / Tesla)
extern const double kB; // Boltzmann constant (Joules / Kelvin)
extern const double kB_eV; //Boltzmann constant in eV

} // end of exchange namespace

Expand Down
6 changes: 6 additions & 0 deletions hdr/create_atoms_class.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
#ifndef CREATE_ATOMS_CLASS_H_
#define CREATE_ATOMS_CLASS_H_

#include <cstdint>

// Load standard forms of fixed-width types (needed for some compilers)
using std::uint64_t;
using std::int64_t;

//namespace create{
namespace cs{

Expand Down
4 changes: 4 additions & 0 deletions hdr/demag.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
#include <vector>
#include <cstdint>

// Load standard forms of fixed-width types (needed for some compilers)
using std::uint64_t;
using std::int64_t;

namespace demag{

extern bool fast;
Expand Down
5 changes: 5 additions & 0 deletions hdr/dipole.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@
// C++ standard library headers
#include <string>
#include <vector>
#include <cstdint>

// Load standard forms of fixed-width types (needed for some compilers)
using std::uint64_t;
using std::int64_t;

// Vampire headers
#include "dipole.hpp"
Expand Down
50 changes: 50 additions & 0 deletions hdr/lsf.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
//------------------------------------------------------------------------------
//
// This file is part of the VAMPIRE open source package under the
// Free BSD licence (see licence file for details).
//
// (c) David R Papp 2024. All rights reserved.
//
//------------------------------------------------------------------------------
//

#ifndef LSF_H_
#define LSF_H_

/// Header file for LLG namespace
namespace LSF_arrays{

//==========================================================
// Namespace to store persistant LSF integration arrays
//==========================================================

extern std::vector<double> x_lsf_array;
extern std::vector<double> y_lsf_array;
extern std::vector<double> z_lsf_array;

extern std::vector<double> x_euler_array;
extern std::vector<double> y_euler_array;
extern std::vector<double> z_euler_array;

extern std::vector<double> x_heun_array;
extern std::vector<double> y_heun_array;
extern std::vector<double> z_heun_array;

extern std::vector<double> x_spin_storage_array;
extern std::vector<double> y_spin_storage_array;
extern std::vector<double> z_spin_storage_array;

extern std::vector<double> x_initial_spin_array;
extern std::vector<double> y_initial_spin_array;
extern std::vector<double> z_initial_spin_array;

extern bool LSF_set;

extern std::vector<double> mod_S;

extern std::vector<double> tx;
extern std::vector<double> ty;
extern std::vector<double> tz;

}
#endif /*LSF_H_*/
23 changes: 23 additions & 0 deletions hdr/lsf_mc.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
//
// This file is part of the VAMPIRE open source package under the
// Free BSD licence (see licence file for details).
//
// (c) David R Papp 2024. All rights reserved.
//
//------------------------------------------------------------------------------
//

// Program headers
#ifndef LSF_MC_H_
#define LSF_MC_H_

namespace montecarlo{

// Declare spin vectors
extern std::vector<double> mod_S;
extern bool mc_set;
extern void mcinit();

}
#endif /*LSF_MC_H_*/
54 changes: 54 additions & 0 deletions hdr/lsf_rk4.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
//------------------------------------------------------------------------------
//
// This file is part of the VAMPIRE open source package under the
// Free BSD licence (see licence file for details).
//
// (c) David R Papp 2024. All rights reserved.
//
//------------------------------------------------------------------------------
//

#ifndef LSF_RK4_H_
#define LSF_RK4_H_

// Header file for LSF-RK4 namespace
namespace LSF_RK4_arrays{

//==========================================================
// Namespace to store persistant LSF-RK4 integration arrays
//==========================================================

extern std::vector<double> x_lsf_array;
extern std::vector<double> y_lsf_array;
extern std::vector<double> z_lsf_array;

extern std::vector<double> x_initial_spin_array;
extern std::vector<double> y_initial_spin_array;
extern std::vector<double> z_initial_spin_array;

extern std::vector<double> x_k1_array;
extern std::vector<double> y_k1_array;
extern std::vector<double> z_k1_array;

extern std::vector<double> x_k2_array;
extern std::vector<double> y_k2_array;
extern std::vector<double> z_k2_array;

extern std::vector<double> x_k3_array;
extern std::vector<double> y_k3_array;
extern std::vector<double> z_k3_array;

extern std::vector<double> x_k4_array;
extern std::vector<double> y_k4_array;
extern std::vector<double> z_k4_array;

extern bool LSF_RK4_set;

extern std::vector<double> mod_S;

extern std::vector<double> tx;
extern std::vector<double> ty;
extern std::vector<double> tz;

}
#endif /*LSF_RK4_H_*/
5 changes: 5 additions & 0 deletions hdr/material.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,9 @@ namespace mp
std::vector<bool> override_atomsitic;

double alpha;
double alpha_eq;
double mu_s_SI;
double mass;
double magnetisation;

double gamma_rel;
Expand All @@ -113,6 +115,9 @@ namespace mp
double one_oneplusalpha_sq;
double alpha_oneplusalpha_sq;
double H_th_sigma;
//modified SLD M Strungaru
double H_th_sigma_eq;

bool constrained; /// specifies primary or alternate integrator

double temperature; /// Kelvin
Expand Down
5 changes: 5 additions & 0 deletions hdr/montecarlo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ namespace montecarlo{
int cmc_mc_step();
void cmc_mc_step_mask();
void mc_step_parallel(std::vector<double> &x_spin_array, std::vector<double> &y_spin_array, std::vector<double> &z_spin_array, std::vector<int> &type_array);
void lsf_mc_step();
void lsf_mc_step_parallel(std::vector<double> &x_spin_array, std::vector<double> &y_spin_array, std::vector<double> &z_spin_array, std::vector<int> &type_array);

//---------------------------------------------------------------------------
// Provide access to CMCinit and CMCMCinit for cmc_anisotropy and
Expand All @@ -58,13 +60,16 @@ namespace montecarlo{
void CMCMCinit();
void mc_parallel_init(std::vector<double> &x, std::vector<double> &y, std::vector<double> &z,
double min_dim[3], double max_dim[3]);
void lsf_mc_parallel_init(std::vector<double> &x, std::vector<double> &y, std::vector<double> &z,
double min_dim[3], double max_dim[3]);

void initialise_masked_cmc_mc(const int num_sets, // number of sets of constrained and unconstrained atoms
const std::vector<int>& mask, // unique ID for N sets of atoms with different constraints
const std::vector<bool>& constrained, // flag to indicate if atom set with mask index is constrained
const std::vector<double>& constraints); // list of 2N vectors listing constraint angles theta and phi

extern bool mc_parallel_initialized;
extern bool lsf_mc_parallel_initialized;

//---------------------------------------------------------------------------
// Function to perform monte carlo preconditioning
Expand Down
3 changes: 3 additions & 0 deletions hdr/program.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,16 @@ namespace program
extern void mm_A_calculation();
extern void exchange_stiffness();
extern void electrical_pulse();
extern void spin_waves(); // JRH
extern void field_pulse();

// Sundry programs and diagnostics not under general release
extern int LLB_Boltzmann();
extern int timestep_scaling();
extern void boltzmann_dist();
extern void setting_process();
extern void boltzmann_dist_micromagnetic_llg();
extern void hamr_cool();

}

Expand Down
Loading