PanPhaseField SDK
PF_ARGS_Interpreter Class Reference

A C++ interpretor for phase-field model arguments PF_ARGS. More...

#include <PanPhaseFieldArguments.h>

Public Member Functions

 PF_ARGS_Interpreter (PF_ARGS *pf_args)
 
 ~PF_ARGS_Interpreter ()
 
string calc_name ()
 
int num_thread ()
 
vector< string > comp_names ()
 
vector< pair< string, string > > dbs ()
 
pair< string, string > db_first ()
 
pair< string, string > db_pfdb_first ()
 
vector< string > ph_names ()
 
int ppf_cal_id ()
 
map< string, string > ppf_config ()
 
string calc_type ()
 
map< string, double > initial_condition ()
 
vector< int > num_grids ()
 
vector< double > therm_set_temp ()
 
vector< double > therm_set_time ()
 
double chemical_noise_amp ()
 
double length_scale ()
 
double chemical_gradient ()
 
map< string, double > nucleation_density ()
 
double op_mobility ()
 
double dri_force_scaling_factor ()
 
int interface_width ()
 
bool is_bpq_substract ()
 
double cutoff_radius_ac ()
 
double minimal_nuclei_radius ()
 
bool mean_field_nucleation ()
 
bool enable_precip_diffusion ()
 
double sigma_interface ()
 
double Gnormal ()
 
double Bnormal ()
 
double rel_tol ()
 
int order_adaptive ()
 
bool use_pan_engine ()
 
string vtk_dir ()
 
string pan_result_table_dir ()
 
int num_profile ()
 
int num_profile_scaling_type ()
 
vector< double > more_profiles ()
 
string initial_mode ()
 
string input_path ()
 
map< string, double > sdk_config ()
 
int prop_output_mode ()
 
string app_name ()
 
map< pair< string, string >, double > interfacial_energy ()
 
set< string > precipitate_phase_list ()
 
set< string > matrix_phase_list ()
 
map< pair< string, string >, vector< vector< double > > > phase_misfit_strain ()
 
vector< vector< double > > Cij ()
 
map< string, vector< vector< double > > > Cij_phase ()
 
string misfit_ref_element ()
 
map< string, string > misfit_ref_element_phase ()
 
map< string, double > chemical_misfit_strain ()
 
map< string, map< string, double > > chemical_misfit_strain_phase ()
 
map< string, double > custom_molar_vol ()
 
map< string, map< string, double > > custom_molar_vol_phase ()
 
map< string, double > custom_mob_scale ()
 
map< string, map< string, double > > custom_mob_scale_phase ()
 
bool enable_nucleation (string &key)
 
bool steady_state_NR (string &key)
 
double nucleation_site_parameter (string &key)
 
double atomic_spacing (string &key)
 
double nucle_driving_force_factor (string &key)
 
double nucle_effective_diffusivity_factor (string &key)
 
double shield_time (string &key)
 
double shield_distance (string &key)
 
map< string, double > custom_parameters ()
 
map< string, double > custom_ppt_parameters (string ph_name)
 
bool ana_expr_only ()
 for test only
 
double molar_vol_for_testing ()
 for test only
 
bool use_analytical_expr ()
 for test only
 
bool use_strain_energy ()
 for test only
 

Detailed Description

A C++ interpretor for phase-field model arguments PF_ARGS.

Constructor & Destructor Documentation

◆ PF_ARGS_Interpreter()

PF_ARGS_Interpreter::PF_ARGS_Interpreter ( PF_ARGS pf_args)
inline

Constructor

Parameters
pf_argsthe arguments. See PF_ARGS

◆ ~PF_ARGS_Interpreter()

PF_ARGS_Interpreter::~PF_ARGS_Interpreter ( )
inline

Default deconstructor

Member Function Documentation

◆ calc_name()

string PF_ARGS_Interpreter::calc_name ( )
inline

Get name of calculation

Returns
name of calculation

◆ num_thread()

int PF_ARGS_Interpreter::num_thread ( )
inline

Get number of thread

Returns
number of threads

◆ comp_names()

vector< string > PF_ARGS_Interpreter::comp_names ( )
inline

Get component names

Returns
a list of component names

◆ dbs()

vector< pair< string, string > > PF_ARGS_Interpreter::dbs ( )
inline

