@@ -318,28 +318,26 @@ def get_abc(self, tstart=0, tstop=800 , num=100):
318
318
Returns: |matplotlib-Figure|
319
319
"""
320
320
f = self .fit_energies (tstart , tstop , num )
321
- param = np .zeros ((num ,4 ))
322
- param = np .zeros ((num ,3 ))
323
321
param = np .polyfit (self .volumes , self .lattice_a , 3 )
324
322
param0 = [3 * param [0 ],2 * param [1 ],param [2 ]]
325
323
pa = np .poly1d (param )
326
324
dpa = np .poly1d (param0 )
327
325
aa_qha = pa (f .min_vol )
328
- daa_qha = dpa (f .min_vol )
326
+ daa_dv_qha = dpa (f .min_vol )
329
327
param = np .polyfit (self .volumes , self .lattice_b , 3 )
330
328
param0 = [3 * param [0 ],2 * param [1 ],param [2 ]]
331
329
pb = np .poly1d (param )
332
330
dpb = np .poly1d (param0 )
333
331
bb_qha = pb (f .min_vol )
334
- dbb_qha = dpb (f .min_vol )
332
+ dbb_dv_qha = dpb (f .min_vol )
335
333
param = np .polyfit (self .volumes , self .lattice_c , 3 )
336
334
param0 = [3 * param [0 ],2 * param [1 ],param [2 ]]
337
335
pc = np .poly1d (param )
338
336
dpc = np .poly1d (param0 )
339
337
cc_qha = pc (f .min_vol )
340
- dcc_qha = dpc (f .min_vol )
338
+ dcc_dv_qha = dpc (f .min_vol )
341
339
342
- return aa_qha ,bb_qha ,cc_qha , daa_qha , dbb_qha , dcc_qha
340
+ return aa_qha ,bb_qha ,cc_qha , daa_dv_qha , dbb_dv_qha , dcc_dv_qha
343
341
344
342
def get_angles (self , tstart = 0 , tstop = 800 , num = 100 ):
345
343
"""
@@ -356,8 +354,6 @@ def get_angles(self, tstart=0, tstop=800 , num=100):
356
354
Returns: |matplotlib-Figure|
357
355
"""
358
356
f = self .fit_energies (tstart , tstop , num )
359
- param = np .zeros ((num ,4 ))
360
- param0 = np .zeros ((num ,3 ))
361
357
param = np .polyfit (self .volumes , self .angles_alpha , 3 )
362
358
pa = np .poly1d (param )
363
359
alpha = pa (f .min_vol )
@@ -390,21 +386,21 @@ def plot_thermal_expansion_coeff_abc(self, tstart=0, tstop=800, num=100, tref=No
390
386
tmesh = np .linspace (tstart , tstop , num )
391
387
392
388
alpha_v = self .get_thermal_expansion_coeff (tstart , tstop , num , tref )
393
- aa_qha , bb_qha , cc_qha , daa_qha , dbb_qha , dcc_qha = self .get_abc (tstart , tstop , num )
389
+ aa , bb , cc , daa_dv , dbb_dv , dcc_dv = self .get_abc (tstart , tstop , num )
394
390
395
391
if tref is None :
396
392
f = self .fit_energies (tstart , tstop , num )
397
393
dv_dt = alpha_v * f .min_vol [1 :- 1 ]
398
- alpha_qha_a = dv_dt * daa_qha [1 :- 1 ]/ aa_qha [1 :- 1 ]
399
- alpha_qha_b = dv_dt * dbb_qha [1 :- 1 ]/ bb_qha [1 :- 1 ]
400
- alpha_qha_c = dv_dt * dcc_qha [1 :- 1 ]/ cc_qha [1 :- 1 ]
394
+ alpha_qha_a = dv_dt * daa_dv [1 :- 1 ]/ aa [1 :- 1 ]
395
+ alpha_qha_b = dv_dt * dbb_dv [1 :- 1 ]/ bb [1 :- 1 ]
396
+ alpha_qha_c = dv_dt * dcc_dv [1 :- 1 ]/ cc [1 :- 1 ]
401
397
else :
402
398
f0 = self .fit_energies (tref , tref , num )
403
399
dv_dt = alpha_v * f0 .min_vol [1 :- 1 ]
404
- aa_tref ,bb_tref ,cc_tref , daa_tref , dbb_tref , dcc_tref = self .get_abc (tref , tref , 1 )
405
- alpha_qha_a = dv_dt * daa_qha [1 :- 1 ]/ aa_tref
406
- alpha_qha_b = dv_dt * dbb_qha [1 :- 1 ]/ bb_tref
407
- alpha_qha_c = dv_dt * dcc_qha [1 :- 1 ]/ cc_tref
400
+ aa_tref ,bb_tref ,cc_tref , daa_dv_tref , dbb_dv_tref , dcc_dv_tref = self .get_abc (tref , tref , 1 )
401
+ alpha_qha_a = dv_dt * daa_dv [1 :- 1 ]/ aa_tref
402
+ alpha_qha_b = dv_dt * dbb_dv [1 :- 1 ]/ bb_tref
403
+ alpha_qha_c = dv_dt * dcc_dv [1 :- 1 ]/ cc_tref
408
404
409
405
ax .plot (tmesh [1 :- 1 ] ,alpha_qha_a , color = 'r' ,lw = 2 , ** kwargs )
410
406
ax .plot (tmesh [1 :- 1 ] ,alpha_qha_b , color = 'b' , lw = 2 )
@@ -438,11 +434,11 @@ def plot_abc_vs_t(self, tstart=0 , tstop=800, num=100, tref=None, ax=None, **kwa
438
434
439
435
#alpha = self.get_thermal_expansion_coeff(tstart, tstop, num, tref)
440
436
tmesh = np .linspace (tstart , tstop , num )
441
- aa_qha , bb_qha , cc_qha , daa_qha , dbb_qha , dcc_qha = self .get_abc (tstart , tstop , num )
437
+ aa , bb , cc , daa_dv , dbb_dv , dcc_dv = self .get_abc (tstart , tstop , num )
442
438
443
- ax .plot (tmesh ,aa_qha , color = 'r' ,lw = 2 , ** kwargs )
444
- ax .plot (tmesh ,bb_qha , color = 'b' , lw = 2 )
445
- ax .plot (tmesh ,cc_qha , color = 'm' , lw = 2 )
439
+ ax .plot (tmesh ,aa , color = 'r' ,lw = 2 , ** kwargs )
440
+ ax .plot (tmesh ,bb , color = 'b' , lw = 2 )
441
+ ax .plot (tmesh ,cc , color = 'm' , lw = 2 )
446
442
ax .set_xlabel (r'T (K)' )
447
443
ax .legend (["a(V(T))" ,"b(V(T))" ,"c(V(T))" ])
448
444
ax .grid (True )
0 commit comments