Ising_OPV
v4.0.2
Generates and analyzes model bulk heterojunction morphologies in a parallel computing environment
|
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 ¶meterfile) |
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... | |
This class contains the parameters used by Ising_OPV and functions to import parameter files.
Ising_OPV::Parameters::Parameters | ( | ) |
Default constructor that creates an empty Parameters object.
bool Ising_OPV::Parameters::checkParameters | ( | ) | const |
Checks the current values of all parameters to ensure that they are valid.
bool Ising_OPV::Parameters::importParameters | ( | std::ifstream & | parameterfile | ) |
Imports the parameters from the input parameter filestream.
parameterfile | is an open input filestream that points to the beginning of a correctly formatted parameter file. |
double Ising_OPV::Parameters::Additional_interaction = 0.0 |
amount that the interaction energy is modified by in the specified direction
double Ising_OPV::Parameters::Desired_unit_size = 0.0 |
desired unit size (resolution) of the output morphology dataset extracted from the tomogram
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)
bool Ising_OPV::Parameters::Enable_areal_maps_calc = false |
choose whether or not to calculate and output areal mappings of the morphology characteristics
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)
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
bool Ising_OPV::Parameters::Enable_depth_dependent_calc = false |
choose whether or not to calculate and output the film depth dependent morphology characteristics
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
bool Ising_OPV::Parameters::Enable_export_compressed_files = true |
choose whether or not the output morphology data file is in compressed format
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
bool Ising_OPV::Parameters::Enable_extended_correlation_calc = false |
choose whether or not to extend the autocorrelation function calculation to the specified cutoff distance
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
bool Ising_OPV::Parameters::Enable_import_morphologies = false |
choose whether or not the import a morphology set from the working directory
bool Ising_OPV::Parameters::Enable_import_tomogram = false |
choose whether or not to import a tomogram dataset from the working directory
bool Ising_OPV::Parameters::Enable_interfacial_distance_calc = false |
choose whether or not to calculate the interfacial distance histograms
bool Ising_OPV::Parameters::Enable_interfacial_mixing = false |
choose whether or not to perform interfacial mixing
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
bool Ising_OPV::Parameters::Enable_periodic_z = true |
Choose whether or not to enable z-direction periodic boundary conditions.
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
bool Ising_OPV::Parameters::Enable_rescale = false |
choose whether or nmot to perform lattice rescaling
bool Ising_OPV::Parameters::Enable_shrink = false |
chose whether or not to shrink the lattice by 1/rescale_factor instead of expand it
bool Ising_OPV::Parameters::Enable_smoothing = false |
choose whether or not to perform domain smoothing
bool Ising_OPV::Parameters::Enable_tortuosity_calc = false |
choose whether or not to calculate the end-to-end tortuosity histograms and island volume fraction
int Ising_OPV::Parameters::Extended_correlation_cutoff_distance = 0 |
cutoff distance for the extended autocorrelation function calculation
int Ising_OPV::Parameters::Growth_direction = 0 |
direction that has the modified interaction energy with 1=x,2=y,3=z
int Ising_OPV::Parameters::Height = 0 |
z-direction size of the lattice
double Ising_OPV::Parameters::Interaction_energy1 = 0.0 |
energetic favorability for type1-type1 interactions over type1-type2 interactions
double Ising_OPV::Parameters::Interaction_energy2 = 0.0 |
energetic favorability for type2-type2 interactions over type1-type2 interactions
double Ising_OPV::Parameters::Interface_conc = 0.0 |
concentration of type1 sites in the interfacial mixed region
double Ising_OPV::Parameters::Interface_width = 0.0 |
interfacial width of the mixed interface
int Ising_OPV::Parameters::Length = 0 |
x-direction size of the lattice
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
double Ising_OPV::Parameters::Mix_fraction = 0.0 |
volume fraction of type1 sites
double Ising_OPV::Parameters::Mixed_conc = 0.0 |
volume fraction of type1 sites in the mixed phase of the tomogram dataset
double Ising_OPV::Parameters::Mixed_frac = 0.0 |
volume fraction of the mixed phase in the tomogram dataset
int Ising_OPV::Parameters::N_extracted_segments = 0 |
number of equal size cuboids to extract from the tomogram dataset
int Ising_OPV::Parameters::N_sampling_max = 0 |
maximum number of sites to be sampled for calculating the autocorrelation function
int Ising_OPV::Parameters::N_variants = 0 |
number of random variants to create from each extracted cuboid segment
int Ising_OPV::Parameters::Rescale_factor = 0 |
rescale factor to be used
double Ising_OPV::Parameters::Smoothing_threshold = 0.0 |
cutoff threshold for the smoothing algorithm
std::string Ising_OPV::Parameters::Tomogram_name = "" |
name of the tomogram dataset corresponding to the Tomogram_name.xml and Tomogram_name.raw files
int Ising_OPV::Parameters::Width = 0 |
y-direction size of the lattice