Ising_OPV  v4.0.2
Generates and analyzes model bulk heterojunction morphologies in a parallel computing environment
Ising_OPV::Parameters Class Reference

This class contains the parameters used by Ising_OPV and functions to import parameter files. More...

#include <Parameters.h>

Public Member Functions

 Parameters ()
 Default constructor that creates an empty Parameters object. More...
 
bool checkParameters () const
 Checks the current values of all parameters to ensure that they are valid. More...
 
bool importParameters (std::ifstream &parameterfile)
 Imports the parameters from the input parameter filestream. More...
 

Public Attributes

int Length = 0
 x-direction size of the lattice More...
 
int Width = 0
 y-direction size of the lattice More...
 
int Height = 0
 z-direction size of the lattice More...
 
bool Enable_periodic_z = true
 Choose whether or not to enable z-direction periodic boundary conditions. More...
 
double Mix_fraction = 0.0
 volume fraction of type1 sites More...
 
double Interaction_energy1 = 0.0
 energetic favorability for type1-type1 interactions over type1-type2 interactions More...
 
double Interaction_energy2 = 0.0
 energetic favorability for type2-type2 interactions over type1-type2 interactions More...
 
int MC_steps = 0
 number of MC steps to be executed (determines number of Ising swapping iterations), which sets the duration of the phase separation process More...
 
bool Enable_smoothing = false
 choose whether or not to perform domain smoothing More...
 
double Smoothing_threshold = 0.0
 cutoff threshold for the smoothing algorithm More...
 
bool Enable_rescale = false
 choose whether or nmot to perform lattice rescaling More...
 
int Rescale_factor = 0
 rescale factor to be used More...
 
bool Enable_shrink = false
 chose whether or not to shrink the lattice by 1/rescale_factor instead of expand it More...
 
bool Enable_interfacial_mixing = false
 choose whether or not to perform interfacial mixing More...
 
double Interface_width = 0.0
 interfacial width of the mixed interface More...
 
double Interface_conc = 0.0
 concentration of type1 sites in the interfacial mixed region More...
 
bool Enable_analysis_only = false
 choose whether or not to only perform analysis on an imported morphology (no modification of the morphology) More...
 
bool Enable_correlation_calc = false
 choose whether or not to perform the domain size calculation using the pair-pair autocorrelation function method More...
 
int N_sampling_max = 0
 maximum number of sites to be sampled for calculating the autocorrelation function More...
 
bool Enable_mix_frac_method = false
 choose whether or not to use the mix fraction method for determining the domain size from the autocorrelation data More...
 
bool Enable_e_method = false
 choose whether or not to use the 1/e method for determining the domain size from the autocorrelation data More...
 
bool Enable_extended_correlation_calc = false
 choose whether or not to extend the autocorrelation function calculation to the specified cutoff distance More...
 
int Extended_correlation_cutoff_distance = 0
 cutoff distance for the extended autocorrelation function calculation More...
 
bool Enable_interfacial_distance_calc = false
 choose whether or not to calculate the interfacial distance histograms More...
 
bool Enable_tortuosity_calc = false
 choose whether or not to calculate the end-to-end tortuosity histograms and island volume fraction More...
 
bool Enable_reduced_memory_tortuosity_calc = false
 choose whether or not to perform the tortuosity calculation using an algorithm that takes longer, but uses less memory More...
 
bool Enable_depth_dependent_calc = false
 choose whether or not to calculate and output the film depth dependent morphology characteristics More...
 
bool Enable_areal_maps_calc = false
 choose whether or not to calculate and output areal mappings of the morphology characteristics More...
 
bool Enable_checkerboard_start = false
 choose whether or not to start from a alternating checkerboard-like configuration instead of a random blend (creates 0.5 mix fraction) More...
 
bool Enable_growth_pref = false
 choose whether or not to implement a directional-dependent interaction energy that caues directional-dependent domain growth More...
 
int Growth_direction = 0
 direction that has the modified interaction energy with 1=x,2=y,3=z More...
 
double Additional_interaction = 0.0
 amount that the interaction energy is modified by in the specified direction More...
 
bool Enable_export_compressed_files = true
 choose whether or not the output morphology data file is in compressed format More...
 
bool Enable_export_cross_section = false
 choose whether or not to output uncompressed data for a cross-section (x=Length/2 plane) of the morphology More...
 
