//  FLAGS.H
//  © 2021 Peter J. Meyer

//  Flags for model (only one will be true).
int model_is_ising
#ifdef M
=false
#endif
;

int model_is_q_state_potts
#ifdef M
=false
#endif
;

//  Flags for goals
int goal_is_equilibration       //  i.e. spin model dynamics
#ifdef M
=false
#endif
;

int goal_is_site_percolation_threshold
#ifdef M
=false
#endif
;

int goal_is_bond_percolation_threshold
#ifdef M
=false
#endif
;

int goal_is_percolation_threshold
#ifdef M
=false
#endif
;

//  Flags for spin selection (only one will be true).
int spin_seln_is_random
#ifdef M
=false
#endif
;

int spin_seln_is_checkerboard
#ifdef M
=false
#endif
;

//  Flags for dilution type
int site_diluted    //  may also be bond-diluted
#ifdef M
=false
#endif
;

int bond_diluted    //  may also be site-diluted
#ifdef M
=false
#endif
;

int non_diluted
#ifdef M
=false
#endif
;

//  Flags for lattice type (only one will be true).
int square_lattice
#ifdef M
=false
#endif
;

int honeycomb_lattice
#ifdef M
=false
#endif
;

int triangular_lattice
#ifdef M
=false
#endif
;

int double_triangular_lattice
#ifdef M
=false
#endif
;

int cubic_lattice
#ifdef M
=false
#endif
;

int quadrilateral_lattice
#ifdef M
=false
#endif
;

int tetrahedral_lattice
#ifdef M
=false
#endif
;

int diamond_lattice
#ifdef M
=false
#endif
;

int hypercubic_lattice_4d
#ifdef M
=false
#endif
;

int hyperdiamond_lattice_4d
#ifdef M
=false
#endif
;

//  Flags for dynamics (only one will be true).
int dynamics_is_metropolis
#ifdef M
=false
#endif
;

int dynamics_is_glauber
#ifdef M
=false
#endif
;

int dynamics_is_swendsen_wang
#ifdef M
=false
#endif
;

int dynamics_is_wolff
#ifdef M
=false
#endif
;

#if FREE_BOUNDARY_CONDITIONS_POSSIBLE
//  Flag for free boundary conditions 
int free_boundary_conditions
#ifdef M
=false
#endif
;
#endif

//  Flags used during reading of input data.

int goal_specified
#ifdef M
=false
#endif
;


int lattice_type_specified
#ifdef M
=false
#endif
;

#if false
int dilution_type_specified
#ifdef M
=false
#endif
;
#endif

int size_specified
#ifdef M
=false
#endif
;

int site_concentration_specified
#ifdef M
=false
#endif
;

int bond_concentration_specified
#ifdef M
=false
#endif
;

int single_temperature_specified
#ifdef M
=false
#endif
;

int multiple_temperatures_specified
#ifdef M
=false
#endif
;

int dynamics_specified
#ifdef M
=false
#endif
;

int spin_seln_specified
#ifdef M
=false
#endif
;

int precision_specified
#ifdef M
=false
#endif
;

int major_axis_specified
#ifdef M
=false
#endif
;

int num_configurations_specified
#ifdef M
=false
#endif
;

int num_spin_assignments_specified
#ifdef M
=false
#endif
;

int num_repetitions_specified
#ifdef M
=false
#endif
;

int initial_magnetization_specified
#ifdef M
=false
#endif
;

int step_length_specified
#ifdef M
=false
#endif
;

int num_time_slices_specified
#ifdef M
=false
#endif
;

int model_specified
#ifdef M
=false
#endif
;

int q_value_specified
#ifdef M
=false
#endif
;

int use_precomputed_nn_sites_specified
#ifdef M
=false
#endif
;

int absolute_magnetization_specified
#ifdef M
=false
#endif
;

int timeslice_values_specified
#ifdef M
=false
#endif
;

//  Flags for what is to be measured
int standard_deviation_measured
#ifdef M
=false;
#endif
;

int second_moment_measured
#ifdef M
=false;
#endif
;

int autocorrelation_measured
#ifdef M
=false;
#endif
;

int internal_energy_measured
#ifdef M
=false;
#endif
;

int percolation_corr_length_measured
#ifdef M
=false;
#endif
;

int thermal_corr_length_measured
#ifdef M
=false;
#endif
;

int binder_cumulant_measured
#ifdef M
=false;
#endif
;

//  Miscellaneous flags
int adjust_zero_initial_magnetization
#ifdef M
=false
#endif
;

int direction_table_is_parity_dependent
#ifdef M
=false
#endif
;

int escape_key_termination
#ifdef M
=false
#endif
;

int use_critical_temperature
#ifdef M
=false
#endif
;

int log_values_requested
#ifdef M
=false
#endif
;

int map_file_requested
#ifdef M
=false
#endif
;

int absolute_magnetization_requested
#ifdef M
=false
#endif
;

int percentage_range_for_mean_specified
#ifdef M
=false
#endif
;

int final_temperature
#ifdef M
=false
#endif
;

int use_precomputed_nn_sites
#ifdef M
=false
#endif
;

int timeslice_values_requested
#ifdef M
=false
#endif
;

int expired
#ifdef M
=false
#endif
;

int stop_on_next_temperature
#ifdef M
=false
#endif
;