Get get databases

Returns
a list of databases info (a pair of database key (name) and database val (path) )

◆ db_first()

pair< string, string > PF_ARGS_Interpreter::db_first ( )
inline

Get primary database

Returns
primary databases info (a pair of database key (name) and database val (path) )

◆ db_pfdb_first()

pair< string, string > PF_ARGS_Interpreter::db_pfdb_first ( )
inline

Get pfdb database

Returns
pfdb info (a pair of database key (name) and database val (path) )

◆ ph_names()

vector< string > PF_ARGS_Interpreter::ph_names ( )
inline

Get phase names

Returns
a list of entered phase names

◆ ppf_cal_id()

int PF_ARGS_Interpreter::ppf_cal_id ( )
inline

Get calculation id

Returns
id of currrent calculation. This number comes from Pandat GUI if Graphic mode is used

◆ ppf_config()

map< string, string > PF_ARGS_Interpreter::ppf_config ( )
inline

Get PanPhaseField configurtion

Returns
dictonary of PanPhaseField configuration. For example, case-insensitive database parser

◆ calc_type()

string PF_ARGS_Interpreter::calc_type ( )
inline

Get calculation type

Returns
a string calcuation type

◆ initial_condition()

map< string, double > PF_ARGS_Interpreter::initial_condition ( )
inline

Get initial condition

Returns
a dictionary of initial condition. Including temperature and composition

◆ num_grids()

vector< int > PF_ARGS_Interpreter::num_grids ( )
inline

Get number of grids

Returns
list of grids number in 3D

◆ therm_set_temp()

vector< double > PF_ARGS_Interpreter::therm_set_temp ( )
inline

Get temperature (K) of thermal history nodes

Returns
list of temperatures of thermal condition

◆ therm_set_time()

vector< double > PF_ARGS_Interpreter::therm_set_time ( )
inline

Get moments (seconds) of thermal history nodes

Returns
list of time of thermal condition

◆ chemical_noise_amp()

double PF_ARGS_Interpreter::chemical_noise_amp ( )
inline

Get noise amplitude for microstructure initialization

Returns
tha amplitude of random noise

◆ length_scale()

double PF_ARGS_Interpreter::length_scale ( )
inline

Get length scale

Returns
length scale

◆ chemical_gradient()

double PF_ARGS_Interpreter::chemical_gradient ( )
inline

Get gradient factor

Returns
gradient factor

◆ nucleation_density()

map< string, double > PF_ARGS_Interpreter::nucleation_density ( )
inline

Get user-defined nucleation density

Returns
a dictionary of nucleation density. THe key is phase name, the value the nucleation density

◆ op_mobility()

double PF_ARGS_Interpreter::op_mobility ( )
inline

Get mobility of order parameter

Returns
mobility of order parameter

◆ dri_force_scaling_factor()

double PF_ARGS_Interpreter::dri_force_scaling_factor ( )
inline

Get pre-factor of driving force cut off

Returns
pre-factor of driving force cut off

◆ interface_width()

int PF_ARGS_Interpreter::interface_width ( )
inline

Get widht of interface in phase field model

Returns
widht of interface in phase field model

◆ is_bpq_substract()

bool PF_ARGS_Interpreter::is_bpq_substract ( )
inline

Get Bpq substract control tag

Returns
True if Bpq is substract from total elastic energy

◆ cutoff_radius_ac()

double PF_ARGS_Interpreter::cutoff_radius_ac ( )
inline

Get cut off radius of anti-curvature term

Returns
cut off radius of anti-curvature term in grid number

◆ minimal_nuclei_radius()

double PF_ARGS_Interpreter::minimal_nuclei_radius ( )
inline

Get cut off radius of anti-curvature term

Returns
cut off radius of anti-curvature term in grid number

◆ mean_field_nucleation()

bool PF_ARGS_Interpreter::mean_field_nucleation ( )
inline

Get mean-field nucleation control tag

Returns
mean-field nucleation control tag

◆ enable_precip_diffusion()

bool PF_ARGS_Interpreter::enable_precip_diffusion ( )
inline

Get precipitate diffusion control tag

Returns
True if diffusion inside precipitate is considered

◆ sigma_interface()

double PF_ARGS_Interpreter::sigma_interface ( )
inline

Get interfacial energy from global setting

Returns
global interfacial energy

◆ Gnormal()

double PF_ARGS_Interpreter::Gnormal ( )
inline

Get energy renormalization factor

Returns
energy renormalization factor

◆ Bnormal()

double PF_ARGS_Interpreter::Bnormal ( )
inline

Get mobility renormalization factor

Returns
mobility renormalization factor

◆ rel_tol()

double PF_ARGS_Interpreter::rel_tol ( )
inline

Get relative tolerance for adpative time step

Returns
relative tolerance for adpative time step

◆ order_adaptive()

int PF_ARGS_Interpreter::order_adaptive ( )
inline

Get order of adaptive approach

Returns
order of adaptive approach

◆ use_pan_engine()

bool PF_ARGS_Interpreter::use_pan_engine ( )
inline

Get pangine model

Returns
True if always do a new calcualtion disregarding saved points

◆ vtk_dir()

string PF_ARGS_Interpreter::vtk_dir ( )
inline

Get VTK file output dir

Returns
VTK file output dir

◆ pan_result_table_dir()

string PF_ARGS_Interpreter::pan_result_table_dir ( )
inline

Get Pandat result table dir

Returns
Pandat result table dir

◆ num_profile()

int PF_ARGS_Interpreter::num_profile ( )
inline

Get number of evenly-seperated output moments

Returns
number of evenly-seperated output moments

◆ num_profile_scaling_type()

int PF_ARGS_Interpreter::num_profile_scaling_type ( )
inline

Get the scaling type of evenly-seperated output moments

Returns
scaling type of evenly-seperated moments

◆ more_profiles()

vector< double > PF_ARGS_Interpreter::more_profiles ( )
inline

Get customized output moments

Returns
a list of customized output moments

◆ initial_mode()

string PF_ARGS_Interpreter::initial_mode ( )
inline

Get microstructure initial mode

Returns
a string tag of microstructure initial mode

◆ input_path()

string PF_ARGS_Interpreter::input_path ( )
inline

Get input path of vtk file for initializing microstructure

Returns
input path of vtk file

◆ sdk_config()

map< string, double > PF_ARGS_Interpreter::sdk_config ( )
inline

Get sdk configuration

Returns
sdk configuration such as precision of engine

◆ prop_output_mode()

int PF_ARGS_Interpreter::prop_output_mode ( )
inline

Get mode of user prop output. 0, default; > 0, extended

Returns
the mode

◆ app_name()

string PF_ARGS_Interpreter::app_name ( )
inline

Get name of application plug-in

Returns
name of application plug-in

◆ interfacial_energy()

map< pair< string, string >, double > PF_ARGS_Interpreter::interfacial_energy ( )
inline

Get interfacial energy from phase setting

Returns
a dictionary of interfacial energy from phase setting

◆ precipitate_phase_list()

set< string > PF_ARGS_Interpreter::precipitate_phase_list ( )
inline

Get precipitate phase names

Returns
a set of precipitate phase name

◆ matrix_phase_list()

set< string > PF_ARGS_Interpreter::matrix_phase_list ( )
inline

Get precipitate matrix names

Returns
a set of matrix phase name

◆ phase_misfit_strain()

map< pair< string, string >, vector< vector< double > > > PF_ARGS_Interpreter::phase_misfit_strain ( )
inline

Get misfit strain from phase setting

Returns
a dictionary of misfit strain from phase setting

◆ Cij()

vector< vector< double > > PF_ARGS_Interpreter::Cij ( )
inline

Get elastic constants

Returns
elastic constant matrix form matrix setting

◆ Cij_phase()

map< string, vector< vector< double > > > PF_ARGS_Interpreter::Cij_phase ( )
inline

Get elastic constants of each phase

Returns
a dictionary of elastic constant matrix form each setting

◆ misfit_ref_element()

string PF_ARGS_Interpreter::misfit_ref_element ( )
inline

Get reference element of misfit strain

Returns
string of reference element of misfit strain

◆ misfit_ref_element_phase()

map< string, string > PF_ARGS_Interpreter::misfit_ref_element_phase ( )
inline

Get reference element of misfit strain from phase setting

Returns
a dictionary of reference element of misfit strain from phase setting

◆ chemical_misfit_strain()