bool Enable_import_morphologies = false
 choose whether or not the import a morphology set from the working directory More...
 
bool Enable_import_tomogram = false
 choose whether or not to import a tomogram dataset from the working directory More...
 
std::string Tomogram_name = ""
 name of the tomogram dataset corresponding to the Tomogram_name.xml and Tomogram_name.raw files More...
 
double Desired_unit_size = 0.0
 desired unit size (resolution) of the output morphology dataset extracted from the tomogram More...
 
double Mixed_frac = 0.0
 volume fraction of the mixed phase in the tomogram dataset More...
 
double Mixed_conc = 0.0
 volume fraction of type1 sites in the mixed phase of the tomogram dataset More...
 
int N_extracted_segments = 0
 number of equal size cuboids to extract from the tomogram dataset More...
 
int N_variants = 0
 number of random variants to create from each extracted cuboid segment More...
 

Detailed Description

This class contains the parameters used by Ising_OPV and functions to import parameter files.

Author
Michael C. Heiber
Date
2014-2019

Constructor & Destructor Documentation

◆ Parameters()

Ising_OPV::Parameters::Parameters ( )

Default constructor that creates an empty Parameters object.

Warning
An empty Parameters object should not be used until initialized.

Member Function Documentation

◆ checkParameters()

bool Ising_OPV::Parameters::checkParameters ( ) const

Checks the current values of all parameters to ensure that they are valid.

Returns
true if all parameters are valid.
false if any parameter value is invalid.

◆ importParameters()

bool Ising_OPV::Parameters::importParameters ( std::ifstream &  parameterfile)

Imports the parameters from the input parameter filestream.

Parameters
parameterfileis an open input filestream that points to the beginning of a correctly formatted parameter file.
Returns
true if the parameter file is read and the parameters are successfully set.
false if there are any errors during parameter import.

Member Data Documentation

◆ Additional_interaction

double Ising_OPV::Parameters::Additional_interaction = 0.0

amount that the interaction energy is modified by in the specified direction

◆ Desired_unit_size

double Ising_OPV::Parameters::Desired_unit_size = 0.0

desired unit size (resolution) of the output morphology dataset extracted from the tomogram

◆ Enable_analysis_only

bool Ising_OPV::Parameters::Enable_analysis_only = false

choose whether or not to only perform analysis on an imported morphology (no modification of the morphology)

◆ Enable_areal_maps_calc

bool Ising_OPV::Parameters::Enable_areal_maps_calc = false

choose whether or not to calculate and output areal mappings of the morphology characteristics

◆ Enable_checkerboard_start

bool Ising_OPV::Parameters::Enable_checkerboard_start = false

choose whether or not to start from a alternating checkerboard-like configuration instead of a random blend (creates 0.5 mix fraction)

◆ Enable_correlation_calc

bool Ising_OPV::Parameters::Enable_correlation_calc = false

choose whether or not to perform the domain size calculation using the pair-pair autocorrelation function method

◆ Enable_depth_dependent_calc

bool Ising_OPV::Parameters::Enable_depth_dependent_calc = false

choose whether or not to calculate and output the film depth dependent morphology characteristics

◆ Enable_e_method

bool Ising_OPV::Parameters::Enable_e_method = false

choose whether or not to use the 1/e method for determining the domain size from the autocorrelation data

◆ Enable_export_compressed_files

bool Ising_OPV::Parameters::Enable_export_compressed_files = true

choose whether or not the output morphology data file is in compressed format

◆ Enable_export_cross_section

bool Ising_OPV::Parameters::Enable_export_cross_section = false

choose whether or not to output uncompressed data for a cross-section (x=Length/2 plane) of the morphology

◆ Enable_extended_correlation_calc

bool Ising_OPV::Parameters::Enable_extended_correlation_calc = false

choose whether or not to extend the autocorrelation function calculation to the specified cutoff distance

◆ Enable_growth_pref

bool Ising_OPV::Parameters::Enable_growth_pref = false

choose whether or not to implement a directional-dependent interaction energy that caues directional-dependent domain growth

◆ Enable_import_morphologies

bool Ising_OPV::Parameters::Enable_import_morphologies = false

choose whether or not the import a morphology set from the working directory

◆ Enable_import_tomogram

bool Ising_OPV::Parameters::Enable_import_tomogram = false

choose whether or not to import a tomogram dataset from the working directory

