yu-mcal 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
mcal/mcal.py CHANGED
@@ -139,9 +139,9 @@ def main():
139
139
  filename = cif_file.stem
140
140
  cif_path_without_ext = f'{directory}/{filename}'
141
141
 
142
- print('---------------------------------------')
143
- print(' mcal 0.1.0 (2025/12/30) by Matsui Lab. ')
144
- print('---------------------------------------')
142
+ print('----------------------------------------')
143
+ print(' mcal 0.1.1 (2026/01/08) by Matsui Lab. ')
144
+ print('----------------------------------------')
145
145
 
146
146
  if args.read_pickle:
147
147
  read_pickle(args.file)
@@ -312,27 +312,27 @@ def main():
312
312
  hop.append((s, t, i, j, k, marcus_rate(ti, reorg_energy)))
313
313
 
314
314
  diffusion_coef_tensor = diffusion_coefficient_tensor(cif_reader.lattice * 1e-8, hop)
315
- print_tensor(diffusion_coef_tensor, msg="Diffusion coefficient tensor")
315
+ print_tensor(diffusion_coef_tensor, msg="Diffusion coefficient tensor (cm^2/s)")
316
316
  mu = mobility_tensor(diffusion_coef_tensor)
317
- print_tensor(mu)
317
+ print_tensor(mu, msg="Mobility tensor (cm^2/Vs)")
318
318
  value, vector = cal_eigenvalue_decomposition(mu)
319
319
  print_mobility(value, vector)
320
320
 
321
321
  ##### Simulate mobility tensor calculation using Monte Carlo method #####
322
322
  if args.mc:
323
323
  D_MC = diffusion_coefficient_tensor_MC(cif_reader.lattice * 1e-8, hop)
324
- print_tensor(D_MC, msg="Diffusion coefficient tensor (MC)")
324
+ print_tensor(D_MC, msg="Diffusion coefficient tensor (cm^2/s) (MC)")
325
325
  mu_MC = mobility_tensor(D_MC)
326
- print_tensor(mu_MC, msg="Mobility tensor (MC)")
326
+ print_tensor(mu_MC, msg="Mobility tensor (cm^2/Vs) (MC)")
327
327
  value_MC, vector_MC = cal_eigenvalue_decomposition(mu_MC)
328
328
  print_mobility(value_MC, vector_MC, sim_type='MC')
329
329
 
330
330
  ##### Simulate mobility tensor calculation using Ordinary Differential Equation method #####
331
331
  if args.ode:
332
332
  D_ODE = diffusion_coefficient_tensor_ODE(cif_reader.lattice * 1e-8, hop)
333
- print_tensor(D_ODE, msg="Diffusion coefficient tensor (ODE)")
333
+ print_tensor(D_ODE, msg="Diffusion coefficient tensor (cm^2/s) (ODE)")
334
334
  mu_ODE = mobility_tensor(D_ODE)
335
- print_tensor(mu_ODE, msg="Mobility tensor (ODE)")
335
+ print_tensor(mu_ODE, msg="Mobility tensor (cm^2/Vs) (ODE)")
336
336
  value_ODE, vector_ODE = cal_eigenvalue_decomposition(mu_ODE)
337
337
  print_mobility(value_ODE, vector_ODE, sim_type='ODE')
338
338
 
@@ -355,14 +355,18 @@ def main():
355
355
  Tcal.print_timestamp()
356
356
  end_time = time()
357
357
  elapsed_time = end_time - start_time