map< string, double > PF_ARGS_Interpreter::chemical_misfit_strain ( )
inline

Get chemical misfit strain

Returns
a dictionary of chemical misfit strain. The key is the componenet names

◆ chemical_misfit_strain_phase()

map< string, map< string, double > > PF_ARGS_Interpreter::chemical_misfit_strain_phase ( )
inline

Get chemical misfit strain from phase setting

Returns
a dictionary of chemical misfit strain. The outter key is the phase names. The inner key is the componenet names

◆ custom_molar_vol()

map< string, double > PF_ARGS_Interpreter::custom_molar_vol ( )
inline

Get molar volume

Returns
a dictionary of molar volume. The key is the componenet names

◆ custom_molar_vol_phase()

map< string, map< string, double > > PF_ARGS_Interpreter::custom_molar_vol_phase ( )
inline

Get molar volume from phase setting

Returns
a dictionary of molar volume. The outter key is the phase names. The inner key is the componenet names

◆ custom_mob_scale()

map< string, double > PF_ARGS_Interpreter::custom_mob_scale ( )
inline

Get customized mobility scale

Returns
a dictionary of customized mobility scale. The key is the componenet names

◆ custom_mob_scale_phase()

map< string, map< string, double > > PF_ARGS_Interpreter::custom_mob_scale_phase ( )
inline

Get customized mobility scale from phase setting

Returns
a dictionary of customized mobility scale. The outter key is the phase names. The inner key is the componenet names

◆ enable_nucleation()

bool PF_ARGS_Interpreter::enable_nucleation ( string &  key)
inline

Get control tag of nucleation

Parameters
[in]keythe phase name of nucleation parameters
Returns
True if nucleation parameters for quering phase exist
Note
For explicit nucleation model only

◆ steady_state_NR()

bool PF_ARGS_Interpreter::steady_state_NR ( string &  key)
inline

Get control tag of steady state nucleation

Parameters
[in]keythe phase name of nucleation parameters
Returns
True if steady state nucleation is active for quering phase
Note
For explicit nucleation model only

◆ nucleation_site_parameter()

double PF_ARGS_Interpreter::nucleation_site_parameter ( string &  key)
inline

Get nucleation site parameter

Parameters
[in]keythe phase name of nucleation parameters
Returns
nucleation site parameter
Note
For explicit nucleation model only

◆ atomic_spacing()

double PF_ARGS_Interpreter::atomic_spacing ( string &  key)
inline

Get atomic spacing

Parameters
[in]keythe phase name of nucleation parameters
Returns
atomic spacing
Note
For explicit nucleation model only

◆ nucle_driving_force_factor()

double PF_ARGS_Interpreter::nucle_driving_force_factor ( string &  key)
inline

Get driving force factor for nucleation

Parameters
[in]keythe phase name of nucleation parameters
Returns
driving force factor for nucleation
Note
For explicit nucleation model only

◆ nucle_effective_diffusivity_factor()

double PF_ARGS_Interpreter::nucle_effective_diffusivity_factor ( string &  key)
inline

Get scaling factor for effective diffusivity of nucleation

Parameters
[in]keythe phase name of nucleation parameters
Returns
scaling factor for effective diffusivity of nucleation
Note
For explicit nucleation model only

◆ shield_time()

double PF_ARGS_Interpreter::shield_time ( string &  key)
inline

Get shield time of initial particle

Parameters
[in]keythe phase name of nucleation parameters
Returns
shield time of initial particle
Note
For explicit nucleation model only

◆ shield_distance()

double PF_ARGS_Interpreter::shield_distance ( string &  key)
inline

Get shield distance of initial particle

Parameters
[in]keythe phase name of nucleation parameters
Returns
shield distance of initial particle
Note
For explicit nucleation model only

◆ custom_parameters()

map< string, double > PF_ARGS_Interpreter::custom_parameters ( )
inline

Get custom parameters of the matrix phase

Returns
a dictionary of custom parameters
Note
Custom parameters

◆ custom_ppt_parameters()

map< string, double > PF_ARGS_Interpreter::custom_ppt_parameters ( string  ph_name)
inline

Get custom parameters of a precipitate phase by their name (ph_name)

Returns
a dictionary of custom parameters
Note
Custom parameters

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