◆ Enable_interfacial_distance_calc

bool Ising_OPV::Parameters::Enable_interfacial_distance_calc = false

choose whether or not to calculate the interfacial distance histograms

◆ Enable_interfacial_mixing

bool Ising_OPV::Parameters::Enable_interfacial_mixing = false

choose whether or not to perform interfacial mixing

◆ Enable_mix_frac_method

bool Ising_OPV::Parameters::Enable_mix_frac_method = false

choose whether or not to use the mix fraction method for determining the domain size from the autocorrelation data

◆ Enable_periodic_z

bool Ising_OPV::Parameters::Enable_periodic_z = true

Choose whether or not to enable z-direction periodic boundary conditions.

◆ Enable_reduced_memory_tortuosity_calc

bool Ising_OPV::Parameters::Enable_reduced_memory_tortuosity_calc = false

choose whether or not to perform the tortuosity calculation using an algorithm that takes longer, but uses less memory

◆ Enable_rescale

bool Ising_OPV::Parameters::Enable_rescale = false

choose whether or nmot to perform lattice rescaling

◆ Enable_shrink

bool Ising_OPV::Parameters::Enable_shrink = false

chose whether or not to shrink the lattice by 1/rescale_factor instead of expand it

◆ Enable_smoothing

bool Ising_OPV::Parameters::Enable_smoothing = false

choose whether or not to perform domain smoothing

◆ Enable_tortuosity_calc

bool Ising_OPV::Parameters::Enable_tortuosity_calc = false

choose whether or not to calculate the end-to-end tortuosity histograms and island volume fraction

◆ Extended_correlation_cutoff_distance

int Ising_OPV::Parameters::Extended_correlation_cutoff_distance = 0

cutoff distance for the extended autocorrelation function calculation

◆ Growth_direction

int Ising_OPV::Parameters::Growth_direction = 0

direction that has the modified interaction energy with 1=x,2=y,3=z

◆ Height

int Ising_OPV::Parameters::Height = 0

z-direction size of the lattice

◆ Interaction_energy1

double Ising_OPV::Parameters::Interaction_energy1 = 0.0

energetic favorability for type1-type1 interactions over type1-type2 interactions

◆ Interaction_energy2

double Ising_OPV::Parameters::Interaction_energy2 = 0.0

energetic favorability for type2-type2 interactions over type1-type2 interactions

◆ Interface_conc

double Ising_OPV::Parameters::Interface_conc = 0.0

concentration of type1 sites in the interfacial mixed region

◆ Interface_width

double Ising_OPV::Parameters::Interface_width = 0.0

interfacial width of the mixed interface

◆ Length

int Ising_OPV::Parameters::Length = 0

x-direction size of the lattice

◆ MC_steps

int Ising_OPV::Parameters::MC_steps = 0

number of MC steps to be executed (determines number of Ising swapping iterations), which sets the duration of the phase separation process

◆ Mix_fraction

double Ising_OPV::Parameters::Mix_fraction = 0.0

volume fraction of type1 sites

◆ Mixed_conc

double Ising_OPV::Parameters::Mixed_conc = 0.0

volume fraction of type1 sites in the mixed phase of the tomogram dataset

◆ Mixed_frac

double Ising_OPV::Parameters::Mixed_frac = 0.0

volume fraction of the mixed phase in the tomogram dataset

◆ N_extracted_segments

int Ising_OPV::Parameters::N_extracted_segments = 0

number of equal size cuboids to extract from the tomogram dataset

◆ N_sampling_max

int Ising_OPV::Parameters::N_sampling_max = 0

maximum number of sites to be sampled for calculating the autocorrelation function

◆ N_variants

int Ising_OPV::Parameters::N_variants = 0

number of random variants to create from each extracted cuboid segment

◆ Rescale_factor

int Ising_OPV::Parameters::Rescale_factor = 0

rescale factor to be used

◆ Smoothing_threshold

double Ising_OPV::Parameters::Smoothing_threshold = 0.0

cutoff threshold for the smoothing algorithm

◆ Tomogram_name

std::string Ising_OPV::Parameters::Tomogram_name = ""

name of the tomogram dataset corresponding to the Tomogram_name.xml and Tomogram_name.raw files

◆ Width

int Ising_OPV::Parameters::Width = 0

y-direction size of the lattice


The documentation for this class was generated from the following files: