#include struct VAR_STRUCT { //petsc variables DM da; TS ts; char filename[PETSC_MAX_PATH_LEN]; // domain decomposition in time and space int Nx,Ny; // number of grids x,y PetscScalar hx,hy; // mesh size x,y[non-dimensional] PetscScalar lx,ly; // system size x,y [non-dimensional] int Nt; // time for simulation PetscScalar ht,tw; // time step size PetscScalar t_tot; //total time int n; //initial condition PetscScalar U_s,U_l; // initial condition non dimentional conceltration (U) of solid, and liquid PetscScalar U_I,p_I; // Interface order parameter and concentration PetscScalar p_s,p_l; // initial condition order parameter of solid, and liquid PetscScalar vx_b,vy_b,pp_b; //boundary values of velocity in x and y directions and pressure int Nx_Ir,Nx_Il; // initial nuclation position in x rirection right hand and left hand boundary int Ny_It,Ny_Ib; // initial nuclation position in y rirection top and bottom boundary int delta; // shows the half amplitudse of sinousian perturbation in validation int lambda_f; // wave number of perturbation int j_max; // J for perturbation //equation coefficients PetscScalar GAMMA; // Gibbs-Thomson coefficient [km] PetscScalar mcinf; // shift in melting temperature [K] PetscScalar k; // partition coefficient PetscScalar d0; // capillary length equal to GAMMA*k/*(mcinf*(1-k))[m] PetscScalar ep; // ratio of W/d0 ****** result must be independant from this coefficient***** PetscScalar nu; // viscosity PetscScalar nu_nd; // non_dimensional viscosity PetscScalar h; // the cosnstant in Pf model which is equal to 2.757 PetscScalar W; // interface thickness [m] PetscScalar Vpf; // coefficient to fit partition coefficient to phase field equation in Pinomaa PetscScalar A; // trapping parameter PetscScalar a_p; // coefficient in concentration equation (constant=1/(2*sqrt(2))) PetscScalar a1; // coefficient used to define lambda calculated from thin interface limit eq (13) echebarria PetscScalar a2; // coefficient used to define tau_0 calculated from thin interface limit eq (13) echebarria PetscScalar D; // diffusion coefficient liquid [m2/s] PetscScalar lambda; // this is related to temperature eq(59) and (70) in echebarria paper lambda=a1*ep PetscScalar beta; // kinetic coefficient PetscScalar epsilon_beta; // kinetic coefficient anisotropy PetscScalar tau_0; // relaxation time calculated from a2*lambda*W*W/D [sec] PetscScalar epsilon_tau; // anisotropy of tau PetscScalar Vp; // pulling velocity [m/s] PetscScalar G; // temperature Gradient [K/m] PetscScalar lT; // thermal length [m] PetscScalar lD; // diffusion length [m] PetscScalar epsilon; // anisotropy parameter PetscScalar DF; // undercooling driving force PetscScalar Density_var; PetscScalar alpha; PetscScalar Mout; PetscScalar V_nd; PetscScalar cl0; PetscScalar accelerate; //write output PetscScalar time; //coefficient used in FormFunction to be sure new time step is studied int t_write; // time step counter int t_write_freq; // frequency of writing output int t_n_freq; //Write File FILE *fp; char fname[PETSC_MAX_PATH_LEN]; PetscScalar T_s,T_l,T_under; // initial condition order parameter of solid, and liquid //solution vector Vec sol,sol_old,rand,sol_local; //vector for output //noise PetscRandom r; } ; void var_input(struct VAR_STRUCT*);