24#include "ppf_APP_interface.h"
33#define USER_PFM_SPINODAL_API
35#define USER_PFM_SPINODAL_API __declspec(dllexport)
219 map<string, double> homogen_condition;
224 vector<int> dim_order_map;
226 TempCalculator m_thermal_stack;
229 vector<double> plot_time_stack;
234 double Cijkla, Cijklb, Cijklc;
246 vector<string> comp_names;
250 vector<string> phase_names;
256 vtk_stream_utility::VTK_Stream vtk_stream;
261 vector<PFM_SDK_Input_Condition> sdk_input;
262 vector<PFM_SDK_Output_Data> sdk_output;
263 double Mchemical__pdn[32][32][32];
268 VectorMesh<double> dcdt;
269 VectorMesh<double> lapC;
270 VectorMesh<double> conc;
271 VectorMesh<double> mu;
272 MatrixMesh<double> chem_mobility;
281 double dt_before_limited;
284#ifdef ENABLE_PANDAT_PROGRESS_MESSAGE
288 CALCULATION_PROGRESS m_progress_ptr;
291#ifdef ENABLE_PANDAT_RESULT_TABLE
295 vector<pair<string, string>> dbs;
297 string pandat_table_dir;
302 P_Result_Dict m_result;
305#ifdef ENABLE_PERFORMANCE_LOG
309 vector<double> sdk_api_call_cnt;
310 double thermodynamic_time;
351 void Delete(I_PFM_APP_Interface* user_app) {
352 if (user_app != NULL)
371 return "USER_PFM_SPINODAL";
379 return "A template plugin for spinodal decomposition";
Creator of this user-defined spinodal decomposition model.
Definition: user_pfm_spinodal.h:336
const char * getDescription()
Definition: user_pfm_spinodal.h:377
const char * getName()
Definition: user_pfm_spinodal.h:369
void Delete(I_PFM_APP_Interface *user_app)
Definition: user_pfm_spinodal.h:351
float getVersion()
Definition: user_pfm_spinodal.h:361
I_PFM_APP_Interface * Create()
Definition: user_pfm_spinodal.h:342
An example phase-field model of spinodal decomposition.
Definition: user_pfm_spinodal.h:102
void load_arguments(PF_ARGS *m_args, char *msg_char)
Definition: pfm_spinodal.cpp:129
~user_pfm_spinodal()
Definition: pfm_spinodal.cpp:305
bool model_update_field(double dt)
Definition: pfm_spinodal_model.cpp:183
void run_pfm_calculation(char *msg)
Definition: pfm_spinodal_calculation.cpp:4
void model_update_laplace_operation()
Definition: pfm_spinodal_model.cpp:95
void model_allocate_memory()
Definition: pfm_spinodal_model.cpp:12
bool model_initial_condition(string irun="Random")
Definition: pfm_spinodal_model.cpp:47
user_pfm_spinodal()
Definition: pfm_spinodal.cpp:290
bool sdk_update_prop(string &msg)
Definition: pfm_spinodal_property.cpp:19
void sdk_get_chemical_mobility(double(*chemical_mobility)[PDN_BSZ][PDN_BSZ], double(*atomic_mobility), double(*composition))
Definition: pfm_spinodal_property.cpp:4
void model_update_rate()
Definition: pfm_spinodal_model.cpp:132
Configuration of user-defined plugin: spinodal decomposition.
#define PDN_BSZ
Definition: pfm_spinodal_config.h:63