358
+ elapsed_time_h = int(elapsed_time // 3600)
359
+ elapsed_time_min = int((elapsed_time - elapsed_time_h * 3600) // 60)
360
+ elapsed_time_sec = int(elapsed_time - elapsed_time_h * 3600 - elapsed_time_min * 60)
361
+ elapsed_time_ms = (elapsed_time - elapsed_time_h * 3600 - elapsed_time_min * 60 - elapsed_time_sec) * 1000
358
362
  if elapsed_time < 1:
359
- print(f'Elapsed Time: {elapsed_time*1000:.0f} ms')
363
+ print(f'Elapsed Time: {elapsed_time_ms:.0f} ms')
360
364
  elif elapsed_time < 60:
361
- print(f'Elapsed Time: {elapsed_time:.0f} s')
365
+ print(f'Elapsed Time: {elapsed_time_sec} sec')
362
366
  elif elapsed_time < 3600:
363
- print(f'Elapsed Time: {elapsed_time/60:.0f} min')
367
+ print(f'Elapsed Time: {elapsed_time_min} min {elapsed_time_sec} sec')
364
368
  else:
365
- print(f'Elapsed Time: {elapsed_time/3600:.0f} h')
369
+ print(f'Elapsed Time: {elapsed_time_h} h {elapsed_time_min} min {elapsed_time_sec} sec')
366
370
 
367
371
 
368
372
  def atom_weight(symbol: str) -> float:
@@ -728,8 +732,9 @@ def print_mobility(value: NDArray[np.float64], vector: NDArray[np.float64], sim_
728
732
  sim_type : str
729
733
  Simulation type (MC or ODE)
730
734
  """
731
- msg_value = 'Mobility value'
732
- msg_vector = 'Mobility vector'
735
+ msg_value = 'Mobility eigenvalues (cm^2/Vs)'
736
+ msg_vector = 'Mobility eigenvectors'
737
+ direction = ['x', 'y', 'z']
733
738
 
734
739
  if sim_type:
735
740
  msg_value += f' ({sim_type})'
@@ -746,8 +751,9 @@ def print_mobility(value: NDArray[np.float64], vector: NDArray[np.float64], sim_
746
751
  print('-' * (len(msg_vector)+2))
747
752
  print(f' {msg_vector} ')
748
753
  print('-' * (len(msg_vector)+2))
749
- for v in vector:
750
- print(f"{v[0]:12.6g} {v[1]:12.6g} {v[2]:12.6g}")
754
+ print(' vector1 vector2 vector3')
755
+ for v, d in zip(vector, direction):
756
+ print(f'{d} {v[0]:12.6g} {v[1]:12.6g} {v[2]:12.6g}')
751
757
  print()
752
758
 
753
759
 
@@ -822,9 +828,9 @@ def read_pickle(file_name: str):
822
828
  print(f'{s}-th in (0,0,0) cell to {t}-th in ({i},{j},{k}) cell')
823
829
  print_transfer_integral(results['osc_type'], ti)
824
830
 
825
- print_tensor(results['diffusion_coefficient_tensor'], msg="Diffusion coefficient tensor")
831
+ print_tensor(results['diffusion_coefficient_tensor'], msg="Diffusion coefficient tensor (cm^2/s)")
826
832
 
827
- print_tensor(results['mobility_tensor'])
833
+ print_tensor(results['mobility_tensor'], msg="Mobility tensor (cm^2/Vs)")
828
834
 
829
835
  print_mobility(results['mobility_value'], results['mobility_vector'])
830
836
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yu-mcal
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Program for the calculation of mobility tensor for organic semiconductor crystals
5
5
  Author: Koki Ozawa
6
6
  Author-email: Hiroyuki Matsui <h-matsui@yz.yamagata-u.ac.jp>
@@ -47,6 +47,7 @@ Description-Content-Type: text/markdown
47
47
  # mcal: Program for the calculation of mobility tensor for organic semiconductor crystals
48
48
  [![Python](https://img.shields.io/badge/python-3.9%20or%20newer-blue)](https://www.python.org)
49
49
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
50
+ [![docs](https://img.shields.io/badge/docs-here-11419572)](https://matsui-lab-yamagata.github.io/mcal/)
50
51
 
51
52
  # Overview
52
53
  `mcal.py` is a tool for calculating mobility tensors of organic semiconductors. It calculates transfer integrals and reorganization energy from crystal structures, and determines mobility tensors considering anisotropy and path continuity.
@@ -1,5 +1,5 @@
1
1
  mcal/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
- mcal/mcal.py,sha256=eL57d_vm8Rf0kAZwVgRphRvIpEB9_u1NaBSPUs_wvlI,28648
2
+ mcal/mcal.py,sha256=Wxsl5J88VdsLK7MgppG_P3Uw38caPy6GTmXGuckxV7c,29282
3
3
  mcal/calculations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  mcal/calculations/hopping_mobility_model.py,sha256=kjE_07nC4hbhWV5B37G0rtsgPqjBuHP0wsJ53rXoPOQ,13180
5
5
  mcal/calculations/rcal.py,sha256=CH3iV18KTM8xU7M7zKR3e1m67GbJLH8zi0j50TsUXLE,13500
@@ -9,8 +9,8 @@ mcal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  mcal/utils/cif_reader.py,sha256=nhvk7y8ix4yKhyKjDaw2Luotw6YFMGbGCaeBVP6Qd5E,22901
10
10
  mcal/utils/gaus_log_reader.py,sha256=nNIgBae9hRUgpmNF7eIC5LOENSo6NQmuckMM4A3HAa8,3159
11
11
  mcal/utils/gjf_maker.py,sha256=Kkh_gNcifFfhTikZar6SzoNJ7AyEBiCBXJTQkHxHX-0,8193
12
- yu_mcal-0.1.0.dist-info/METADATA,sha256=oBAS8ZHFduaZrGTw-O9-reJlUGEn-VJNPxbl4iQvS7E,7630
13
- yu_mcal-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
14
- yu_mcal-0.1.0.dist-info/entry_points.txt,sha256=_0xZR3t9qvFSd9L6Iot03NixVLxXioEY19L6w3Fs1Ew,40
15
- yu_mcal-0.1.0.dist-info/licenses/LICENSE,sha256=JP8vm7gYE73jLgnMFTOLNo_RnH88RrB4Goyh7H_muto,1072
16
- yu_mcal-0.1.0.dist-info/RECORD,,
12
+ yu_mcal-0.1.1.dist-info/METADATA,sha256=7j9QEcJfmDr-ctUKn9APFdrR5HQH2fTD7sWM6zYH7Ao,7734
13
+ yu_mcal-0.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
14
+ yu_mcal-0.1.1.dist-info/entry_points.txt,sha256=_0xZR3t9qvFSd9L6Iot03NixVLxXioEY19L6w3Fs1Ew,40
15
+ yu_mcal-0.1.1.dist-info/licenses/LICENSE,sha256=JP8vm7gYE73jLgnMFTOLNo_RnH88RrB4Goyh7H_muto,1072
16
+ yu_mcal-0.1.1.dist-info/RECORD,,