Explorar o código

add fogotten file

Konstantin Ladutenko %!s(int64=3) %!d(string=hai) anos
pai
achega
a835aaa459
Modificáronse 2 ficheiros con 62 adicións e 0 borrados
  1. 5 0
      .gitignore
  2. 57 0
      guiapp/src/components/utils.ts

+ 5 - 0
.gitignore

@@ -35,6 +35,9 @@ scattnlay-mp
 # Binary
 *.bin
 
+# Python
+*.egg-info/*
+
 # CLion files
 .idea
 cmake-build-*
@@ -73,6 +76,8 @@ node_modules
 dist
 surma-ashley-test
 
+*src-electron*
+
 nmiejs.wasm
 nmiejs.js
 

+ 57 - 0
guiapp/src/components/utils.ts

@@ -0,0 +1,57 @@
+export const flexRowTitleStyle='width:10em; margin: auto;'
+// convert value to nm from some units
+export function fromUnits(fromU:string, val:number):number {
+    if (fromU === 'nm') return val
+    if (fromU === 'mkm') return val*1e3
+    if (fromU === 'mm') return val*1e6
+    if (fromU === 'cm') return val*1e7
+    if (fromU === 'm') return val*1e9
+    if (fromU === 'km') return val*1e12
+
+    const c = 299792458 // m/s
+    const hc = 1239841930.092394328e-15 // m*eV
+    if (fromU === 'THz') return c/(val*1e12)*1e9
+    if (fromU === 'GHz') return c/(val*1e9)*1e9
+    if (fromU === 'MHz') return c/(val*1e6)*1e9
+    if (fromU === 'kHz') return c/(val*1e3)*1e9
+    if (fromU === 'Hz') return c/(val*1e0)*1e9
+
+    if (fromU === 'eV') return hc/(val*1e0)*1e9
+    if (fromU === 'meV') return hc/(val/1e3)*1e9
+
+    if (fromU === 'fs') return (val/1e12)*c*1e9
+    if (fromU === 'ps') return (val/1e15)*c*1e9
+
+    return val
+}
+
+// convert value from nm to some units
+export function toUnits(val:number, toU:string):number {
+    if (toU === 'nm') return val
+    if (toU === 'mkm') return val/1e3
+    if (toU === 'mm') return val/1e6
+    if (toU === 'cm') return val/1e7
+    if (toU === 'm') return val/1e9
+    if (toU === 'km') return val/1e12
+
+    const c = 299792458 // m/s
+    const hc = 1239841930.092394328e-15 // m*eV
+    if (toU === 'THz') return c/(val/1e9)/1e12
+    if (toU === 'GHz') return c/(val/1e9)/1e9
+    if (toU === 'MHz') return c/(val/1e9)/1e6
+    if (toU === 'kHz') return c/(val/1e9)/1e3
+    if (toU === 'Hz') return c/(val/1e9)/1e0
+
+    if (toU === 'eV') return hc/(val/1e9)
+    if (toU === 'meV') return hc/(val/1e9)*1e3
+
+    if (toU === 'fs') return (val/1e9)/c*1e12
+    if (toU === 'ps') return (val/1e9)/c*1e15
+
+    // if (fromU === 'eV') return hc/(val*1e0)*1e9
+    // if (fromU === 'meV') return hc/(val/1e3)*1e9
+    //
+    // if (fromU === 'fs') return (val/1e12)/c*1e9
+    // if (fromU === 'ps') return (val/1e15)/c*1e9
+    return val
+}