matsci-parse 0.16.0 → 0.16.2
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.
- package/dist/index.js +517 -513
- package/dist/index.js.map +1 -1
- package/dist/stats.html +1 -1
- package/package.json +20 -3
package/dist/index.js
CHANGED
|
@@ -756,11 +756,15 @@ function Ie(e, t) {
|
|
|
756
756
|
var Le = null;
|
|
757
757
|
function Re() {
|
|
758
758
|
return Le ||= (async () => {
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
759
|
+
try {
|
|
760
|
+
if (typeof process < "u" && process.versions?.node) {
|
|
761
|
+
let { readFileSync: e } = await import("./__vite-browser-external-BApYF4Nn.js").then((e) => /* @__PURE__ */ t(e.default, 1)), { createRequire: r } = await import("./__vite-browser-external-BApYF4Nn.js").then((e) => /* @__PURE__ */ t(e.default, 1)), i = r(import.meta.url).resolve("@spglib/moyo-wasm/moyo_wasm_bg.wasm");
|
|
762
|
+
return await n({ module_or_path: e(i) });
|
|
763
|
+
}
|
|
764
|
+
return await n();
|
|
765
|
+
} catch (e) {
|
|
766
|
+
throw Le = null, e;
|
|
762
767
|
}
|
|
763
|
-
return await n();
|
|
764
768
|
})(), Le;
|
|
765
769
|
}
|
|
766
770
|
function ze(e) {
|
|
@@ -11297,55 +11301,55 @@ function mc(e) {
|
|
|
11297
11301
|
for (let e = 0; e < t.length; e++) n[e] = F(t[e]);
|
|
11298
11302
|
return n;
|
|
11299
11303
|
}
|
|
11300
|
-
function
|
|
11304
|
+
function hc(e) {
|
|
11301
11305
|
return Number.parseInt(e.trim(), 10);
|
|
11302
11306
|
}
|
|
11303
|
-
function
|
|
11307
|
+
function I(e, t = 20) {
|
|
11304
11308
|
return e.toExponential(15).replace(/e/, "D").replace(/e\+/, "D+").replace(/e-/, "D-").padStart(t);
|
|
11305
11309
|
}
|
|
11306
|
-
function
|
|
11310
|
+
function gc(e) {
|
|
11307
11311
|
return e ? ".true." : ".false.";
|
|
11308
11312
|
}
|
|
11309
|
-
function
|
|
11313
|
+
function _c(e) {
|
|
11310
11314
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
11311
11315
|
}
|
|
11312
|
-
function
|
|
11316
|
+
function L(e, t = 4) {
|
|
11313
11317
|
let n = [];
|
|
11314
11318
|
for (let r = 0; r < e.length; r += t) {
|
|
11315
11319
|
let i = [];
|
|
11316
|
-
for (let n = 0; n < t && r + n < e.length; n++) i.push(
|
|
11320
|
+
for (let n = 0; n < t && r + n < e.length; n++) i.push(I(e[r + n]));
|
|
11317
11321
|
n.push(i.join(" "));
|
|
11318
11322
|
}
|
|
11319
11323
|
return n.join("\n");
|
|
11320
11324
|
}
|
|
11321
11325
|
//#endregion
|
|
11322
11326
|
//#region lib/core/io/pseudo/xml-helpers.ts
|
|
11323
|
-
function
|
|
11327
|
+
function R(e, t) {
|
|
11324
11328
|
return e?.[`@_${t}`] ?? "";
|
|
11325
11329
|
}
|
|
11326
|
-
function
|
|
11327
|
-
let r =
|
|
11330
|
+
function z(e, t, n = 0) {
|
|
11331
|
+
let r = R(e, t);
|
|
11328
11332
|
return r ? F(r) : n;
|
|
11329
11333
|
}
|
|
11330
|
-
function
|
|
11331
|
-
let r =
|
|
11332
|
-
return r ?
|
|
11334
|
+
function B(e, t, n = 0) {
|
|
11335
|
+
let r = R(e, t);
|
|
11336
|
+
return r ? hc(r) : n;
|
|
11333
11337
|
}
|
|
11334
|
-
function
|
|
11335
|
-
return pc(
|
|
11338
|
+
function vc(e, t) {
|
|
11339
|
+
return pc(R(e, t) || ".false.");
|
|
11336
11340
|
}
|
|
11337
|
-
function
|
|
11341
|
+
function V(e) {
|
|
11338
11342
|
return typeof e == "string" ? e : e && "#text" in e ? String(e["#text"]) : "";
|
|
11339
11343
|
}
|
|
11340
|
-
function
|
|
11344
|
+
function H(e) {
|
|
11341
11345
|
return Array.isArray(e) ? e : e == null ? [] : [e];
|
|
11342
11346
|
}
|
|
11343
11347
|
//#endregion
|
|
11344
11348
|
//#region lib/core/io/pseudo/upf.ts
|
|
11345
|
-
function
|
|
11349
|
+
function U(e) {
|
|
11346
11350
|
return mc(e);
|
|
11347
11351
|
}
|
|
11348
|
-
var
|
|
11352
|
+
var yc = {
|
|
11349
11353
|
ignoreAttributes: !1,
|
|
11350
11354
|
attributeNamePrefix: "@_",
|
|
11351
11355
|
allowBooleanAttributes: !0,
|
|
@@ -11354,65 +11358,65 @@ var vc = {
|
|
|
11354
11358
|
trimValues: !0,
|
|
11355
11359
|
isArray: (e, t, n, r) => !r && !!(e === "PP_BETA" || e.startsWith("PP_BETA.") || e === "PP_CHI" || e.startsWith("PP_CHI.") || e === "PP_VNL" || e === "PP_AEWFC" || e.startsWith("PP_AEWFC.") || e.startsWith("PP_GIPAW_CORE_ORBITAL.") || e.startsWith("PP_GIPAW_ORBITAL.") || e === "PP_RELWFC" || e === "PP_RELBETA")
|
|
11356
11360
|
};
|
|
11357
|
-
function yc(e) {
|
|
11358
|
-
return {
|
|
11359
|
-
generated: z(e, "generated") || void 0,
|
|
11360
|
-
author: z(e, "author") || void 0,
|
|
11361
|
-
date: z(e, "date") || void 0,
|
|
11362
|
-
comment: z(e, "comment") || void 0,
|
|
11363
|
-
element: z(e, "element").trim(),
|
|
11364
|
-
pseudoType: z(e, "pseudo_type") || "NC",
|
|
11365
|
-
relativistic: z(e, "relativistic") || "scalar",
|
|
11366
|
-
isUltrasoft: _c(e, "is_ultrasoft"),
|
|
11367
|
-
isPaw: _c(e, "is_paw"),
|
|
11368
|
-
isCoulomb: _c(e, "is_coulomb"),
|
|
11369
|
-
hasSo: _c(e, "has_so"),
|
|
11370
|
-
hasWfc: _c(e, "has_wfc"),
|
|
11371
|
-
hasGipaw: _c(e, "has_gipaw"),
|
|
11372
|
-
pawAsGipaw: _c(e, "paw_as_gipaw"),
|
|
11373
|
-
coreCorrection: _c(e, "core_correction"),
|
|
11374
|
-
functional: z(e, "functional"),
|
|
11375
|
-
zValence: B(e, "z_valence"),
|
|
11376
|
-
totalPsenergy: B(e, "total_psenergy"),
|
|
11377
|
-
wfcCutoff: B(e, "wfc_cutoff"),
|
|
11378
|
-
rhoCutoff: B(e, "rho_cutoff"),
|
|
11379
|
-
lMax: V(e, "l_max"),
|
|
11380
|
-
lMaxRho: V(e, "l_max_rho"),
|
|
11381
|
-
lLocal: V(e, "l_local", -1),
|
|
11382
|
-
meshSize: V(e, "mesh_size"),
|
|
11383
|
-
numberOfWfc: V(e, "number_of_wfc"),
|
|
11384
|
-
numberOfProj: V(e, "number_of_proj")
|
|
11385
|
-
};
|
|
11386
|
-
}
|
|
11387
11361
|
function bc(e) {
|
|
11388
11362
|
return {
|
|
11389
|
-
|
|
11390
|
-
|
|
11391
|
-
|
|
11392
|
-
|
|
11393
|
-
|
|
11394
|
-
|
|
11395
|
-
|
|
11363
|
+
generated: R(e, "generated") || void 0,
|
|
11364
|
+
author: R(e, "author") || void 0,
|
|
11365
|
+
date: R(e, "date") || void 0,
|
|
11366
|
+
comment: R(e, "comment") || void 0,
|
|
11367
|
+
element: R(e, "element").trim(),
|
|
11368
|
+
pseudoType: R(e, "pseudo_type") || "NC",
|
|
11369
|
+
relativistic: R(e, "relativistic") || "scalar",
|
|
11370
|
+
isUltrasoft: vc(e, "is_ultrasoft"),
|
|
11371
|
+
isPaw: vc(e, "is_paw"),
|
|
11372
|
+
isCoulomb: vc(e, "is_coulomb"),
|
|
11373
|
+
hasSo: vc(e, "has_so"),
|
|
11374
|
+
hasWfc: vc(e, "has_wfc"),
|
|
11375
|
+
hasGipaw: vc(e, "has_gipaw"),
|
|
11376
|
+
pawAsGipaw: vc(e, "paw_as_gipaw"),
|
|
11377
|
+
coreCorrection: vc(e, "core_correction"),
|
|
11378
|
+
functional: R(e, "functional"),
|
|
11379
|
+
zValence: z(e, "z_valence"),
|
|
11380
|
+
totalPsenergy: z(e, "total_psenergy"),
|
|
11381
|
+
wfcCutoff: z(e, "wfc_cutoff"),
|
|
11382
|
+
rhoCutoff: z(e, "rho_cutoff"),
|
|
11383
|
+
lMax: B(e, "l_max"),
|
|
11384
|
+
lMaxRho: B(e, "l_max_rho"),
|
|
11385
|
+
lLocal: B(e, "l_local", -1),
|
|
11386
|
+
meshSize: B(e, "mesh_size"),
|
|
11387
|
+
numberOfWfc: B(e, "number_of_wfc"),
|
|
11388
|
+
numberOfProj: B(e, "number_of_proj")
|
|
11396
11389
|
};
|
|
11397
11390
|
}
|
|
11398
11391
|
function xc(e) {
|
|
11399
|
-
return {
|
|
11392
|
+
return {
|
|
11393
|
+
dx: R(e, "dx") ? z(e, "dx") : void 0,
|
|
11394
|
+
mesh: R(e, "mesh") ? B(e, "mesh") : void 0,
|
|
11395
|
+
xmin: R(e, "xmin") ? z(e, "xmin") : void 0,
|
|
11396
|
+
rmax: z(e, "rmax"),
|
|
11397
|
+
zmesh: R(e, "zmesh") ? z(e, "zmesh") : void 0,
|
|
11398
|
+
r: U(V(e.PP_R)),
|
|
11399
|
+
rab: U(V(e.PP_RAB))
|
|
11400
|
+
};
|
|
11400
11401
|
}
|
|
11401
11402
|
function Sc(e) {
|
|
11403
|
+
return { vloc: U(V(e)) };
|
|
11404
|
+
}
|
|
11405
|
+
function Cc(e) {
|
|
11402
11406
|
return {
|
|
11403
|
-
angularMomentum:
|
|
11404
|
-
cutoffRadiusIndex:
|
|
11405
|
-
cutoffRadius:
|
|
11406
|
-
normConservingRadius:
|
|
11407
|
-
ultrasoftCutoffRadius:
|
|
11408
|
-
label:
|
|
11409
|
-
beta:
|
|
11407
|
+
angularMomentum: B(e, "angular_momentum"),
|
|
11408
|
+
cutoffRadiusIndex: R(e, "cutoff_radius_index") ? B(e, "cutoff_radius_index") : void 0,
|
|
11409
|
+
cutoffRadius: R(e, "cutoff_radius") ? z(e, "cutoff_radius") : void 0,
|
|
11410
|
+
normConservingRadius: R(e, "norm_conserving_radius") ? z(e, "norm_conserving_radius") : void 0,
|
|
11411
|
+
ultrasoftCutoffRadius: z(e, "ultrasoft_cutoff_radius"),
|
|
11412
|
+
label: R(e, "label"),
|
|
11413
|
+
beta: U(V(e))
|
|
11410
11414
|
};
|
|
11411
11415
|
}
|
|
11412
|
-
function
|
|
11416
|
+
function wc(e) {
|
|
11413
11417
|
let t = [];
|
|
11414
|
-
for (let [n, r] of Object.entries(e)) (n === "PP_BETA" || n.startsWith("PP_BETA.")) && t.push(...
|
|
11415
|
-
let n =
|
|
11418
|
+
for (let [n, r] of Object.entries(e)) (n === "PP_BETA" || n.startsWith("PP_BETA.")) && t.push(...H(r).map(Cc));
|
|
11419
|
+
let n = V(e.PP_DIJ).trim().split(/\s+/).filter(Boolean).map(F), r = [];
|
|
11416
11420
|
if (n.length > 0) {
|
|
11417
11421
|
let e = t.length;
|
|
11418
11422
|
if (e > 0 && n.length === e * e) for (let t = 0; t < e; t++) for (let i = 0; i < e; i++) r.push([
|
|
@@ -11426,7 +11430,7 @@ function Cc(e) {
|
|
|
11426
11430
|
n[e + 2]
|
|
11427
11431
|
]);
|
|
11428
11432
|
}
|
|
11429
|
-
let i = e.PP_AUGMENTATION ?
|
|
11433
|
+
let i = e.PP_AUGMENTATION ? Tc(e.PP_AUGMENTATION) : void 0;
|
|
11430
11434
|
return {
|
|
11431
11435
|
betas: t,
|
|
11432
11436
|
dij: r,
|
|
@@ -11434,125 +11438,125 @@ function Cc(e) {
|
|
|
11434
11438
|
augmentation: i
|
|
11435
11439
|
};
|
|
11436
11440
|
}
|
|
11437
|
-
function wc(e) {
|
|
11438
|
-
return {
|
|
11439
|
-
qWithL: z(e, "q_with_l") ? _c(e, "q_with_l") : void 0,
|
|
11440
|
-
nqf: z(e, "nqf") ? V(e, "nqf") : void 0,
|
|
11441
|
-
shape: z(e, "shape") || void 0,
|
|
11442
|
-
rMatchAugfun: z(e, "r_match_augfun") ? B(e, "r_match_augfun") : void 0,
|
|
11443
|
-
irc: z(e, "irc") ? V(e, "irc") : void 0,
|
|
11444
|
-
lmaxAug: z(e, "l_max_aug") ? V(e, "l_max_aug") : void 0,
|
|
11445
|
-
q: e.PP_Q ? W(H(e.PP_Q)) : void 0,
|
|
11446
|
-
multipoles: e.PP_MULTIPOLES ? W(H(e.PP_MULTIPOLES)) : void 0,
|
|
11447
|
-
qfcoeff: e.PP_QFCOEFF ? W(H(e.PP_QFCOEFF)) : void 0,
|
|
11448
|
-
rinner: e.PP_RINNER ? W(H(e.PP_RINNER)) : void 0
|
|
11449
|
-
};
|
|
11450
|
-
}
|
|
11451
11441
|
function Tc(e) {
|
|
11452
11442
|
return {
|
|
11453
|
-
|
|
11454
|
-
|
|
11455
|
-
|
|
11456
|
-
|
|
11457
|
-
|
|
11458
|
-
|
|
11459
|
-
|
|
11460
|
-
|
|
11443
|
+
qWithL: R(e, "q_with_l") ? vc(e, "q_with_l") : void 0,
|
|
11444
|
+
nqf: R(e, "nqf") ? B(e, "nqf") : void 0,
|
|
11445
|
+
shape: R(e, "shape") || void 0,
|
|
11446
|
+
rMatchAugfun: R(e, "r_match_augfun") ? z(e, "r_match_augfun") : void 0,
|
|
11447
|
+
irc: R(e, "irc") ? B(e, "irc") : void 0,
|
|
11448
|
+
lmaxAug: R(e, "l_max_aug") ? B(e, "l_max_aug") : void 0,
|
|
11449
|
+
q: e.PP_Q ? U(V(e.PP_Q)) : void 0,
|
|
11450
|
+
multipoles: e.PP_MULTIPOLES ? U(V(e.PP_MULTIPOLES)) : void 0,
|
|
11451
|
+
qfcoeff: e.PP_QFCOEFF ? U(V(e.PP_QFCOEFF)) : void 0,
|
|
11452
|
+
rinner: e.PP_RINNER ? U(V(e.PP_RINNER)) : void 0
|
|
11461
11453
|
};
|
|
11462
11454
|
}
|
|
11463
11455
|
function Ec(e) {
|
|
11464
11456
|
return {
|
|
11465
|
-
l:
|
|
11466
|
-
|
|
11467
|
-
|
|
11457
|
+
l: B(e, "l"),
|
|
11458
|
+
occupation: z(e, "occupation"),
|
|
11459
|
+
label: R(e, "label"),
|
|
11460
|
+
n: R(e, "n") ? B(e, "n") : void 0,
|
|
11461
|
+
pseudoEnergy: R(e, "pseudo_energy") ? z(e, "pseudo_energy") : void 0,
|
|
11462
|
+
cutoffRadius: R(e, "cutoff_radius") ? z(e, "cutoff_radius") : void 0,
|
|
11463
|
+
ultrasoftCutoffRadius: R(e, "ultrasoft_cutoff_radius") ? z(e, "ultrasoft_cutoff_radius") : void 0,
|
|
11464
|
+
chi: U(V(e))
|
|
11468
11465
|
};
|
|
11469
11466
|
}
|
|
11470
11467
|
function Dc(e) {
|
|
11471
11468
|
return {
|
|
11472
|
-
|
|
11473
|
-
|
|
11474
|
-
|
|
11475
|
-
|
|
11476
|
-
|
|
11469
|
+
l: B(e, "l"),
|
|
11470
|
+
label: R(e, "label"),
|
|
11471
|
+
aewfc: U(V(e))
|
|
11472
|
+
};
|
|
11473
|
+
}
|
|
11474
|
+
function Oc(e) {
|
|
11475
|
+
return {
|
|
11476
|
+
pawDataFormat: B(e, "paw_data_format"),
|
|
11477
|
+
coreEnergy: z(e, "core_energy"),
|
|
11478
|
+
occupations: e.PP_OCCUPATIONS ? U(V(e.PP_OCCUPATIONS)) : /* @__PURE__ */ new Float64Array(),
|
|
11479
|
+
aeNlcc: e.PP_AE_NLCC ? U(V(e.PP_AE_NLCC)) : /* @__PURE__ */ new Float64Array(),
|
|
11480
|
+
aeVloc: e.PP_AE_VLOC ? U(V(e.PP_AE_VLOC)) : /* @__PURE__ */ new Float64Array(),
|
|
11477
11481
|
aeWfcs: [],
|
|
11478
11482
|
psWfcs: []
|
|
11479
11483
|
};
|
|
11480
11484
|
}
|
|
11481
|
-
function
|
|
11485
|
+
function kc(e) {
|
|
11482
11486
|
let t = [], n = e.PP_GIPAW_CORE_ORBITALS;
|
|
11483
11487
|
if (n) {
|
|
11484
|
-
for (let [e, r] of Object.entries(n)) if (e.startsWith("PP_GIPAW_CORE_ORBITAL.")) for (let e of
|
|
11485
|
-
n:
|
|
11486
|
-
l:
|
|
11487
|
-
orbital:
|
|
11488
|
+
for (let [e, r] of Object.entries(n)) if (e.startsWith("PP_GIPAW_CORE_ORBITAL.")) for (let e of H(r)) t.push({
|
|
11489
|
+
n: B(e, "n"),
|
|
11490
|
+
l: B(e, "l"),
|
|
11491
|
+
orbital: U(V(e))
|
|
11488
11492
|
});
|
|
11489
11493
|
}
|
|
11490
11494
|
let r = [], i = e.PP_GIPAW_ORBITALS;
|
|
11491
11495
|
if (i) {
|
|
11492
|
-
for (let [e, t] of Object.entries(i)) if (e.startsWith("PP_GIPAW_ORBITAL.")) for (let e of
|
|
11493
|
-
l:
|
|
11494
|
-
label:
|
|
11495
|
-
aeOrbital: e.PP_GIPAW_ORBITAL_AE ?
|
|
11496
|
-
psOrbital: e.PP_GIPAW_ORBITAL_PS ?
|
|
11496
|
+
for (let [e, t] of Object.entries(i)) if (e.startsWith("PP_GIPAW_ORBITAL.")) for (let e of H(t)) r.push({
|
|
11497
|
+
l: B(e, "l"),
|
|
11498
|
+
label: R(e, "label"),
|
|
11499
|
+
aeOrbital: e.PP_GIPAW_ORBITAL_AE ? U(V(e.PP_GIPAW_ORBITAL_AE)) : /* @__PURE__ */ new Float64Array(),
|
|
11500
|
+
psOrbital: e.PP_GIPAW_ORBITAL_PS ? U(V(e.PP_GIPAW_ORBITAL_PS)) : /* @__PURE__ */ new Float64Array()
|
|
11497
11501
|
});
|
|
11498
11502
|
}
|
|
11499
11503
|
let a = /* @__PURE__ */ new Float64Array(), o = /* @__PURE__ */ new Float64Array(), s = e.PP_GIPAW_VLOCAL;
|
|
11500
|
-
return s && (a = s.GIPAW_VLOCAL_AE ?
|
|
11501
|
-
gipawDataFormat:
|
|
11504
|
+
return s && (a = s.GIPAW_VLOCAL_AE ? U(V(s.GIPAW_VLOCAL_AE)) : a, o = s.GIPAW_VLOCAL_PS ? U(V(s.GIPAW_VLOCAL_PS)) : o), {
|
|
11505
|
+
gipawDataFormat: B(e, "gipaw_data_format"),
|
|
11502
11506
|
coreOrbitals: t,
|
|
11503
11507
|
orbitals: r,
|
|
11504
11508
|
vlocAe: a,
|
|
11505
11509
|
vlocPs: o
|
|
11506
11510
|
};
|
|
11507
11511
|
}
|
|
11508
|
-
function
|
|
11512
|
+
function Ac(e) {
|
|
11509
11513
|
let t = [];
|
|
11510
|
-
for (let n of
|
|
11511
|
-
jchi:
|
|
11512
|
-
index:
|
|
11513
|
-
els:
|
|
11514
|
-
nn:
|
|
11515
|
-
lchi:
|
|
11516
|
-
oc:
|
|
11514
|
+
for (let n of H(e.PP_RELWFC)) t.push({
|
|
11515
|
+
jchi: z(n, "jchi"),
|
|
11516
|
+
index: R(n, "index") ? B(n, "index") : void 0,
|
|
11517
|
+
els: R(n, "els") || void 0,
|
|
11518
|
+
nn: R(n, "nn") ? B(n, "nn") : void 0,
|
|
11519
|
+
lchi: R(n, "lchi") ? B(n, "lchi") : void 0,
|
|
11520
|
+
oc: R(n, "oc") ? z(n, "oc") : void 0
|
|
11517
11521
|
});
|
|
11518
11522
|
let n = [];
|
|
11519
|
-
for (let t of
|
|
11520
|
-
jjj:
|
|
11521
|
-
index:
|
|
11522
|
-
lll:
|
|
11523
|
+
for (let t of H(e.PP_RELBETA)) n.push({
|
|
11524
|
+
jjj: z(t, "jjj"),
|
|
11525
|
+
index: R(t, "index") ? B(t, "index") : void 0,
|
|
11526
|
+
lll: R(t, "lll") ? B(t, "lll") : void 0
|
|
11523
11527
|
});
|
|
11524
11528
|
return {
|
|
11525
11529
|
relWfcs: t,
|
|
11526
11530
|
relBetas: n
|
|
11527
11531
|
};
|
|
11528
11532
|
}
|
|
11529
|
-
function
|
|
11530
|
-
let t = new Hs(
|
|
11533
|
+
function jc(e) {
|
|
11534
|
+
let t = new Hs(yc).parse(e)?.UPF;
|
|
11531
11535
|
if (!t) throw Error("Not a UPF file: missing <UPF> root element");
|
|
11532
|
-
let n =
|
|
11536
|
+
let n = R(t, "version") || "2.0.1", r = t.PP_INFO && V(t.PP_INFO).trim() || void 0;
|
|
11533
11537
|
if (!t.PP_HEADER) throw Error("Missing PP_HEADER section");
|
|
11534
|
-
let i =
|
|
11538
|
+
let i = bc(t.PP_HEADER);
|
|
11535
11539
|
if (!t.PP_MESH) throw Error("Missing PP_MESH section");
|
|
11536
|
-
let a =
|
|
11540
|
+
let a = xc(t.PP_MESH), o = t.PP_NLCC ? U(V(t.PP_NLCC)) : void 0;
|
|
11537
11541
|
if (!t.PP_LOCAL) throw Error("Missing PP_LOCAL section");
|
|
11538
|
-
let s =
|
|
11539
|
-
if (t.PP_SEMILOCAL && (c =
|
|
11540
|
-
l:
|
|
11541
|
-
j:
|
|
11542
|
-
vnl:
|
|
11542
|
+
let s = Sc(t.PP_LOCAL), c;
|
|
11543
|
+
if (t.PP_SEMILOCAL && (c = H(t.PP_SEMILOCAL.PP_VNL).map((e) => ({
|
|
11544
|
+
l: B(e, "L"),
|
|
11545
|
+
j: R(e, "J") ? z(e, "J") : void 0,
|
|
11546
|
+
vnl: U(V(e))
|
|
11543
11547
|
}))), !t.PP_NONLOCAL) throw Error("Missing PP_NONLOCAL section");
|
|
11544
|
-
let l =
|
|
11548
|
+
let l = wc(t.PP_NONLOCAL), u = t.PP_PSWFC, d = [];
|
|
11545
11549
|
if (u) {
|
|
11546
|
-
for (let [e, t] of Object.entries(u)) if (e === "PP_CHI" || e.startsWith("PP_CHI.")) for (let e of
|
|
11550
|
+
for (let [e, t] of Object.entries(u)) if (e === "PP_CHI" || e.startsWith("PP_CHI.")) for (let e of H(t)) d.push(Ec(e));
|
|
11547
11551
|
}
|
|
11548
11552
|
let f;
|
|
11549
11553
|
if (t.PP_FULL_WFC) {
|
|
11550
11554
|
let e = [];
|
|
11551
|
-
for (let [n, r] of Object.entries(t.PP_FULL_WFC)) if (n.startsWith("PP_AEWFC")) for (let t of
|
|
11555
|
+
for (let [n, r] of Object.entries(t.PP_FULL_WFC)) if (n.startsWith("PP_AEWFC")) for (let t of H(r)) e.push(Dc(t));
|
|
11552
11556
|
f = e.length > 0 ? e : void 0;
|
|
11553
11557
|
}
|
|
11554
11558
|
if (!t.PP_RHOATOM) throw Error("Missing PP_RHOATOM section");
|
|
11555
|
-
let p =
|
|
11559
|
+
let p = U(V(t.PP_RHOATOM)), m = t.PP_PAW ? Oc(t.PP_PAW) : void 0, h = t.PP_GIPAW ? kc(t.PP_GIPAW) : t.PP_GIPAW_RECONSTRUCTION ? kc(t.PP_GIPAW_RECONSTRUCTION) : void 0, g = t.PP_SPIN_ORB ? Ac(t.PP_SPIN_ORB) : void 0;
|
|
11556
11560
|
return m && f && f.length > 0 && (m.aeWfcs = f), m && d.length > 0 && (m.psWfcs = d.map((e) => ({
|
|
11557
11561
|
l: e.l,
|
|
11558
11562
|
label: e.label ?? "",
|
|
@@ -11574,13 +11578,13 @@ function Ac(e) {
|
|
|
11574
11578
|
spinOrbit: g
|
|
11575
11579
|
};
|
|
11576
11580
|
}
|
|
11577
|
-
function
|
|
11581
|
+
function Mc(e) {
|
|
11578
11582
|
let t = [];
|
|
11579
|
-
t.push(`<UPF version="${e.version}">`), t.push(""), e.info && (t.push("<PP_INFO>"), t.push(e.info), t.push("</PP_INFO>"), t.push("")), t.push("<PP_HEADER"), t.push(` generated="${
|
|
11583
|
+
t.push(`<UPF version="${e.version}">`), t.push(""), e.info && (t.push("<PP_INFO>"), t.push(e.info), t.push("</PP_INFO>"), t.push("")), t.push("<PP_HEADER"), t.push(` generated="${_c(e.header.generated ?? "")}"`), t.push(` author="${_c(e.header.author ?? "")}"`), t.push(` date="${_c(e.header.date ?? "")}"`), t.push(` comment="${_c(e.header.comment ?? "")}"`), t.push(` element="${e.header.element}"`), t.push(` pseudo_type="${e.header.pseudoType}"`), t.push(` relativistic="${e.header.relativistic}"`), t.push(` is_ultrasoft="${gc(e.header.isUltrasoft)}"`), t.push(` is_paw="${gc(e.header.isPaw)}"`), t.push(` is_coulomb="${gc(e.header.isCoulomb)}"`), t.push(` has_so="${gc(e.header.hasSo)}"`), t.push(` has_wfc="${gc(e.header.hasWfc)}"`), t.push(` has_gipaw="${gc(e.header.hasGipaw)}"`), t.push(` paw_as_gipaw="${gc(e.header.pawAsGipaw)}"`), t.push(` core_correction="${gc(e.header.coreCorrection)}"`), t.push(` functional="${e.header.functional}"`), t.push(` z_valence="${I(e.header.zValence)}"`), t.push(` total_psenergy="${I(e.header.totalPsenergy)}"`), t.push(` wfc_cutoff="${I(e.header.wfcCutoff)}"`), t.push(` rho_cutoff="${I(e.header.rhoCutoff)}"`), t.push(` l_max="${e.header.lMax}"`), t.push(` l_max_rho="${e.header.lMaxRho}"`), t.push(` l_local="${e.header.lLocal}"`), t.push(` mesh_size="${e.header.meshSize}"`), t.push(` number_of_wfc="${e.header.numberOfWfc}"`), t.push(` number_of_proj="${e.header.numberOfProj}"/>`), t.push("");
|
|
11580
11584
|
let n = [];
|
|
11581
|
-
if (e.mesh.dx != null && n.push(`dx="${e.mesh.dx}"`), e.mesh.mesh != null && n.push(`mesh="${e.mesh.mesh}"`), e.mesh.xmin != null && n.push(`xmin="${e.mesh.xmin}"`), n.push(`rmax="${e.mesh.rmax}"`), e.mesh.zmesh != null && n.push(`zmesh="${e.mesh.zmesh}"`), t.push(`<PP_MESH ${n.join(" ")}>`), t.push("<PP_R>"), t.push(
|
|
11585
|
+
if (e.mesh.dx != null && n.push(`dx="${e.mesh.dx}"`), e.mesh.mesh != null && n.push(`mesh="${e.mesh.mesh}"`), e.mesh.xmin != null && n.push(`xmin="${e.mesh.xmin}"`), n.push(`rmax="${e.mesh.rmax}"`), e.mesh.zmesh != null && n.push(`zmesh="${e.mesh.zmesh}"`), t.push(`<PP_MESH ${n.join(" ")}>`), t.push("<PP_R>"), t.push(L(e.mesh.r)), t.push("</PP_R>"), t.push("<PP_RAB>"), t.push(L(e.mesh.rab)), t.push("</PP_RAB>"), t.push("</PP_MESH>"), t.push(""), e.nlcc && (t.push("<PP_NLCC>"), t.push(L(e.nlcc)), t.push("</PP_NLCC>"), t.push("")), t.push("<PP_LOCAL>"), t.push(L(e.local.vloc)), t.push("</PP_LOCAL>"), t.push(""), e.semilocal) {
|
|
11582
11586
|
t.push("<PP_SEMILOCAL>");
|
|
11583
|
-
for (let n of e.semilocal) t.push(`<PP_VNL L="${n.l}"${n.j === void 0 ? "" : ` J="${n.j}"`}>`), t.push(
|
|
11587
|
+
for (let n of e.semilocal) t.push(`<PP_VNL L="${n.l}"${n.j === void 0 ? "" : ` J="${n.j}"`}>`), t.push(L(n.vnl)), t.push("</PP_VNL>");
|
|
11584
11588
|
t.push("</PP_SEMILOCAL>"), t.push("");
|
|
11585
11589
|
}
|
|
11586
11590
|
t.push("<PP_NONLOCAL>");
|
|
@@ -11590,13 +11594,13 @@ function jc(e) {
|
|
|
11590
11594
|
`angular_momentum="${r.angularMomentum}"`,
|
|
11591
11595
|
`label="${r.label}"`
|
|
11592
11596
|
];
|
|
11593
|
-
r.cutoffRadiusIndex != null && i.push(`cutoff_radius_index="${r.cutoffRadiusIndex}"`), r.cutoffRadius != null && i.push(`cutoff_radius="${
|
|
11597
|
+
r.cutoffRadiusIndex != null && i.push(`cutoff_radius_index="${r.cutoffRadiusIndex}"`), r.cutoffRadius != null && i.push(`cutoff_radius="${I(r.cutoffRadius)}"`), i.push(`ultrasoft_cutoff_radius="${I(r.ultrasoftCutoffRadius)}"`), t.push(`<PP_BETA ${i.join(" ")}>`), t.push(L(r.beta)), t.push("</PP_BETA>");
|
|
11594
11598
|
}
|
|
11595
11599
|
t.push("<PP_DIJ>");
|
|
11596
|
-
for (let [n, r, i] of e.nonlocal.dij) t.push(`${n} ${r} ${
|
|
11600
|
+
for (let [n, r, i] of e.nonlocal.dij) t.push(`${n} ${r} ${I(i)}`);
|
|
11597
11601
|
if (t.push("</PP_DIJ>"), e.nonlocal.augmentation) {
|
|
11598
11602
|
let n = e.nonlocal.augmentation, r = [];
|
|
11599
|
-
n.qWithL != null && r.push(`q_with_l="${n.qWithL ? "T" : "F"}"`), n.nqf != null && r.push(`nqf="${n.nqf}"`), n.shape != null && r.push(`shape="${n.shape}"`), n.rMatchAugfun != null && r.push(`r_match_augfun="${
|
|
11603
|
+
n.qWithL != null && r.push(`q_with_l="${n.qWithL ? "T" : "F"}"`), n.nqf != null && r.push(`nqf="${n.nqf}"`), n.shape != null && r.push(`shape="${n.shape}"`), n.rMatchAugfun != null && r.push(`r_match_augfun="${I(n.rMatchAugfun)}"`), n.irc != null && r.push(`irc="${n.irc}"`), n.lmaxAug != null && r.push(`l_max_aug="${n.lmaxAug}"`), t.push(`<PP_AUGMENTATION ${r.join(" ")}>`), n.q && (t.push("<PP_Q>"), t.push(L(n.q)), t.push("</PP_Q>")), n.multipoles && (t.push("<PP_MULTIPOLES>"), t.push(L(n.multipoles)), t.push("</PP_MULTIPOLES>")), n.qfcoeff && (t.push("<PP_QFCOEFF>"), t.push(L(n.qfcoeff)), t.push("</PP_QFCOEFF>")), n.rinner && (t.push("<PP_RINNER>"), t.push(L(n.rinner)), t.push("</PP_RINNER>")), t.push("</PP_AUGMENTATION>");
|
|
11600
11604
|
}
|
|
11601
11605
|
if (t.push("</PP_NONLOCAL>"), t.push(""), e.pswfc.length > 0) {
|
|
11602
11606
|
t.push("<PP_PSWFC>");
|
|
@@ -11604,21 +11608,21 @@ function jc(e) {
|
|
|
11604
11608
|
let r = e.pswfc[n], i = [
|
|
11605
11609
|
`index="${n + 1}"`,
|
|
11606
11610
|
`l="${r.l}"`,
|
|
11607
|
-
`occupation="${
|
|
11611
|
+
`occupation="${I(r.occupation)}"`,
|
|
11608
11612
|
`label="${r.label ?? ""}"`
|
|
11609
11613
|
];
|
|
11610
|
-
r.n != null && i.push(`n="${r.n}"`), r.pseudoEnergy != null && i.push(`pseudo_energy="${
|
|
11614
|
+
r.n != null && i.push(`n="${r.n}"`), r.pseudoEnergy != null && i.push(`pseudo_energy="${I(r.pseudoEnergy)}"`), r.cutoffRadius != null && i.push(`cutoff_radius="${I(r.cutoffRadius)}"`), r.ultrasoftCutoffRadius != null && i.push(`ultrasoft_cutoff_radius="${I(r.ultrasoftCutoffRadius)}"`), t.push(`<PP_CHI ${i.join(" ")}>`), t.push(L(r.chi)), t.push("</PP_CHI>");
|
|
11611
11615
|
}
|
|
11612
11616
|
t.push("</PP_PSWFC>"), t.push("");
|
|
11613
11617
|
}
|
|
11614
11618
|
if (e.fullWfc && e.fullWfc.length > 0) {
|
|
11615
11619
|
t.push("<PP_FULL_WFC>");
|
|
11616
|
-
for (let n of e.fullWfc) t.push(`<PP_AEWFC l="${n.l}" label="${n.label}">`), t.push(
|
|
11620
|
+
for (let n of e.fullWfc) t.push(`<PP_AEWFC l="${n.l}" label="${n.label}">`), t.push(L(n.aewfc)), t.push("</PP_AEWFC>");
|
|
11617
11621
|
t.push("</PP_FULL_WFC>"), t.push("");
|
|
11618
11622
|
}
|
|
11619
|
-
if (t.push("<PP_RHOATOM>"), t.push(
|
|
11620
|
-
if (t.push(`<PP_PAW paw_data_format="${e.paw.pawDataFormat}" core_energy="${
|
|
11621
|
-
if (e.paw.psWfcs.length > 0) for (let n of e.paw.psWfcs) t.push(`<PP_PSWFC l="${n.l}" label="${n.label}">`), t.push(
|
|
11623
|
+
if (t.push("<PP_RHOATOM>"), t.push(L(e.rhoatom)), t.push("</PP_RHOATOM>"), t.push(""), e.paw) {
|
|
11624
|
+
if (t.push(`<PP_PAW paw_data_format="${e.paw.pawDataFormat}" core_energy="${I(e.paw.coreEnergy)}">`), e.paw.occupations.length > 0 && (t.push("<PP_OCCUPATIONS>"), t.push(L(e.paw.occupations)), t.push("</PP_OCCUPATIONS>")), e.paw.aeNlcc.length > 0 && (t.push("<PP_AE_NLCC>"), t.push(L(e.paw.aeNlcc)), t.push("</PP_AE_NLCC>")), e.paw.aeVloc.length > 0 && (t.push("<PP_AE_VLOC>"), t.push(L(e.paw.aeVloc)), t.push("</PP_AE_VLOC>")), e.paw.aeWfcs.length > 0) for (let n of e.paw.aeWfcs) t.push(`<PP_AEWFC l="${n.l}" label="${n.label}">`), t.push(L(n.aewfc)), t.push("</PP_AEWFC>");
|
|
11625
|
+
if (e.paw.psWfcs.length > 0) for (let n of e.paw.psWfcs) t.push(`<PP_PSWFC l="${n.l}" label="${n.label}">`), t.push(L(n.aewfc)), t.push("</PP_PSWFC>");
|
|
11622
11626
|
t.push("</PP_PAW>"), t.push("");
|
|
11623
11627
|
}
|
|
11624
11628
|
if (e.gipaw) {
|
|
@@ -11626,7 +11630,7 @@ function jc(e) {
|
|
|
11626
11630
|
t.push(`<PP_GIPAW_CORE_ORBITALS number_of_core_orbitals="${e.gipaw.coreOrbitals.length}">`);
|
|
11627
11631
|
for (let n = 0; n < e.gipaw.coreOrbitals.length; n++) {
|
|
11628
11632
|
let r = e.gipaw.coreOrbitals[n];
|
|
11629
|
-
t.push(`<PP_GIPAW_CORE_ORBITAL.${n + 1} n="${r.n}" l="${r.l}">`), r.orbital.length > 0 && t.push(
|
|
11633
|
+
t.push(`<PP_GIPAW_CORE_ORBITAL.${n + 1} n="${r.n}" l="${r.l}">`), r.orbital.length > 0 && t.push(L(r.orbital)), t.push(`</PP_GIPAW_CORE_ORBITAL.${n + 1}>`);
|
|
11630
11634
|
}
|
|
11631
11635
|
t.push("</PP_GIPAW_CORE_ORBITALS>");
|
|
11632
11636
|
}
|
|
@@ -11634,33 +11638,33 @@ function jc(e) {
|
|
|
11634
11638
|
t.push("<PP_GIPAW_ORBITALS>");
|
|
11635
11639
|
for (let n = 0; n < e.gipaw.orbitals.length; n++) {
|
|
11636
11640
|
let r = e.gipaw.orbitals[n];
|
|
11637
|
-
t.push(`<PP_GIPAW_ORBITAL.${n + 1} l="${r.l}" label="${
|
|
11641
|
+
t.push(`<PP_GIPAW_ORBITAL.${n + 1} l="${r.l}" label="${_c(r.label)}">`), t.push("<PP_GIPAW_ORBITAL_AE>"), t.push(L(r.aeOrbital)), t.push("</PP_GIPAW_ORBITAL_AE>"), t.push("<PP_GIPAW_ORBITAL_PS>"), t.push(L(r.psOrbital)), t.push("</PP_GIPAW_ORBITAL_PS>"), t.push(`</PP_GIPAW_ORBITAL.${n + 1}>`);
|
|
11638
11642
|
}
|
|
11639
11643
|
t.push("</PP_GIPAW_ORBITALS>");
|
|
11640
11644
|
}
|
|
11641
|
-
(e.gipaw.vlocAe.length > 0 || e.gipaw.vlocPs.length > 0) && (t.push("<PP_GIPAW_VLOCAL>"), e.gipaw.vlocAe.length > 0 && (t.push("<GIPAW_VLOCAL_AE>"), t.push(
|
|
11645
|
+
(e.gipaw.vlocAe.length > 0 || e.gipaw.vlocPs.length > 0) && (t.push("<PP_GIPAW_VLOCAL>"), e.gipaw.vlocAe.length > 0 && (t.push("<GIPAW_VLOCAL_AE>"), t.push(L(e.gipaw.vlocAe)), t.push("</GIPAW_VLOCAL_AE>")), e.gipaw.vlocPs.length > 0 && (t.push("<GIPAW_VLOCAL_PS>"), t.push(L(e.gipaw.vlocPs)), t.push("</GIPAW_VLOCAL_PS>")), t.push("</PP_GIPAW_VLOCAL>")), t.push("</PP_GIPAW>"), t.push("");
|
|
11642
11646
|
}
|
|
11643
11647
|
return t.push("</UPF>"), t.join("\n");
|
|
11644
11648
|
}
|
|
11645
11649
|
//#endregion
|
|
11646
11650
|
//#region lib/core/io/pseudo/upf-v1.ts
|
|
11647
|
-
function
|
|
11651
|
+
function Nc(e, t) {
|
|
11648
11652
|
let n = `<${t}>`, r = `</${t}>`, i = e.indexOf(n);
|
|
11649
11653
|
if (i === -1) return null;
|
|
11650
11654
|
let a = e.indexOf(r, i);
|
|
11651
11655
|
return a === -1 ? null : e.substring(i + n.length, a);
|
|
11652
11656
|
}
|
|
11653
|
-
function
|
|
11654
|
-
return
|
|
11657
|
+
function Pc(e, t) {
|
|
11658
|
+
return Nc(e, t);
|
|
11655
11659
|
}
|
|
11656
|
-
function
|
|
11660
|
+
function Fc(e) {
|
|
11657
11661
|
return e.split("\n").filter((e) => e.trim().length > 0);
|
|
11658
11662
|
}
|
|
11659
|
-
function
|
|
11663
|
+
function Ic(e) {
|
|
11660
11664
|
if (!e.trim().split("\n")[0].trim().match(/^(\d+)/)) throw Error("Not a UPF v1 file: first line is not a version number");
|
|
11661
|
-
let t =
|
|
11665
|
+
let t = Nc(e, "PP_HEADER");
|
|
11662
11666
|
if (!t) throw Error("Missing PP_HEADER section");
|
|
11663
|
-
let n =
|
|
11667
|
+
let n = Fc(t), r = "X", i = "NC", a = "", o = 0, s = 0, c = 0, l = 0, u = 0, d = !1;
|
|
11664
11668
|
for (let e of n) {
|
|
11665
11669
|
let t = e.trim(), n = t.match(/^['"]?([A-Z][a-z]?)['"]?(?:\s|$)/);
|
|
11666
11670
|
n && (r = n[1]), (t.includes("'NC'") || t.includes("\"NC\"") || t.includes("NC")) && (i = "NC"), (t.includes("'US'") || t.includes("\"US\"") || t.includes("US")) && (i = "US"), (t.includes("'PAW'") || t.includes("\"PAW\"") || t.includes("PAW")) && (i = "PAW");
|
|
@@ -11675,9 +11679,9 @@ function Fc(e) {
|
|
|
11675
11679
|
let g = t.match(/(\d+)\s+(\d+)\s+(?:nwfc|nbeta)/i);
|
|
11676
11680
|
g && (l = parseInt(g[1]), u = parseInt(g[2])), (t.includes(".true.") || t.includes("T")) && (d = !0);
|
|
11677
11681
|
}
|
|
11678
|
-
let f =
|
|
11682
|
+
let f = Nc(e, "PP_MESH"), p = /* @__PURE__ */ new Float64Array(), m = /* @__PURE__ */ new Float64Array();
|
|
11679
11683
|
if (f) {
|
|
11680
|
-
let e =
|
|
11684
|
+
let e = Pc(f, "PP_R"), t = Pc(f, "PP_RAB");
|
|
11681
11685
|
e && (p = mc(e)), t && (m = mc(t));
|
|
11682
11686
|
}
|
|
11683
11687
|
if (p.length === 0) throw Error("Empty or missing PP_R section");
|
|
@@ -11687,13 +11691,13 @@ function Fc(e) {
|
|
|
11687
11691
|
rmax: p[p.length - 1],
|
|
11688
11692
|
r: p,
|
|
11689
11693
|
rab: m
|
|
11690
|
-
}, g =
|
|
11694
|
+
}, g = Nc(e, "PP_LOCAL");
|
|
11691
11695
|
if (!g) throw Error("Missing PP_LOCAL section");
|
|
11692
|
-
let _ = { vloc: mc(g) }, v =
|
|
11696
|
+
let _ = { vloc: mc(g) }, v = Nc(e, "PP_NONLOCAL"), y = [], b = [];
|
|
11693
11697
|
if (v) {
|
|
11694
11698
|
let e = v.match(/<PP_BETA[^>]*>([\s\S]*?)<\/PP_BETA>/g);
|
|
11695
11699
|
if (e) for (let t of e) {
|
|
11696
|
-
let e =
|
|
11700
|
+
let e = Fc(t.replace(/<\/?PP_BETA[^>]*>/g, ""));
|
|
11697
11701
|
if (e.length >= 2) {
|
|
11698
11702
|
let t = e[0].trim().split(/\s+/), n = t.length >= 2 ? parseInt(t[1]) : 0, r = t.length >= 3 ? t[2].replace(/['"]/g, "") : `l=${n}`, i = e[1].trim().split(/\s+/), a = i.length >= 1 ? parseInt(i[0]) : 0, o = mc(e.slice(1).join("\n").replace(/^\s*\d+\s+/gm, ""));
|
|
11699
11703
|
y.push({
|
|
@@ -11705,9 +11709,9 @@ function Fc(e) {
|
|
|
11705
11709
|
});
|
|
11706
11710
|
}
|
|
11707
11711
|
}
|
|
11708
|
-
let t =
|
|
11712
|
+
let t = Nc(v, "PP_DIJ");
|
|
11709
11713
|
if (t) {
|
|
11710
|
-
let e =
|
|
11714
|
+
let e = Fc(t);
|
|
11711
11715
|
for (let t of e) {
|
|
11712
11716
|
let e = t.trim().split(/\s+/).filter(Boolean);
|
|
11713
11717
|
if (e.length >= 3) {
|
|
@@ -11724,9 +11728,9 @@ function Fc(e) {
|
|
|
11724
11728
|
let x = {
|
|
11725
11729
|
betas: y,
|
|
11726
11730
|
dij: b
|
|
11727
|
-
}, S =
|
|
11731
|
+
}, S = Nc(e, "PP_PSWFC"), C = [];
|
|
11728
11732
|
if (S) {
|
|
11729
|
-
let e =
|
|
11733
|
+
let e = Fc(S), t = 0;
|
|
11730
11734
|
for (; t < e.length;) {
|
|
11731
11735
|
let n = e[t].trim().match(/['"]?(\w+)['"]?\s+(\d+)\s+([\d.]+)/);
|
|
11732
11736
|
if (n) {
|
|
@@ -11744,7 +11748,7 @@ function Fc(e) {
|
|
|
11744
11748
|
} else t++;
|
|
11745
11749
|
}
|
|
11746
11750
|
}
|
|
11747
|
-
let w =
|
|
11751
|
+
let w = Nc(e, "PP_RHOATOM"), T = w ? mc(w) : new Float64Array(c);
|
|
11748
11752
|
return {
|
|
11749
11753
|
format: "UPF1",
|
|
11750
11754
|
version: "1.0.0",
|
|
@@ -11779,56 +11783,56 @@ function Fc(e) {
|
|
|
11779
11783
|
rhoatom: T
|
|
11780
11784
|
};
|
|
11781
11785
|
}
|
|
11782
|
-
function
|
|
11786
|
+
function Lc(e) {
|
|
11783
11787
|
let t = [];
|
|
11784
11788
|
t.push(" 0"), t.push("<PP_HEADER>"), t.push(` '${e.header.element}'`), t.push(` '${e.header.pseudoType}'`), t.push(` ${e.header.coreCorrection ? ".true." : ".false."} nlcc`), t.push(` '${e.header.functional}' dft`), t.push(` ${e.header.zValence.toFixed(8)} zp`), t.push(` ${e.header.totalPsenergy.toFixed(8)} etotps`), t.push(` ${e.header.wfcCutoff.toFixed(2)} ${e.header.rhoCutoff.toFixed(2)} ecutwfc,ecutrho`), t.push(` ${e.header.lMax} 'lmax'`), t.push(` ${e.mesh.r.length} 'mesh'`), t.push(` ${e.pswfc.length} ${e.nonlocal.betas.length} 'nwfc nbeta'`);
|
|
11785
11789
|
for (let n of e.pswfc) t.push(` '${n.label ?? "wfc"}' ${n.l} ${n.occupation.toFixed(4)}`);
|
|
11786
|
-
t.push("</PP_HEADER>"), t.push("<PP_MESH>"), t.push("<PP_R>"), t.push(
|
|
11790
|
+
t.push("</PP_HEADER>"), t.push("<PP_MESH>"), t.push("<PP_R>"), t.push(L(e.mesh.r)), t.push("</PP_R>"), t.push("<PP_RAB>"), t.push(L(e.mesh.rab)), t.push("</PP_RAB>"), t.push("</PP_MESH>"), e.nlcc && (t.push("<PP_NLCC>"), t.push(L(e.nlcc)), t.push("</PP_NLCC>")), t.push("<PP_LOCAL>"), t.push(L(e.local.vloc)), t.push("</PP_LOCAL>"), t.push("<PP_NONLOCAL>");
|
|
11787
11791
|
for (let n = 0; n < e.nonlocal.betas.length; n++) {
|
|
11788
11792
|
let r = e.nonlocal.betas[n];
|
|
11789
|
-
t.push("<PP_BETA>"), t.push(` ${n + 1} ${r.angularMomentum} '${r.label}'`), t.push(` ${e.mesh.r.length}`), t.push(
|
|
11793
|
+
t.push("<PP_BETA>"), t.push(` ${n + 1} ${r.angularMomentum} '${r.label}'`), t.push(` ${e.mesh.r.length}`), t.push(L(r.beta)), t.push("</PP_BETA>");
|
|
11790
11794
|
}
|
|
11791
11795
|
t.push("<PP_DIJ>");
|
|
11792
|
-
for (let [n, r, i] of e.nonlocal.dij) t.push(` ${n} ${r} ${
|
|
11796
|
+
for (let [n, r, i] of e.nonlocal.dij) t.push(` ${n} ${r} ${I(i)}`);
|
|
11793
11797
|
if (t.push("</PP_DIJ>"), t.push("</PP_NONLOCAL>"), e.pswfc.length > 0) {
|
|
11794
11798
|
t.push("<PP_PSWFC>");
|
|
11795
|
-
for (let n of e.pswfc) t.push(` '${n.label ?? "wfc"}' ${n.l} ${n.occupation.toFixed(8)}`), t.push(
|
|
11799
|
+
for (let n of e.pswfc) t.push(` '${n.label ?? "wfc"}' ${n.l} ${n.occupation.toFixed(8)}`), t.push(L(n.chi));
|
|
11796
11800
|
t.push("</PP_PSWFC>");
|
|
11797
11801
|
}
|
|
11798
|
-
return t.push("<PP_RHOATOM>"), t.push(
|
|
11802
|
+
return t.push("<PP_RHOATOM>"), t.push(L(e.rhoatom)), t.push("</PP_RHOATOM>"), t.join("\n");
|
|
11799
11803
|
}
|
|
11800
11804
|
//#endregion
|
|
11801
11805
|
//#region lib/core/io/pseudo/elements.ts
|
|
11802
|
-
var
|
|
11803
|
-
for (let [e, t] of Object.entries(Ln))
|
|
11804
|
-
function
|
|
11806
|
+
var Rc = /* @__PURE__ */ new Map();
|
|
11807
|
+
for (let [e, t] of Object.entries(Ln)) Rc.set(t.symbol, Number(e));
|
|
11808
|
+
function zc(e) {
|
|
11805
11809
|
return Ln[Math.round(e)]?.symbol ?? "X";
|
|
11806
11810
|
}
|
|
11807
|
-
function
|
|
11808
|
-
return
|
|
11811
|
+
function Bc(e) {
|
|
11812
|
+
return Rc.get(e) ?? 0;
|
|
11809
11813
|
}
|
|
11810
11814
|
//#endregion
|
|
11811
11815
|
//#region lib/core/io/pseudo/fhi.ts
|
|
11812
|
-
function
|
|
11816
|
+
function Vc(e) {
|
|
11813
11817
|
let t = e.split("\n").find((e) => e.trim().length > 0);
|
|
11814
11818
|
if (!t) throw Error("FHI file too short to parse");
|
|
11815
|
-
return /^\s*\d/.test(t) ?
|
|
11819
|
+
return /^\s*\d/.test(t) ? Hc(e) : Uc(e);
|
|
11816
11820
|
}
|
|
11817
|
-
function
|
|
11821
|
+
function Hc(e) {
|
|
11818
11822
|
let t = e.split("\n").filter((e) => e.trim().length > 0);
|
|
11819
11823
|
if (t.length < 4) throw Error("FHI file too short to parse");
|
|
11820
|
-
let n = t[0].trim().split(/\s+/), r = F(n[0]), i =
|
|
11824
|
+
let n = t[0].trim().split(/\s+/), r = F(n[0]), i = hc(n[1]), a = i - 1, o = 1;
|
|
11821
11825
|
for (; o < t.length; o++) {
|
|
11822
11826
|
let e = t[o].trim().split(/\s+/).filter(Boolean);
|
|
11823
|
-
if (e.length >= 2 &&
|
|
11827
|
+
if (e.length >= 2 && hc(e[0]) > 0) break;
|
|
11824
11828
|
}
|
|
11825
|
-
let s = t[o].trim().split(/\s+/).filter(Boolean), c =
|
|
11829
|
+
let s = t[o].trim().split(/\s+/).filter(Boolean), c = hc(s[0]), l = F(s[1]), u = [], d = [];
|
|
11826
11830
|
for (let e = 0; e <= a; e++) d.push(new Float64Array(c));
|
|
11827
11831
|
let f = !1, p = [];
|
|
11828
11832
|
for (let e = o + 1; e < t.length && u.length < c; e++) {
|
|
11829
11833
|
let n = t[e].trim().split(/\s+/).filter(Boolean);
|
|
11830
11834
|
if (n.length < 3) continue;
|
|
11831
|
-
|
|
11835
|
+
hc(n[0]);
|
|
11832
11836
|
let r = F(n[1]);
|
|
11833
11837
|
for (let e = 0; e <= a && e + 2 < n.length; e++) d[e][u.length] = F(n[e + 2]);
|
|
11834
11838
|
let o = i + 2;
|
|
@@ -11886,57 +11890,57 @@ function Vc(e) {
|
|
|
11886
11890
|
nlcc: f ? new Float64Array(p) : void 0
|
|
11887
11891
|
};
|
|
11888
11892
|
}
|
|
11889
|
-
function
|
|
11890
|
-
let t = e.split("\n"), n =
|
|
11893
|
+
function Uc(e) {
|
|
11894
|
+
let t = e.split("\n"), n = Hc(t.slice(7).join("\n"));
|
|
11891
11895
|
if (t.length >= 3) {
|
|
11892
11896
|
let e = t[1].trim().split(/\s+/);
|
|
11893
11897
|
if (e.length >= 1) {
|
|
11894
11898
|
let t = parseFloat(e[0]);
|
|
11895
|
-
t > 0 && (n.header.element =
|
|
11899
|
+
t > 0 && (n.header.element = zc(t));
|
|
11896
11900
|
}
|
|
11897
11901
|
e.length >= 2 && (n.header.zValence = parseFloat(e[1]));
|
|
11898
11902
|
let r = t[2].trim().split(/\s+/);
|
|
11899
11903
|
if (r.length >= 3) {
|
|
11900
|
-
let e =
|
|
11904
|
+
let e = hc(r[1]);
|
|
11901
11905
|
n.header.xcCode = e;
|
|
11902
11906
|
}
|
|
11903
11907
|
}
|
|
11904
11908
|
return n;
|
|
11905
11909
|
}
|
|
11906
|
-
function
|
|
11910
|
+
function Wc(e) {
|
|
11907
11911
|
let t = [], n = e.header.lMax + 1, r = e.mesh.r;
|
|
11908
|
-
t.push(`${
|
|
11912
|
+
t.push(`${I(e.header.zValence, 20)} ${n}`);
|
|
11909
11913
|
for (let e = 0; e < 9; e++) t.push(" 0.0000 0.0000 0.0000 0.0000");
|
|
11910
11914
|
let i = e.mesh.dx ?? .01;
|
|
11911
|
-
t.push(`${r.length.toString().padStart(6)} ${
|
|
11915
|
+
t.push(`${r.length.toString().padStart(6)} ${I(i, 20)}`);
|
|
11912
11916
|
for (let n = 0; n < r.length; n++) {
|
|
11913
|
-
let i = [(n + 1).toString().padStart(5),
|
|
11917
|
+
let i = [(n + 1).toString().padStart(5), I(r[n], 20)];
|
|
11914
11918
|
if (e.semilocal && e.semilocal.length > 0) for (let t = 0; t <= e.header.lMax; t++) {
|
|
11915
11919
|
let r = e.semilocal.find((e) => e.l === t);
|
|
11916
|
-
i.push(
|
|
11920
|
+
i.push(I(r ? r.vnl[n] : 0, 20));
|
|
11917
11921
|
}
|
|
11918
|
-
else for (let t = 0; t <= e.header.lMax; t++) i.push(
|
|
11919
|
-
e.nlcc && n < e.nlcc.length && i.push(
|
|
11922
|
+
else for (let t = 0; t <= e.header.lMax; t++) i.push(I(e.local.vloc[n], 20));
|
|
11923
|
+
e.nlcc && n < e.nlcc.length && i.push(I(e.nlcc[n], 20)), t.push(i.join(" "));
|
|
11920
11924
|
}
|
|
11921
11925
|
return t.join("\n");
|
|
11922
11926
|
}
|
|
11923
11927
|
//#endregion
|
|
11924
11928
|
//#region lib/core/io/pseudo/psp8.ts
|
|
11925
|
-
function
|
|
11929
|
+
function Gc(e) {
|
|
11926
11930
|
let t = e.split("\n").filter((e) => e.trim().length > 0);
|
|
11927
11931
|
if (t.length < 6) throw Error("PSP8 file too short to parse");
|
|
11928
|
-
let n = 0, r = t[n++].trim(), i = t[n++].trim().split(/\s+/), a = F(i[0]), o = F(i[1]), s = i.length > 2 ? i[2] : "", c = t[n++].trim().split(/\s+/), l =
|
|
11932
|
+
let n = 0, r = t[n++].trim(), i = t[n++].trim().split(/\s+/), a = F(i[0]), o = F(i[1]), s = i.length > 2 ? i[2] : "", c = t[n++].trim().split(/\s+/), l = hc(c[0]);
|
|
11929
11933
|
if (l !== 8) throw Error(`Expected pspcod=8 for PSP8 format, got ${l}`);
|
|
11930
|
-
let u =
|
|
11934
|
+
let u = hc(c[1]), d = hc(c[2]), f = hc(c[3]), p = hc(c[4]), m = t[n++].trim().split(/\s+/);
|
|
11931
11935
|
F(m[0]);
|
|
11932
11936
|
let h = F(m[1]);
|
|
11933
11937
|
m.length > 2 && F(m[2]);
|
|
11934
11938
|
let g = t[n++].trim().split(/\s+/), _ = [];
|
|
11935
|
-
for (let e = 0; e <= d; e++) _.push(e < g.length ?
|
|
11936
|
-
let v =
|
|
11939
|
+
for (let e = 0; e <= d; e++) _.push(e < g.length ? hc(g[e]) : 0);
|
|
11940
|
+
let v = hc(t[n++].trim()), y = [];
|
|
11937
11941
|
if (v === 2 || v === 3) {
|
|
11938
11942
|
let e = t[n++].trim().split(/\s+/);
|
|
11939
|
-
for (let t = 1; t <= d; t++) y.push(t - 1 < e.length ?
|
|
11943
|
+
for (let t = 1; t <= d; t++) y.push(t - 1 < e.length ? hc(e[t - 1]) : 0);
|
|
11940
11944
|
}
|
|
11941
11945
|
let b = new Float64Array(p);
|
|
11942
11946
|
for (let e = 0; e < p; e++) b[e] = e * (p > 1 ? (b[p - 1] || 1) / (p - 1) : 0);
|
|
@@ -11946,12 +11950,12 @@ function Wc(e) {
|
|
|
11946
11950
|
let e = new Float64Array(p);
|
|
11947
11951
|
for (let r = 0; r < p && n < t.length; r++) {
|
|
11948
11952
|
let i = t[n++].trim().split(/\s+/);
|
|
11949
|
-
i.length >= 3 && (
|
|
11953
|
+
i.length >= 3 && (hc(i[0]), r === 0 && (b[r] = F(i[1])), r > 0 && (b[r] = F(i[1])), e[r] = F(i[2]));
|
|
11950
11954
|
}
|
|
11951
11955
|
S = e;
|
|
11952
11956
|
} else if (_[e] > 0) {
|
|
11953
11957
|
let r = t[n++].trim().split(/\s+/);
|
|
11954
|
-
|
|
11958
|
+
hc(r[0]);
|
|
11955
11959
|
let i = [];
|
|
11956
11960
|
for (let e = 1; e < r.length; e++) i.push(F(r[e]));
|
|
11957
11961
|
C.push(i);
|
|
@@ -12029,7 +12033,7 @@ function Wc(e) {
|
|
|
12029
12033
|
}
|
|
12030
12034
|
A += t;
|
|
12031
12035
|
}
|
|
12032
|
-
let ee =
|
|
12036
|
+
let ee = zc(a), te = qc(u);
|
|
12033
12037
|
return {
|
|
12034
12038
|
format: "PSP8",
|
|
12035
12039
|
version: "2.0.1",
|
|
@@ -12072,10 +12076,10 @@ function Wc(e) {
|
|
|
12072
12076
|
nlcc: w
|
|
12073
12077
|
};
|
|
12074
12078
|
}
|
|
12075
|
-
function
|
|
12079
|
+
function Kc(e) {
|
|
12076
12080
|
let t = [], n = e.header.lMax, r = e.mesh.r.length, i = e.header.lLocal ?? 0, a = Array(n + 1).fill(0);
|
|
12077
12081
|
for (let t of e.nonlocal.betas) t.angularMomentum <= n && a[t.angularMomentum]++;
|
|
12078
|
-
let o =
|
|
12082
|
+
let o = Bc(e.header.element);
|
|
12079
12083
|
t.push(e.header.generated ?? `${e.header.element} ${e.header.functional}`);
|
|
12080
12084
|
let s = e.header.date ?? "000000";
|
|
12081
12085
|
t.push(`${o.toFixed(4).padStart(12)} ${e.header.zValence.toFixed(4).padStart(12)} ${s.padStart(8)}`), t.push(` 8 ${e.header.xcCode ?? 0} ${n} ${i} ${r} 0`);
|
|
@@ -12088,21 +12092,21 @@ function Gc(e) {
|
|
|
12088
12092
|
let n = u + t, r = l.find(([e, t]) => e === n && t === n);
|
|
12089
12093
|
return r ? r[2] : 1;
|
|
12090
12094
|
});
|
|
12091
|
-
t.push(` ${o} ${c.map((e) =>
|
|
12095
|
+
t.push(` ${o} ${c.map((e) => I(e)).join(" ")}`);
|
|
12092
12096
|
for (let n = 0; n < r; n++) {
|
|
12093
|
-
let r = [(n + 1).toString().padStart(5),
|
|
12094
|
-
for (let e of s) r.push(
|
|
12097
|
+
let r = [(n + 1).toString().padStart(5), I(e.mesh.r[n])];
|
|
12098
|
+
for (let e of s) r.push(I(e.beta[n] ?? 0));
|
|
12095
12099
|
t.push(r.join(" "));
|
|
12096
12100
|
}
|
|
12097
12101
|
u += s.length;
|
|
12098
12102
|
}
|
|
12099
12103
|
t.push(` ${i}`);
|
|
12100
|
-
for (let n = 0; n < r; n++) t.push(`${(n + 1).toString().padStart(5)} ${
|
|
12101
|
-
if (e.nlcc) for (let n = 0; n < r; n++) t.push(`${(n + 1).toString().padStart(5)} ${
|
|
12102
|
-
if (e.header.extensionSwitch === 1 || e.header.extensionSwitch === 3) for (let n = 0; n < r; n++) t.push(`${(n + 1).toString().padStart(5)} ${
|
|
12104
|
+
for (let n = 0; n < r; n++) t.push(`${(n + 1).toString().padStart(5)} ${I(e.mesh.r[n])} ${I(e.local.vloc[n])}`);
|
|
12105
|
+
if (e.nlcc) for (let n = 0; n < r; n++) t.push(`${(n + 1).toString().padStart(5)} ${I(e.mesh.r[n])} ${I(e.nlcc[n])}`);
|
|
12106
|
+
if (e.header.extensionSwitch === 1 || e.header.extensionSwitch === 3) for (let n = 0; n < r; n++) t.push(`${(n + 1).toString().padStart(5)} ${I(e.mesh.r[n])} ${I(e.rhoatom[n])}`);
|
|
12103
12107
|
return t.join("\n");
|
|
12104
12108
|
}
|
|
12105
|
-
function
|
|
12109
|
+
function qc(e) {
|
|
12106
12110
|
return {
|
|
12107
12111
|
1: "LDA (PW)",
|
|
12108
12112
|
2: "LDA (PW92)",
|
|
@@ -12114,16 +12118,16 @@ function Kc(e) {
|
|
|
12114
12118
|
}
|
|
12115
12119
|
//#endregion
|
|
12116
12120
|
//#region lib/core/io/pseudo/psml.ts
|
|
12117
|
-
var
|
|
12118
|
-
function
|
|
12121
|
+
var Jc = "http://esl.cecam.org/PSML/ns/1.2";
|
|
12122
|
+
function Yc(e) {
|
|
12119
12123
|
let t = e.indexOf(":");
|
|
12120
12124
|
return t >= 0 ? e.substring(t + 1) : e;
|
|
12121
12125
|
}
|
|
12122
|
-
var
|
|
12126
|
+
var Xc = new Hs({
|
|
12123
12127
|
ignoreAttributes: !1,
|
|
12124
12128
|
attributeNamePrefix: "@_",
|
|
12125
12129
|
isArray: (e) => {
|
|
12126
|
-
let t =
|
|
12130
|
+
let t = Yc(e);
|
|
12127
12131
|
return t === "provenance" || t === "slps" || t === "proj" || t === "pswf" || t === "shell" || t === "functional";
|
|
12128
12132
|
}
|
|
12129
12133
|
});
|
|
@@ -12133,24 +12137,24 @@ new fc({
|
|
|
12133
12137
|
format: !0,
|
|
12134
12138
|
suppressBooleanAttributes: !1
|
|
12135
12139
|
});
|
|
12136
|
-
function
|
|
12137
|
-
let t =
|
|
12140
|
+
function Zc(e) {
|
|
12141
|
+
let t = Xc.parse(e), n = t.psml ?? t[`${Jc}:psml`] ?? t, r = n.provenance, i;
|
|
12138
12142
|
if (r) {
|
|
12139
|
-
let e =
|
|
12143
|
+
let e = H(r);
|
|
12140
12144
|
if (e.length > 0) {
|
|
12141
12145
|
let t = e[0];
|
|
12142
12146
|
i = {
|
|
12143
|
-
creator:
|
|
12144
|
-
date:
|
|
12147
|
+
creator: R(t, "creator"),
|
|
12148
|
+
date: R(t, "date")
|
|
12145
12149
|
};
|
|
12146
12150
|
}
|
|
12147
12151
|
}
|
|
12148
|
-
let a = n["pseudo-atom-spec"] ?? {}, o =
|
|
12149
|
-
u && (d =
|
|
12152
|
+
let a = n["pseudo-atom-spec"] ?? {}, o = R(a, "atomic-label") || zc(B(a, "atomic-number")), s = z(a, "z-pseudo"), c = R(a, "relativity") || "scalar", l = R(a, "core-corrections") === "yes", u = a["exchange-correlation"]?.["libxc-info"], d = "";
|
|
12153
|
+
u && (d = H(u.functional).map((e) => R(e, "name")).join("+"));
|
|
12150
12154
|
let f = n.grid, p = /* @__PURE__ */ new Float64Array();
|
|
12151
12155
|
if (f) {
|
|
12152
12156
|
let e = f["grid-data"];
|
|
12153
|
-
e && (p = mc(
|
|
12157
|
+
e && (p = mc(V(e)));
|
|
12154
12158
|
}
|
|
12155
12159
|
if (p.length === 0) throw Error("Missing or empty grid in PSML file");
|
|
12156
12160
|
let m = new Float64Array(p.length);
|
|
@@ -12164,26 +12168,26 @@ function Xc(e) {
|
|
|
12164
12168
|
}, g = n["local-potential"], _ = new Float64Array(p.length);
|
|
12165
12169
|
if (g) {
|
|
12166
12170
|
let e = g.radfunc?.data;
|
|
12167
|
-
e && (_ = mc(
|
|
12171
|
+
e && (_ = mc(V(e)));
|
|
12168
12172
|
}
|
|
12169
|
-
let v = n["semilocal-potentials"], y = [], b =
|
|
12173
|
+
let v = n["semilocal-potentials"], y = [], b = H(v);
|
|
12170
12174
|
if (b.length > 0) {
|
|
12171
|
-
let e =
|
|
12175
|
+
let e = H(b[0].slps);
|
|
12172
12176
|
for (let t of e) {
|
|
12173
|
-
let e =
|
|
12177
|
+
let e = $c(R(t, "l")), n = t.radfunc?.data, r = n ? mc(V(n)) : new Float64Array(p.length);
|
|
12174
12178
|
y.push({
|
|
12175
12179
|
l: e,
|
|
12176
12180
|
vnl: r
|
|
12177
12181
|
});
|
|
12178
12182
|
}
|
|
12179
12183
|
}
|
|
12180
|
-
let x = n["nonlocal-projectors"], S = [], C =
|
|
12184
|
+
let x = n["nonlocal-projectors"], S = [], C = H(x);
|
|
12181
12185
|
if (C.length > 0) {
|
|
12182
|
-
let e =
|
|
12186
|
+
let e = H(C[0].proj);
|
|
12183
12187
|
for (let t of e) {
|
|
12184
|
-
let e =
|
|
12185
|
-
|
|
12186
|
-
let n = t.radfunc?.data, r = n ? mc(
|
|
12188
|
+
let e = $c(R(t, "l"));
|
|
12189
|
+
z(t, "ekb");
|
|
12190
|
+
let n = t.radfunc?.data, r = n ? mc(V(n)) : new Float64Array(p.length);
|
|
12187
12191
|
S.push({
|
|
12188
12192
|
angularMomentum: e,
|
|
12189
12193
|
ultrasoftCutoffRadius: 0,
|
|
@@ -12192,11 +12196,11 @@ function Xc(e) {
|
|
|
12192
12196
|
});
|
|
12193
12197
|
}
|
|
12194
12198
|
}
|
|
12195
|
-
let w = [], T =
|
|
12199
|
+
let w = [], T = H(x);
|
|
12196
12200
|
if (T.length > 0) {
|
|
12197
|
-
let e =
|
|
12201
|
+
let e = H(T[0].proj), t = 1;
|
|
12198
12202
|
for (let n of e) {
|
|
12199
|
-
let e =
|
|
12203
|
+
let e = z(n, "ekb");
|
|
12200
12204
|
w.push([
|
|
12201
12205
|
t,
|
|
12202
12206
|
t,
|
|
@@ -12204,11 +12208,11 @@ function Xc(e) {
|
|
|
12204
12208
|
]), t++;
|
|
12205
12209
|
}
|
|
12206
12210
|
}
|
|
12207
|
-
let E =
|
|
12211
|
+
let E = H(n["pseudo-wave-functions"]), D = [];
|
|
12208
12212
|
if (E.length > 0) {
|
|
12209
|
-
let e =
|
|
12213
|
+
let e = H(E[0].pswf);
|
|
12210
12214
|
for (let t of e) {
|
|
12211
|
-
let e =
|
|
12215
|
+
let e = $c(R(t, "l")), n = B(t, "n"), r = t.radfunc?.data, i = r ? mc(V(r)) : new Float64Array(p.length);
|
|
12212
12216
|
D.push({
|
|
12213
12217
|
l: e,
|
|
12214
12218
|
occupation: 0,
|
|
@@ -12221,12 +12225,12 @@ function Xc(e) {
|
|
|
12221
12225
|
let O = n["valence-charge"], k = new Float64Array(p.length);
|
|
12222
12226
|
if (O) {
|
|
12223
12227
|
let e = O.radfunc?.data;
|
|
12224
|
-
e && (k = mc(
|
|
12228
|
+
e && (k = mc(V(e)));
|
|
12225
12229
|
}
|
|
12226
12230
|
let A = n["pseudocore-charge"], j;
|
|
12227
12231
|
if (A) {
|
|
12228
12232
|
let e = A.radfunc?.data;
|
|
12229
|
-
e && (j = mc(
|
|
12233
|
+
e && (j = mc(V(e)));
|
|
12230
12234
|
}
|
|
12231
12235
|
return {
|
|
12232
12236
|
format: "PSML",
|
|
@@ -12268,15 +12272,15 @@ function Xc(e) {
|
|
|
12268
12272
|
nlcc: j
|
|
12269
12273
|
};
|
|
12270
12274
|
}
|
|
12271
|
-
function
|
|
12275
|
+
function Qc(e) {
|
|
12272
12276
|
let t = e.mesh.r, n = t.length, r = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
|
|
12273
12277
|
if (r += "<psml version=\"1.2\" energy_unit=\"hartree\" length_unit=\"bohr\" uuid=\"matsci-parse\">\n", e.provenance) {
|
|
12274
12278
|
let t = e.provenance.creator ?? "matsci-parse", n = e.provenance.date ?? (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
|
|
12275
12279
|
r += ` <provenance creator="${t}" date="${n}">\n`, r += " <annotation type=\"generated-by\" value=\"matsci-parse pseudopotential library\" />\n", r += " </provenance>\n";
|
|
12276
12280
|
}
|
|
12277
|
-
if (r += ` <pseudo-atom-spec atomic-label="${e.header.element}" atomic-number="${
|
|
12281
|
+
if (r += ` <pseudo-atom-spec atomic-label="${e.header.element}" atomic-number="${Bc(e.header.element)}" z-pseudo="${e.header.zValence}" relativity="${e.header.relativistic}" core-corrections="${e.header.coreCorrection ? "yes" : "no"}">\n`, e.header.functional && (r += " <exchange-correlation>\n", r += " <libxc-info number-of-functionals=\"0\">\n", r += ` <functional name="${e.header.functional}" />\n`, r += " </libxc-info>\n", r += " </exchange-correlation>\n"), r += " </pseudo-atom-spec>\n", r += ` <grid npts="${n}">\n`, r += " <grid-data>\n", r += ` ${Array.from(t).map((e) => I(e).trim()).join(" ")}\n`, r += " </grid-data>\n", r += " </grid>\n", r += " <local-potential>\n", r += " <radfunc>\n", r += ` <data npts="${n}">\n`, r += ` ${L(e.local.vloc)}\n`, r += " </data>\n", r += " </radfunc>\n", r += " </local-potential>\n", e.semilocal && e.semilocal.length > 0) {
|
|
12278
12282
|
r += " <semilocal-potentials set=\"scalar_relativistic\">\n";
|
|
12279
|
-
for (let t of e.semilocal) r += ` <slps l="${
|
|
12283
|
+
for (let t of e.semilocal) r += ` <slps l="${el(t.l)}" n="${t.l + 1}" rc="0">\n`, r += " <radfunc>\n", r += ` <data npts="${n}">${L(t.vnl)}</data>\n`, r += " </radfunc>\n", r += " </slps>\n";
|
|
12280
12284
|
r += " </semilocal-potentials>\n";
|
|
12281
12285
|
}
|
|
12282
12286
|
if (e.nonlocal.betas.length > 0) {
|
|
@@ -12284,18 +12288,18 @@ function Zc(e) {
|
|
|
12284
12288
|
let t = 1;
|
|
12285
12289
|
for (let i of e.nonlocal.betas) {
|
|
12286
12290
|
let a = e.nonlocal.dij.find(([e]) => e === t), o = a ? a[2] : 1;
|
|
12287
|
-
r += ` <proj l="${
|
|
12291
|
+
r += ` <proj l="${el(i.angularMomentum)}" seq="${t}" ekb="${I(o).trim()}" type="kb">\n`, r += " <radfunc>\n", r += ` <data npts="${n}">${L(i.beta)}</data>\n`, r += " </radfunc>\n", r += " </proj>\n", t++;
|
|
12288
12292
|
}
|
|
12289
12293
|
r += " </nonlocal-projectors>\n";
|
|
12290
12294
|
}
|
|
12291
12295
|
if (e.pswfc.length > 0) {
|
|
12292
12296
|
r += " <pseudo-wave-functions set=\"pseudo\">\n";
|
|
12293
|
-
for (let t of e.pswfc) r += ` <pswf l="${
|
|
12297
|
+
for (let t of e.pswfc) r += ` <pswf l="${el(t.l)}" n="${t.n ?? t.l + 1}">\n`, r += " <radfunc>\n", r += ` <data npts="${n}">${L(t.chi)}</data>\n`, r += " </radfunc>\n", r += " </pswf>\n";
|
|
12294
12298
|
r += " </pseudo-wave-functions>\n";
|
|
12295
12299
|
}
|
|
12296
|
-
return e.rhoatom.length > 0 && (r += ` <valence-charge total-charge="${e.header.zValence}">\n`, r += " <radfunc>\n", r += ` <data npts="${n}">${
|
|
12300
|
+
return e.rhoatom.length > 0 && (r += ` <valence-charge total-charge="${e.header.zValence}">\n`, r += " <radfunc>\n", r += ` <data npts="${n}">${L(e.rhoatom)}</data>\n`, r += " </radfunc>\n", r += " </valence-charge>\n"), e.nlcc && e.nlcc.length > 0 && (r += " <pseudocore-charge>\n", r += " <radfunc>\n", r += ` <data npts="${e.nlcc.length}">${L(e.nlcc)}</data>\n`, r += " </radfunc>\n", r += " </pseudocore-charge>\n"), r += "</psml>\n", r;
|
|
12297
12301
|
}
|
|
12298
|
-
function
|
|
12302
|
+
function $c(e) {
|
|
12299
12303
|
return {
|
|
12300
12304
|
s: 0,
|
|
12301
12305
|
p: 1,
|
|
@@ -12304,12 +12308,12 @@ function Qc(e) {
|
|
|
12304
12308
|
g: 4
|
|
12305
12309
|
}[e.toLowerCase()] ?? 0;
|
|
12306
12310
|
}
|
|
12307
|
-
function
|
|
12311
|
+
function el(e) {
|
|
12308
12312
|
return String.fromCharCode(115 + e);
|
|
12309
12313
|
}
|
|
12310
12314
|
//#endregion
|
|
12311
12315
|
//#region lib/core/io/pseudo/gth.ts
|
|
12312
|
-
function
|
|
12316
|
+
function tl(e) {
|
|
12313
12317
|
let t = [], n = e.split("\n"), r = 0;
|
|
12314
12318
|
for (; r < n.length;) {
|
|
12315
12319
|
let e = n[r].trim();
|
|
@@ -12356,7 +12360,7 @@ function el(e) {
|
|
|
12356
12360
|
}
|
|
12357
12361
|
return t;
|
|
12358
12362
|
}
|
|
12359
|
-
function
|
|
12363
|
+
function nl(e, t, n, r) {
|
|
12360
12364
|
let i = new Float64Array(e.length), a = [
|
|
12361
12365
|
0,
|
|
12362
12366
|
0,
|
|
@@ -12370,33 +12374,33 @@ function tl(e, t, n, r) {
|
|
|
12370
12374
|
i[r] = -2 * t / (Math.sqrt(2 * Math.PI) * n) + a[0];
|
|
12371
12375
|
continue;
|
|
12372
12376
|
}
|
|
12373
|
-
let s = o / n, c = s * s, l =
|
|
12377
|
+
let s = o / n, c = s * s, l = sl(o / (Math.sqrt(2) * n)), u = Math.exp(-c / 2), d = -t / o * l, f = u * (a[0] + a[1] * c + a[2] * c * c + a[3] * c * c * c);
|
|
12374
12378
|
i[r] = d + f;
|
|
12375
12379
|
}
|
|
12376
12380
|
return i;
|
|
12377
12381
|
}
|
|
12378
|
-
function
|
|
12379
|
-
let i = new Float64Array(e.length), a = t + 2 * (n + 1) - 1, o = Math.sqrt(2) * (2 / (r * r)) ** (a + .5) / Math.sqrt(
|
|
12382
|
+
function rl(e, t, n, r) {
|
|
12383
|
+
let i = new Float64Array(e.length), a = t + 2 * (n + 1) - 1, o = Math.sqrt(2) * (2 / (r * r)) ** (a + .5) / Math.sqrt(cl(a + .5));
|
|
12380
12384
|
for (let t = 0; t < e.length; t++) {
|
|
12381
12385
|
let n = e[t];
|
|
12382
12386
|
n < 1e-15 ? i[t] = a === 0 ? o : 0 : i[t] = o * n ** +a * Math.exp(-n * n / (2 * r * r));
|
|
12383
12387
|
}
|
|
12384
12388
|
return i;
|
|
12385
12389
|
}
|
|
12386
|
-
function
|
|
12387
|
-
let t =
|
|
12390
|
+
function il(e) {
|
|
12391
|
+
let t = tl(e);
|
|
12388
12392
|
if (t.length === 0) throw Error("No GTH entries found in file");
|
|
12389
|
-
return
|
|
12393
|
+
return al(t[0]);
|
|
12390
12394
|
}
|
|
12391
|
-
function
|
|
12395
|
+
function al(e) {
|
|
12392
12396
|
let t = e.nElec.reduce((e, t) => e + t, 0), n = e.channels.length > 0 ? e.channels.length - 1 : 0, r = /* @__PURE__ */ new Float64Array(500), i = /* @__PURE__ */ new Float64Array(500), a = Math.log(20) / 499;
|
|
12393
12397
|
for (let e = 0; e < 500; e++) r[e] = Math.exp(a * e), i[e] = r[e] * a;
|
|
12394
12398
|
r[0] = r[1] * .01, i[0] = r[0] * a;
|
|
12395
|
-
let o =
|
|
12399
|
+
let o = nl(r, t, e.rLoc, e.cexpPpl), s = [], c = [], l = 1;
|
|
12396
12400
|
for (let t = 0; t < e.channels.length; t++) {
|
|
12397
12401
|
let n = e.channels[t];
|
|
12398
12402
|
for (let e = 0; e < n.nprjPpnl; e++) {
|
|
12399
|
-
let i =
|
|
12403
|
+
let i = rl(r, t, e, n.r);
|
|
12400
12404
|
s.push({
|
|
12401
12405
|
angularMomentum: t,
|
|
12402
12406
|
ultrasoftCutoffRadius: 0,
|
|
@@ -12462,7 +12466,7 @@ function il(e) {
|
|
|
12462
12466
|
gth: u
|
|
12463
12467
|
};
|
|
12464
12468
|
}
|
|
12465
|
-
function
|
|
12469
|
+
function ol(e) {
|
|
12466
12470
|
if (!e.gth) throw Error("Pseudopotential does not have GTH analytical parameters");
|
|
12467
12471
|
let t = [], n = e.gth;
|
|
12468
12472
|
t.push(`# ${e.header.element} ${e.header.functional}`), t.push("# Element symbol Name of the potential Alias names"), t.push("# n_elec(s) n_elec(p) n_elec(d) ..."), t.push("# r_loc nexp_ppl cexp_ppl(1) ... cexp_ppl(nexp_ppl)"), t.push("# nprj"), t.push(`${e.header.element} ${e.header.functional}`);
|
|
@@ -12473,23 +12477,23 @@ function al(e) {
|
|
|
12473
12477
|
for (let t of e.nonlocal.betas) r[t.angularMomentum] = Math.max(r[t.angularMomentum], 1);
|
|
12474
12478
|
r[0] === 0 && (r[0] = Math.round(e.header.zValence));
|
|
12475
12479
|
}
|
|
12476
|
-
t.push(r.join(" ")), t.push(`${
|
|
12480
|
+
t.push(r.join(" ")), t.push(`${I(n.rLoc)} ${n.cexpPpl.length} ${n.cexpPpl.map((e) => I(e)).join(" ")}`), t.push(`${n.rPs.length}`);
|
|
12477
12481
|
for (let e = 0; e < n.hprj.length; e++) {
|
|
12478
12482
|
let r = n.hprj[e], i = r.length;
|
|
12479
|
-
t.push(`${
|
|
12483
|
+
t.push(`${I(n.rPs[e])} ${i}`);
|
|
12480
12484
|
for (let e = 0; e < i; e++) for (let n = e; n < i; n++) {
|
|
12481
12485
|
let i = r[e]?.[n] ?? 0;
|
|
12482
|
-
t.push(
|
|
12486
|
+
t.push(I(i));
|
|
12483
12487
|
}
|
|
12484
12488
|
}
|
|
12485
12489
|
return t.join("\n");
|
|
12486
12490
|
}
|
|
12487
|
-
function
|
|
12491
|
+
function sl(e) {
|
|
12488
12492
|
let t = e >= 0 ? 1 : -1, n = Math.abs(e), r = 1 / (1 + .3275911 * n);
|
|
12489
12493
|
return t * (1 - ((((1.061405429 * r + -1.453152027) * r + 1.421413741) * r + -.284496736) * r + .254829592) * r * Math.exp(-n * n));
|
|
12490
12494
|
}
|
|
12491
|
-
function
|
|
12492
|
-
if (e < .5) return Math.PI / (Math.sin(Math.PI * e) *
|
|
12495
|
+
function cl(e) {
|
|
12496
|
+
if (e < .5) return Math.PI / (Math.sin(Math.PI * e) * cl(1 - e));
|
|
12493
12497
|
--e;
|
|
12494
12498
|
let t = [
|
|
12495
12499
|
.9999999999998099,
|
|
@@ -12508,7 +12512,7 @@ function sl(e) {
|
|
|
12508
12512
|
}
|
|
12509
12513
|
//#endregion
|
|
12510
12514
|
//#region lib/core/io/json.ts
|
|
12511
|
-
function
|
|
12515
|
+
function ll(e) {
|
|
12512
12516
|
return {
|
|
12513
12517
|
lattice: Array.from(e.lattice.basis.data),
|
|
12514
12518
|
sites: e.sites.map((e) => ({
|
|
@@ -12517,7 +12521,7 @@ function cl(e) {
|
|
|
12517
12521
|
}))
|
|
12518
12522
|
};
|
|
12519
12523
|
}
|
|
12520
|
-
function
|
|
12524
|
+
function ul(e) {
|
|
12521
12525
|
return {
|
|
12522
12526
|
lattice: d(e.lattice),
|
|
12523
12527
|
sites: e.sites.map((e) => ({
|
|
@@ -12528,18 +12532,18 @@ function ll(e) {
|
|
|
12528
12532
|
}
|
|
12529
12533
|
//#endregion
|
|
12530
12534
|
//#region lib/core/io/ase.ts
|
|
12531
|
-
function
|
|
12535
|
+
function dl(e) {
|
|
12532
12536
|
return e.__ndarray__[2];
|
|
12533
12537
|
}
|
|
12534
|
-
function
|
|
12538
|
+
function fl(e, t, n) {
|
|
12535
12539
|
return { __ndarray__: [
|
|
12536
12540
|
e,
|
|
12537
12541
|
t,
|
|
12538
12542
|
n
|
|
12539
12543
|
] };
|
|
12540
12544
|
}
|
|
12541
|
-
function
|
|
12542
|
-
let t =
|
|
12545
|
+
function pl(e) {
|
|
12546
|
+
let t = dl(e.cell), n = d(new Float64Array(t)), r = dl(e.positions), i = dl(e.numbers), a = i.length, o = Array(a);
|
|
12543
12547
|
for (let e = 0; e < a; e++) {
|
|
12544
12548
|
let t = i[e], a = Vn.get(t);
|
|
12545
12549
|
if (a === void 0) throw Error(`Unknown atomic number ${t}`);
|
|
@@ -12556,14 +12560,14 @@ function fl(e) {
|
|
|
12556
12560
|
let s = {
|
|
12557
12561
|
lattice: n,
|
|
12558
12562
|
sites: o
|
|
12559
|
-
}, c =
|
|
12563
|
+
}, c = dl(e.pbc);
|
|
12560
12564
|
return c.some((e) => !e) && (s.pbc = [
|
|
12561
12565
|
c[0],
|
|
12562
12566
|
c[1],
|
|
12563
12567
|
c[2]
|
|
12564
12568
|
]), s;
|
|
12565
12569
|
}
|
|
12566
|
-
function
|
|
12570
|
+
function ml(e) {
|
|
12567
12571
|
let t = e.lattice.basis.data, n = e.sites.length, r = Array(n * 3), i = Array(n);
|
|
12568
12572
|
for (let t = 0; t < n; t++) {
|
|
12569
12573
|
let n = e.sites[t], a = ue(e.lattice, n);
|
|
@@ -12578,23 +12582,23 @@ function pl(e) {
|
|
|
12578
12582
|
!0
|
|
12579
12583
|
];
|
|
12580
12584
|
return {
|
|
12581
|
-
numbers:
|
|
12582
|
-
positions:
|
|
12583
|
-
cell:
|
|
12584
|
-
pbc:
|
|
12585
|
+
numbers: fl([n], "int64", i),
|
|
12586
|
+
positions: fl([n, 3], "float64", r),
|
|
12587
|
+
cell: fl([3, 3], "float64", Array.from(t)),
|
|
12588
|
+
pbc: fl([3], "bool", a),
|
|
12585
12589
|
__ase_objtype__: "atoms"
|
|
12586
12590
|
};
|
|
12587
12591
|
}
|
|
12588
12592
|
//#endregion
|
|
12589
12593
|
//#region lib/core/io/pymatgen.ts
|
|
12590
|
-
function
|
|
12594
|
+
function hl(e) {
|
|
12591
12595
|
let t = [];
|
|
12592
12596
|
for (let n of e) for (let e of n) t.push(e);
|
|
12593
12597
|
return t;
|
|
12594
12598
|
}
|
|
12595
|
-
function
|
|
12599
|
+
function gl(e) {
|
|
12596
12600
|
let t = {
|
|
12597
|
-
lattice: d(new Float64Array(
|
|
12601
|
+
lattice: d(new Float64Array(hl(e.lattice.matrix))),
|
|
12598
12602
|
sites: e.sites.map((e) => {
|
|
12599
12603
|
let t = e.species[0];
|
|
12600
12604
|
if (t === void 0) throw Error("Site has no species");
|
|
@@ -12613,7 +12617,7 @@ function hl(e) {
|
|
|
12613
12617
|
};
|
|
12614
12618
|
return e.charge !== void 0 && (t.charge = e.charge), e.properties !== void 0 && (t.properties = e.properties), t;
|
|
12615
12619
|
}
|
|
12616
|
-
function
|
|
12620
|
+
function _l(e) {
|
|
12617
12621
|
let t = e.lattice.basis.data, n = [
|
|
12618
12622
|
[
|
|
12619
12623
|
t[0],
|
|
@@ -12668,45 +12672,45 @@ function gl(e) {
|
|
|
12668
12672
|
}
|
|
12669
12673
|
//#endregion
|
|
12670
12674
|
//#region lib/core/units/energy.ts
|
|
12671
|
-
var
|
|
12675
|
+
var vl = {
|
|
12672
12676
|
eV: 1,
|
|
12673
12677
|
Hartree: 27.2114,
|
|
12674
12678
|
Rydberg: 13.6057,
|
|
12675
12679
|
"kJ/mol": .0103643,
|
|
12676
12680
|
"kcal/mol": .0433641
|
|
12677
|
-
},
|
|
12681
|
+
}, yl = {
|
|
12678
12682
|
Ha: "Hartree",
|
|
12679
12683
|
Ry: "Rydberg",
|
|
12680
12684
|
ev: "eV",
|
|
12681
12685
|
electronvolt: "eV"
|
|
12682
|
-
},
|
|
12683
|
-
conversions:
|
|
12684
|
-
aliases:
|
|
12686
|
+
}, bl = {
|
|
12687
|
+
conversions: vl,
|
|
12688
|
+
aliases: yl,
|
|
12685
12689
|
convert(e, t, n) {
|
|
12686
|
-
return Rr(e, t, n,
|
|
12690
|
+
return Rr(e, t, n, vl, yl);
|
|
12687
12691
|
},
|
|
12688
12692
|
convertArray(e, t, n) {
|
|
12689
|
-
return zr(e, t, n,
|
|
12693
|
+
return zr(e, t, n, vl, yl);
|
|
12690
12694
|
}
|
|
12691
|
-
},
|
|
12695
|
+
}, xl = {
|
|
12692
12696
|
rad: 1,
|
|
12693
12697
|
deg: Math.PI / 180,
|
|
12694
12698
|
grad: Math.PI / 200
|
|
12695
|
-
},
|
|
12699
|
+
}, Sl = {
|
|
12696
12700
|
"°": "deg",
|
|
12697
12701
|
deg: "deg",
|
|
12698
12702
|
rad: "rad",
|
|
12699
12703
|
gon: "grad"
|
|
12700
|
-
},
|
|
12701
|
-
conversions:
|
|
12702
|
-
aliases:
|
|
12704
|
+
}, Cl = {
|
|
12705
|
+
conversions: xl,
|
|
12706
|
+
aliases: Sl,
|
|
12703
12707
|
convert(e, t, n) {
|
|
12704
|
-
return Rr(e, t, n,
|
|
12708
|
+
return Rr(e, t, n, xl, Sl);
|
|
12705
12709
|
},
|
|
12706
12710
|
convertArray(e, t, n) {
|
|
12707
|
-
return zr(e, t, n,
|
|
12711
|
+
return zr(e, t, n, xl, Sl);
|
|
12708
12712
|
}
|
|
12709
|
-
},
|
|
12713
|
+
}, wl = {
|
|
12710
12714
|
1: [1],
|
|
12711
12715
|
2: [2],
|
|
12712
12716
|
3: [
|
|
@@ -13327,8 +13331,8 @@ var _l = {
|
|
|
13327
13331
|
228: [527, 528],
|
|
13328
13332
|
229: [529],
|
|
13329
13333
|
230: [530]
|
|
13330
|
-
},
|
|
13331
|
-
function
|
|
13334
|
+
}, Tl = 2 * 2 ** -52;
|
|
13335
|
+
function El() {
|
|
13332
13336
|
return [
|
|
13333
13337
|
[
|
|
13334
13338
|
1,
|
|
@@ -13347,7 +13351,7 @@ function Tl() {
|
|
|
13347
13351
|
]
|
|
13348
13352
|
];
|
|
13349
13353
|
}
|
|
13350
|
-
function
|
|
13354
|
+
function Dl() {
|
|
13351
13355
|
return [
|
|
13352
13356
|
[
|
|
13353
13357
|
-1,
|
|
@@ -13366,7 +13370,7 @@ function El() {
|
|
|
13366
13370
|
]
|
|
13367
13371
|
];
|
|
13368
13372
|
}
|
|
13369
|
-
function
|
|
13373
|
+
function Ol(e, t) {
|
|
13370
13374
|
let [n, r, i] = e, a = Math.sqrt(n * n + r * r + i * i), o = t / 2, s = Math.sin(o) / a, c = Math.cos(o), l = s * n, u = s * r, d = s * i, f = [
|
|
13371
13375
|
[
|
|
13372
13376
|
1 - 2 * (u * u + d * d),
|
|
@@ -13384,11 +13388,11 @@ function Dl(e, t) {
|
|
|
13384
13388
|
1 - 2 * (l * l + u * u)
|
|
13385
13389
|
]
|
|
13386
13390
|
];
|
|
13387
|
-
for (let e = 0; e < 3; e++) for (let t = 0; t < 3; t++) Math.abs(f[e][t]) <
|
|
13391
|
+
for (let e = 0; e < 3; e++) for (let t = 0; t < 3; t++) Math.abs(f[e][t]) < Tl && (f[e][t] = 0);
|
|
13388
13392
|
return f;
|
|
13389
13393
|
}
|
|
13390
|
-
function
|
|
13391
|
-
let n =
|
|
13394
|
+
function kl(e, t) {
|
|
13395
|
+
let n = Ol(e, t + Math.PI);
|
|
13392
13396
|
return [
|
|
13393
13397
|
[
|
|
13394
13398
|
-n[0][0],
|
|
@@ -13407,18 +13411,18 @@ function Ol(e, t) {
|
|
|
13407
13411
|
]
|
|
13408
13412
|
];
|
|
13409
13413
|
}
|
|
13410
|
-
function
|
|
13414
|
+
function Al(e) {
|
|
13411
13415
|
switch (e.type) {
|
|
13412
|
-
case "I": return
|
|
13413
|
-
case "-I": return
|
|
13414
|
-
case "R": return
|
|
13415
|
-
case "S": return
|
|
13416
|
+
case "I": return El();
|
|
13417
|
+
case "-I": return Dl();
|
|
13418
|
+
case "R": return Ol(e.axis, e.angle);
|
|
13419
|
+
case "S": return kl(e.axis, e.angle);
|
|
13416
13420
|
}
|
|
13417
13421
|
}
|
|
13418
|
-
function
|
|
13419
|
-
return e.map(
|
|
13422
|
+
function jl(e) {
|
|
13423
|
+
return e.map(Al);
|
|
13420
13424
|
}
|
|
13421
|
-
var
|
|
13425
|
+
var W = { type: "I" }, Ml = { type: "-I" }, G = (e) => ({
|
|
13422
13426
|
type: "R",
|
|
13423
13427
|
axis: [
|
|
13424
13428
|
0,
|
|
@@ -13426,7 +13430,7 @@ var G = { type: "I" }, jl = { type: "-I" }, K = (e) => ({
|
|
|
13426
13430
|
1
|
|
13427
13431
|
],
|
|
13428
13432
|
angle: e
|
|
13429
|
-
}),
|
|
13433
|
+
}), Nl = (e) => ({
|
|
13430
13434
|
type: "R",
|
|
13431
13435
|
axis: [
|
|
13432
13436
|
1,
|
|
@@ -13434,7 +13438,7 @@ var G = { type: "I" }, jl = { type: "-I" }, K = (e) => ({
|
|
|
13434
13438
|
0
|
|
13435
13439
|
],
|
|
13436
13440
|
angle: e
|
|
13437
|
-
}),
|
|
13441
|
+
}), Pl = (e) => ({
|
|
13438
13442
|
type: "R",
|
|
13439
13443
|
axis: [
|
|
13440
13444
|
0,
|
|
@@ -13442,11 +13446,11 @@ var G = { type: "I" }, jl = { type: "-I" }, K = (e) => ({
|
|
|
13442
13446
|
0
|
|
13443
13447
|
],
|
|
13444
13448
|
angle: e
|
|
13445
|
-
}),
|
|
13449
|
+
}), K = (e, t) => ({
|
|
13446
13450
|
type: "R",
|
|
13447
13451
|
axis: e,
|
|
13448
13452
|
angle: t
|
|
13449
|
-
}),
|
|
13453
|
+
}), Fl = (e) => ({
|
|
13450
13454
|
type: "S",
|
|
13451
13455
|
axis: [
|
|
13452
13456
|
1,
|
|
@@ -13454,7 +13458,7 @@ var G = { type: "I" }, jl = { type: "-I" }, K = (e) => ({
|
|
|
13454
13458
|
0
|
|
13455
13459
|
],
|
|
13456
13460
|
angle: e
|
|
13457
|
-
}),
|
|
13461
|
+
}), Il = (e) => ({
|
|
13458
13462
|
type: "S",
|
|
13459
13463
|
axis: [
|
|
13460
13464
|
0,
|
|
@@ -13462,7 +13466,7 @@ var G = { type: "I" }, jl = { type: "-I" }, K = (e) => ({
|
|
|
13462
13466
|
0
|
|
13463
13467
|
],
|
|
13464
13468
|
angle: e
|
|
13465
|
-
}),
|
|
13469
|
+
}), q = (e) => ({
|
|
13466
13470
|
type: "S",
|
|
13467
13471
|
axis: [
|
|
13468
13472
|
0,
|
|
@@ -13470,37 +13474,37 @@ var G = { type: "I" }, jl = { type: "-I" }, K = (e) => ({
|
|
|
13470
13474
|
1
|
|
13471
13475
|
],
|
|
13472
13476
|
angle: e
|
|
13473
|
-
}),
|
|
13477
|
+
}), J = (e, t) => ({
|
|
13474
13478
|
type: "S",
|
|
13475
13479
|
axis: e,
|
|
13476
13480
|
angle: t
|
|
13477
|
-
}),
|
|
13481
|
+
}), Ll = Math.sqrt(3), Rl = [
|
|
13478
13482
|
-1,
|
|
13479
|
-
|
|
13483
|
+
Ll,
|
|
13480
13484
|
0
|
|
13481
|
-
],
|
|
13485
|
+
], zl = [
|
|
13482
13486
|
-1,
|
|
13483
|
-
-
|
|
13487
|
+
-Ll,
|
|
13484
13488
|
0
|
|
13485
|
-
],
|
|
13486
|
-
|
|
13489
|
+
], Bl = [
|
|
13490
|
+
Ll,
|
|
13487
13491
|
1,
|
|
13488
13492
|
0
|
|
13489
|
-
],
|
|
13490
|
-
|
|
13493
|
+
], Vl = [
|
|
13494
|
+
Ll,
|
|
13491
13495
|
-1,
|
|
13492
13496
|
0
|
|
13493
|
-
],
|
|
13497
|
+
], Hl = [
|
|
13494
13498
|
1,
|
|
13495
13499
|
1,
|
|
13496
13500
|
0
|
|
13497
|
-
],
|
|
13501
|
+
], Ul = [
|
|
13498
13502
|
1,
|
|
13499
13503
|
-1,
|
|
13500
13504
|
0
|
|
13501
|
-
],
|
|
13502
|
-
|
|
13503
|
-
var Wl = 2 *
|
|
13505
|
+
], Y = Math.PI, X = Y / 2, Z = Y / 3;
|
|
13506
|
+
Y / 6;
|
|
13507
|
+
var Wl = 2 * Y / 3, Gl = -(2 * Y) / 3, Kl = -Y / 3, Q = [-.5, Ll / 2], $ = [-.5, -Ll / 2], ql = [0, 1], Jl = [0, -1], Yl = [
|
|
13504
13508
|
{
|
|
13505
13509
|
internationalNumber: 0,
|
|
13506
13510
|
hmSymbol: "",
|
|
@@ -13668,7 +13672,7 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13668
13672
|
}
|
|
13669
13673
|
], Xl = {
|
|
13670
13674
|
C1: {
|
|
13671
|
-
classes: { 0: [
|
|
13675
|
+
classes: { 0: [W] },
|
|
13672
13676
|
characterTable: { A: [1] },
|
|
13673
13677
|
raman: ["A"],
|
|
13674
13678
|
infrared: ["A"],
|
|
@@ -13681,8 +13685,8 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13681
13685
|
},
|
|
13682
13686
|
Ci: {
|
|
13683
13687
|
classes: {
|
|
13684
|
-
0: [
|
|
13685
|
-
1: [
|
|
13688
|
+
0: [W],
|
|
13689
|
+
1: [Ml]
|
|
13686
13690
|
},
|
|
13687
13691
|
characterTable: {
|
|
13688
13692
|
Ag: [1, 1],
|
|
@@ -13699,8 +13703,8 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13699
13703
|
},
|
|
13700
13704
|
C2: {
|
|
13701
13705
|
classes: {
|
|
13702
|
-
0: [
|
|
13703
|
-
1: [
|
|
13706
|
+
0: [W],
|
|
13707
|
+
1: [G(Y)]
|
|
13704
13708
|
},
|
|
13705
13709
|
characterTable: {
|
|
13706
13710
|
A: [1, 1],
|
|
@@ -13717,8 +13721,8 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13717
13721
|
},
|
|
13718
13722
|
Cs: {
|
|
13719
13723
|
classes: {
|
|
13720
|
-
0: [
|
|
13721
|
-
1: [
|
|
13724
|
+
0: [W],
|
|
13725
|
+
1: [q(0)]
|
|
13722
13726
|
},
|
|
13723
13727
|
characterTable: {
|
|
13724
13728
|
"A'": [1, 1],
|
|
@@ -13735,10 +13739,10 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13735
13739
|
},
|
|
13736
13740
|
C2h: {
|
|
13737
13741
|
classes: {
|
|
13738
|
-
0: [
|
|
13739
|
-
1: [
|
|
13740
|
-
2: [
|
|
13741
|
-
3: [
|
|
13742
|
+
0: [W],
|
|
13743
|
+
1: [G(Y)],
|
|
13744
|
+
2: [Ml],
|
|
13745
|
+
3: [q(0)]
|
|
13742
13746
|
},
|
|
13743
13747
|
characterTable: {
|
|
13744
13748
|
Ag: [
|
|
@@ -13777,10 +13781,10 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13777
13781
|
},
|
|
13778
13782
|
D2: {
|
|
13779
13783
|
classes: {
|
|
13780
|
-
0: [
|
|
13781
|
-
1: [
|
|
13782
|
-
2: [
|
|
13783
|
-
3: [
|
|
13784
|
+
0: [W],
|
|
13785
|
+
1: [G(Y)],
|
|
13786
|
+
2: [Pl(Y)],
|
|
13787
|
+
3: [Nl(Y)]
|
|
13784
13788
|
},
|
|
13785
13789
|
characterTable: {
|
|
13786
13790
|
A: [
|
|
@@ -13828,10 +13832,10 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13828
13832
|
},
|
|
13829
13833
|
C2v: {
|
|
13830
13834
|
classes: {
|
|
13831
|
-
0: [
|
|
13832
|
-
1: [
|
|
13833
|
-
2: [
|
|
13834
|
-
3: [
|
|
13835
|
+
0: [W],
|
|
13836
|
+
1: [G(Y)],
|
|
13837
|
+
2: [Il(0)],
|
|
13838
|
+
3: [Fl(0)]
|
|
13835
13839
|
},
|
|
13836
13840
|
characterTable: {
|
|
13837
13841
|
A1: [
|
|
@@ -13879,14 +13883,14 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13879
13883
|
},
|
|
13880
13884
|
D2h: {
|
|
13881
13885
|
classes: {
|
|
13882
|
-
0: [
|
|
13883
|
-
1: [
|
|
13884
|
-
2: [
|
|
13885
|
-
3: [
|
|
13886
|
-
4: [
|
|
13887
|
-
5: [
|
|
13888
|
-
6: [
|
|
13889
|
-
7: [
|
|
13886
|
+
0: [W],
|
|
13887
|
+
1: [G(Y)],
|
|
13888
|
+
2: [Pl(Y)],
|
|
13889
|
+
3: [Nl(Y)],
|
|
13890
|
+
4: [Ml],
|
|
13891
|
+
5: [q(0)],
|
|
13892
|
+
6: [Il(0)],
|
|
13893
|
+
7: [Fl(0)]
|
|
13890
13894
|
},
|
|
13891
13895
|
characterTable: {
|
|
13892
13896
|
Ag: [
|
|
@@ -13990,10 +13994,10 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
13990
13994
|
},
|
|
13991
13995
|
C4: {
|
|
13992
13996
|
classes: {
|
|
13993
|
-
0: [
|
|
13994
|
-
1: [
|
|
13995
|
-
2: [
|
|
13996
|
-
3: [
|
|
13997
|
+
0: [W],
|
|
13998
|
+
1: [G(Y)],
|
|
13999
|
+
2: [G(X)],
|
|
14000
|
+
3: [G(-X)]
|
|
13997
14001
|
},
|
|
13998
14002
|
characterTable: {
|
|
13999
14003
|
A: [
|
|
@@ -14051,10 +14055,10 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14051
14055
|
},
|
|
14052
14056
|
S4: {
|
|
14053
14057
|
classes: {
|
|
14054
|
-
0: [
|
|
14055
|
-
1: [
|
|
14056
|
-
2: [
|
|
14057
|
-
3: [
|
|
14058
|
+
0: [W],
|
|
14059
|
+
1: [G(Y)],
|
|
14060
|
+
2: [q(X)],
|
|
14061
|
+
3: [q(-X)]
|
|
14058
14062
|
},
|
|
14059
14063
|
characterTable: {
|
|
14060
14064
|
A: [
|
|
@@ -14112,14 +14116,14 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14112
14116
|
},
|
|
14113
14117
|
C4h: {
|
|
14114
14118
|
classes: {
|
|
14115
|
-
0: [
|
|
14116
|
-
1: [
|
|
14117
|
-
2: [
|
|
14118
|
-
3: [
|
|
14119
|
-
4: [
|
|
14120
|
-
5: [
|
|
14121
|
-
6: [
|
|
14122
|
-
7: [
|
|
14119
|
+
0: [W],
|
|
14120
|
+
1: [G(Y)],
|
|
14121
|
+
2: [G(X)],
|
|
14122
|
+
3: [G(-X)],
|
|
14123
|
+
4: [Ml],
|
|
14124
|
+
5: [q(0)],
|
|
14125
|
+
6: [q(-X)],
|
|
14126
|
+
7: [q(X)]
|
|
14123
14127
|
},
|
|
14124
14128
|
characterTable: {
|
|
14125
14129
|
Ag: [
|
|
@@ -14233,11 +14237,11 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14233
14237
|
},
|
|
14234
14238
|
D4: {
|
|
14235
14239
|
classes: {
|
|
14236
|
-
0: [
|
|
14237
|
-
1: [
|
|
14238
|
-
2: [
|
|
14239
|
-
3: [
|
|
14240
|
-
4: [
|
|
14240
|
+
0: [W],
|
|
14241
|
+
1: [G(Y)],
|
|
14242
|
+
2: [G(X), G(-X)],
|
|
14243
|
+
3: [Nl(Y), Pl(Y)],
|
|
14244
|
+
4: [K(Hl, Y), K(Ul, Y)]
|
|
14241
14245
|
},
|
|
14242
14246
|
characterTable: {
|
|
14243
14247
|
A1: [
|
|
@@ -14304,11 +14308,11 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14304
14308
|
},
|
|
14305
14309
|
C4v: {
|
|
14306
14310
|
classes: {
|
|
14307
|
-
0: [
|
|
14308
|
-
1: [
|
|
14309
|
-
2: [
|
|
14310
|
-
3: [
|
|
14311
|
-
4: [
|
|
14311
|
+
0: [W],
|
|
14312
|
+
1: [G(Y)],
|
|
14313
|
+
2: [G(X), G(-X)],
|
|
14314
|
+
3: [Fl(0), Il(0)],
|
|
14315
|
+
4: [J(Hl, 0), J(Ul, 0)]
|
|
14312
14316
|
},
|
|
14313
14317
|
characterTable: {
|
|
14314
14318
|
A1: [
|
|
@@ -14375,11 +14379,11 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14375
14379
|
},
|
|
14376
14380
|
D2d: {
|
|
14377
14381
|
classes: {
|
|
14378
|
-
0: [
|
|
14379
|
-
1: [
|
|
14380
|
-
2: [
|
|
14381
|
-
3: [
|
|
14382
|
-
4: [
|
|
14382
|
+
0: [W],
|
|
14383
|
+
1: [G(Y)],
|
|
14384
|
+
2: [q(X), q(-X)],
|
|
14385
|
+
3: [Nl(Y), Pl(Y)],
|
|
14386
|
+
4: [J(Hl, 0), J(Ul, 0)]
|
|
14383
14387
|
},
|
|
14384
14388
|
characterTable: {
|
|
14385
14389
|
A1: [
|
|
@@ -14446,16 +14450,16 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14446
14450
|
},
|
|
14447
14451
|
D4h: {
|
|
14448
14452
|
classes: {
|
|
14449
|
-
0: [
|
|
14450
|
-
1: [
|
|
14451
|
-
2: [
|
|
14452
|
-
3: [
|
|
14453
|
-
4: [
|
|
14454
|
-
5: [
|
|
14455
|
-
6: [
|
|
14456
|
-
7: [
|
|
14457
|
-
8: [
|
|
14458
|
-
9: [
|
|
14453
|
+
0: [W],
|
|
14454
|
+
1: [G(Y)],
|
|
14455
|
+
2: [G(X), G(-X)],
|
|
14456
|
+
3: [Nl(Y), Pl(Y)],
|
|
14457
|
+
4: [K(Hl, Y), K(Ul, Y)],
|
|
14458
|
+
5: [Ml],
|
|
14459
|
+
6: [q(0)],
|
|
14460
|
+
7: [q(X), q(-X)],
|
|
14461
|
+
8: [Fl(0), Il(0)],
|
|
14462
|
+
9: [J(Hl, 0), J(Ul, 0)]
|
|
14459
14463
|
},
|
|
14460
14464
|
characterTable: {
|
|
14461
14465
|
A1g: [
|
|
@@ -14607,9 +14611,9 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14607
14611
|
},
|
|
14608
14612
|
C3: {
|
|
14609
14613
|
classes: {
|
|
14610
|
-
0: [
|
|
14611
|
-
1: [
|
|
14612
|
-
2: [
|
|
14614
|
+
0: [W],
|
|
14615
|
+
1: [G(Wl)],
|
|
14616
|
+
2: [G(Gl)]
|
|
14613
14617
|
},
|
|
14614
14618
|
characterTable: {
|
|
14615
14619
|
A: [
|
|
@@ -14659,12 +14663,12 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14659
14663
|
},
|
|
14660
14664
|
C3i: {
|
|
14661
14665
|
classes: {
|
|
14662
|
-
0: [
|
|
14663
|
-
1: [
|
|
14664
|
-
2: [
|
|
14665
|
-
3: [
|
|
14666
|
-
4: [
|
|
14667
|
-
5: [
|
|
14666
|
+
0: [W],
|
|
14667
|
+
1: [G(Wl)],
|
|
14668
|
+
2: [G(Gl)],
|
|
14669
|
+
3: [Ml],
|
|
14670
|
+
4: [q(Kl)],
|
|
14671
|
+
5: [q(Z)]
|
|
14668
14672
|
},
|
|
14669
14673
|
characterTable: {
|
|
14670
14674
|
Ag: [
|
|
@@ -14747,12 +14751,12 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14747
14751
|
},
|
|
14748
14752
|
D3: {
|
|
14749
14753
|
classes: {
|
|
14750
|
-
0: [
|
|
14751
|
-
1: [
|
|
14754
|
+
0: [W],
|
|
14755
|
+
1: [G(Wl), G(Gl)],
|
|
14752
14756
|
2: [
|
|
14753
|
-
|
|
14754
|
-
|
|
14755
|
-
|
|
14757
|
+
Nl(Y),
|
|
14758
|
+
K(Rl, Y),
|
|
14759
|
+
K(zl, Y)
|
|
14756
14760
|
]
|
|
14757
14761
|
},
|
|
14758
14762
|
characterTable: {
|
|
@@ -14783,12 +14787,12 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14783
14787
|
},
|
|
14784
14788
|
C3v: {
|
|
14785
14789
|
classes: {
|
|
14786
|
-
0: [
|
|
14787
|
-
1: [
|
|
14790
|
+
0: [W],
|
|
14791
|
+
1: [G(Wl), G(Gl)],
|
|
14788
14792
|
2: [
|
|
14789
|
-
|
|
14790
|
-
|
|
14791
|
-
|
|
14793
|
+
Fl(0),
|
|
14794
|
+
J(Rl, 0),
|
|
14795
|
+
J(zl, 0)
|
|
14792
14796
|
]
|
|
14793
14797
|
},
|
|
14794
14798
|
characterTable: {
|
|
@@ -14819,19 +14823,19 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14819
14823
|
},
|
|
14820
14824
|
D3d: {
|
|
14821
14825
|
classes: {
|
|
14822
|
-
0: [
|
|
14823
|
-
1: [
|
|
14826
|
+
0: [W],
|
|
14827
|
+
1: [G(Wl), G(Gl)],
|
|
14824
14828
|
2: [
|
|
14825
|
-
|
|
14826
|
-
|
|
14827
|
-
|
|
14829
|
+
Nl(Y),
|
|
14830
|
+
K(Rl, Y),
|
|
14831
|
+
K(zl, Y)
|
|
14828
14832
|
],
|
|
14829
|
-
3: [
|
|
14830
|
-
4: [
|
|
14833
|
+
3: [Ml],
|
|
14834
|
+
4: [q(Kl), q(Z)],
|
|
14831
14835
|
5: [
|
|
14832
|
-
|
|
14833
|
-
|
|
14834
|
-
|
|
14836
|
+
Fl(0),
|
|
14837
|
+
J(Rl, 0),
|
|
14838
|
+
J(zl, 0)
|
|
14835
14839
|
]
|
|
14836
14840
|
},
|
|
14837
14841
|
characterTable: {
|
|
@@ -14895,12 +14899,12 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14895
14899
|
},
|
|
14896
14900
|
C6: {
|
|
14897
14901
|
classes: {
|
|
14898
|
-
0: [
|
|
14899
|
-
1: [
|
|
14900
|
-
2: [
|
|
14901
|
-
3: [
|
|
14902
|
-
4: [
|
|
14903
|
-
5: [
|
|
14902
|
+
0: [W],
|
|
14903
|
+
1: [G(Z)],
|
|
14904
|
+
2: [G(Wl)],
|
|
14905
|
+
3: [G(Y)],
|
|
14906
|
+
4: [G(Gl)],
|
|
14907
|
+
5: [G(-Z)]
|
|
14904
14908
|
},
|
|
14905
14909
|
characterTable: {
|
|
14906
14910
|
A: [
|
|
@@ -14989,12 +14993,12 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
14989
14993
|
},
|
|
14990
14994
|
C3h: {
|
|
14991
14995
|
classes: {
|
|
14992
|
-
0: [
|
|
14993
|
-
1: [
|
|
14994
|
-
2: [
|
|
14995
|
-
3: [
|
|
14996
|
-
4: [
|
|
14997
|
-
5: [
|
|
14996
|
+
0: [W],
|
|
14997
|
+
1: [G(Wl)],
|
|
14998
|
+
2: [G(Gl)],
|
|
14999
|
+
3: [q(0)],
|
|
15000
|
+
4: [q(Gl)],
|
|
15001
|
+
5: [q(Wl)]
|
|
14998
15002
|
},
|
|
14999
15003
|
characterTable: {
|
|
15000
15004
|
"A'": [
|
|
@@ -15083,18 +15087,18 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
15083
15087
|
},
|
|
15084
15088
|
C6h: {
|
|
15085
15089
|
classes: {
|
|
15086
|
-
0: [
|
|
15087
|
-
1: [
|
|
15088
|
-
2: [
|
|
15089
|
-
3: [
|
|
15090
|
-
4: [
|
|
15091
|
-
5: [
|
|
15092
|
-
6: [
|
|
15093
|
-
7: [
|
|
15094
|
-
8: [
|
|
15095
|
-
9: [
|
|
15096
|
-
10: [
|
|
15097
|
-
11: [
|
|
15090
|
+
0: [W],
|
|
15091
|
+
1: [G(Z)],
|
|
15092
|
+
2: [G(Wl)],
|
|
15093
|
+
3: [G(Y)],
|
|
15094
|
+
4: [G(Gl)],
|
|
15095
|
+
5: [G(-Z)],
|
|
15096
|
+
6: [Ml],
|
|
15097
|
+
7: [q(Gl)],
|
|
15098
|
+
8: [q(-Z)],
|
|
15099
|
+
9: [q(0)],
|
|
15100
|
+
10: [q(Z)],
|
|
15101
|
+
11: [q(Wl)]
|
|
15098
15102
|
},
|
|
15099
15103
|
characterTable: {
|
|
15100
15104
|
Ag: [
|
|
@@ -15303,19 +15307,19 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
15303
15307
|
},
|
|
15304
15308
|
D6: {
|
|
15305
15309
|
classes: {
|
|
15306
|
-
0: [
|
|
15307
|
-
1: [
|
|
15308
|
-
2: [
|
|
15309
|
-
3: [
|
|
15310
|
+
0: [W],
|
|
15311
|
+
1: [G(Y)],
|
|
15312
|
+
2: [G(Wl), G(Gl)],
|
|
15313
|
+
3: [G(Z), G(-Z)],
|
|
15310
15314
|
4: [
|
|
15311
|
-
|
|
15312
|
-
|
|
15313
|
-
|
|
15315
|
+
Nl(Y),
|
|
15316
|
+
K(Rl, Y),
|
|
15317
|
+
K(zl, Y)
|
|
15314
15318
|
],
|
|
15315
15319
|
5: [
|
|
15316
|
-
|
|
15317
|
-
|
|
15318
|
-
|
|
15320
|
+
Pl(Y),
|
|
15321
|
+
K(Bl, Y),
|
|
15322
|
+
K(Vl, Y)
|
|
15319
15323
|
]
|
|
15320
15324
|
},
|
|
15321
15325
|
characterTable: {
|
|
@@ -15391,19 +15395,19 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
15391
15395
|
},
|
|
15392
15396
|
C6v: {
|
|
15393
15397
|
classes: {
|
|
15394
|
-
0: [
|
|
15395
|
-
1: [
|
|
15396
|
-
2: [
|
|
15397
|
-
3: [
|
|
15398
|
+
0: [W],
|
|
15399
|
+
1: [G(Y)],
|
|
15400
|
+
2: [G(Wl), G(Gl)],
|
|
15401
|
+
3: [G(Z), G(-Z)],
|
|
15398
15402
|
4: [
|
|
15399
|
-
|
|
15400
|
-
|
|
15401
|
-
|
|
15403
|
+
Fl(0),
|
|
15404
|
+
J(Rl, 0),
|
|
15405
|
+
J(zl, 0)
|
|
15402
15406
|
],
|
|
15403
15407
|
5: [
|
|
15404
|
-
|
|
15405
|
-
|
|
15406
|
-
|
|
15408
|
+
Il(0),
|
|
15409
|
+
J(Bl, 0),
|
|
15410
|
+
J(Vl, 0)
|
|
15407
15411
|
]
|
|
15408
15412
|
},
|
|
15409
15413
|
characterTable: {
|
|
@@ -15479,19 +15483,19 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
15479
15483
|
},
|
|
15480
15484
|
D3h: {
|
|
15481
15485
|
classes: {
|
|
15482
|
-
0: [
|
|
15483
|
-
1: [
|
|
15484
|
-
2: [
|
|
15485
|
-
3: [
|
|
15486
|
+
0: [W],
|
|
15487
|
+
1: [q(0)],
|
|
15488
|
+
2: [G(Wl), G(Gl)],
|
|
15489
|
+
3: [q(Wl), q(Gl)],
|
|
15486
15490
|
4: [
|
|
15487
|
-
|
|
15488
|
-
|
|
15489
|
-
|
|
15491
|
+
Nl(Y),
|
|
15492
|
+
K(Rl, Y),
|
|
15493
|
+
K(zl, Y)
|
|
15490
15494
|
],
|
|
15491
15495
|
5: [
|
|
15492
|
-
|
|
15493
|
-
|
|
15494
|
-
|
|
15496
|
+
Il(0),
|
|
15497
|
+
J(Bl, 0),
|
|
15498
|
+
J(Vl, 0)
|
|
15495
15499
|
]
|
|
15496
15500
|
},
|
|
15497
15501
|
characterTable: {
|
|
@@ -15567,33 +15571,33 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
15567
15571
|
},
|
|
15568
15572
|
D6h: {
|
|
15569
15573
|
classes: {
|
|
15570
|
-
0: [
|
|
15571
|
-
1: [
|
|
15572
|
-
2: [
|
|
15573
|
-
3: [
|
|
15574
|
+
0: [W],
|
|
15575
|
+
1: [G(Z), G(-Z)],
|
|
15576
|
+
2: [G(Wl), G(Gl)],
|
|
15577
|
+
3: [G(Y)],
|
|
15574
15578
|
4: [
|
|
15575
|
-
|
|
15576
|
-
|
|
15577
|
-
|
|
15579
|
+
Nl(Y),
|
|
15580
|
+
K(Rl, Y),
|
|
15581
|
+
K(zl, Y)
|
|
15578
15582
|
],
|
|
15579
15583
|
5: [
|
|
15580
|
-
|
|
15581
|
-
|
|
15582
|
-
|
|
15583
|
-
],
|
|
15584
|
-
6: [
|
|
15585
|
-
7: [
|
|
15586
|
-
8: [
|
|
15587
|
-
9: [
|
|
15584
|
+
Pl(Y),
|
|
15585
|
+
K(Bl, Y),
|
|
15586
|
+
K(Vl, Y)
|
|
15587
|
+
],
|
|
15588
|
+
6: [Ml],
|
|
15589
|
+
7: [q(Wl), q(Gl)],
|
|
15590
|
+
8: [q(Z), q(-Z)],
|
|
15591
|
+
9: [q(0)],
|
|
15588
15592
|
10: [
|
|
15589
|
-
|
|
15590
|
-
|
|
15591
|
-
|
|
15593
|
+
Fl(0),
|
|
15594
|
+
J(Rl, 0),
|
|
15595
|
+
J(zl, 0)
|
|
15592
15596
|
],
|
|
15593
15597
|
11: [
|
|
15594
|
-
|
|
15595
|
-
|
|
15596
|
-
|
|
15598
|
+
Il(0),
|
|
15599
|
+
J(Bl, 0),
|
|
15600
|
+
J(Vl, 0)
|
|
15597
15601
|
]
|
|
15598
15602
|
},
|
|
15599
15603
|
characterTable: {
|
|
@@ -15789,6 +15793,6 @@ var Wl = 2 * X / 3, Gl = -(2 * X) / 3, Kl = -X / 3, Q = [-.5, Il / 2], $ = [-.5,
|
|
|
15789
15793
|
}
|
|
15790
15794
|
};
|
|
15791
15795
|
//#endregion
|
|
15792
|
-
export {
|
|
15796
|
+
export { Cl as AngleUnitSystem, Vn as AtomicNumberToSymbol, s as EPSILON, bl as EnergyUnitSystem, Hr as LengthUnitSystem, Ln as PeriodicTable, Bn as SymbolToAtomicNumber, ne as addVacuum, on as alphabeticalFormula, Be as analyzeStructure, we as angles, un as anonymousFormula, S as appendSite, C as appendSites, h as applyTransformationBasis, Dt as bandPathData, le as calculateScaleFactor, v as canonicalize, ue as cartesian, Un as cellMass, it as cellParams, c as clean, Vt as composition, Rr as convertMeasurement, zr as convertMeasurementArray, d as createLattice, Jn as createSite, Qn as createSpecies, er as createVolumetricData, je as cubic, Wn as density, Tt as determineAP, Et as determineExtBravais, Yn as distance, Bt as electronegativity, Rn as elementBySymbol, mt as evalExpr, ft as evalExprSimple, pt as extendKparam, nr as fill, Nn as findSites, Pn as findSitesBySpecies, de as fractional, pl as fromASE, _r as fromCIF, ha as fromCrystalD3, Vc as fromFHI, rr as fromFunction, Gr as fromGRO, il as fromGTH, al as fromGthEntry, ul as fromJSON, Gi as fromKPOINTS, ir as fromMatrixSlices, Ir as fromOptimade, Xr as fromPDB, xr as fromPOSCAR, Zc as fromPSML, Gc as fromPSP8, ui as fromPW, Mi as fromPWKPoints, M as fromParameters, gl as fromPymatgen, Cr as fromStructureData, jc as fromUPF, Ic as fromUPFv1, Er as fromXSF, Nr as fromXYZ, l as gcd, Je as generateBZVertices, Qe as getBZPolyhedron, zt as getBrillouinZoneData, An as getDistance, jn as getDistances, Mn as getDistancesMatrix, zn as getElement, Kn as getElements, Lt as getExplicitFromImplicit, Rt as getExplicitKPath, Mt as getPath, st as getPmatrix, ct as getPrimitive, ot as getRealCellFromReciprocalRows, at as getReciprocalCellRows, jt as getSeekPathHighSymPath, Gn as getSpecies, qn as getSpeciesCounts, Ve as getSymmetry, wl as hallNumbersOfSpacegroup, x as hashStructure, Me as hexagonal, rn as hillFormula, El as identity, tr as index, Re as initMoyo, w as insertSite, T as insertSites, oe as inverse, Dl as inversion, cn as iupacFormula, $n as kpoints, zi as kpointsFromPW, Vi as kpointsToPW, ke as kspacingToGrid, u as lcm, Te as lengths, kn as matchStructures, rt as matrixFromRowMajor, Ee as metricTensor, Ne as monoclinic, hn as numAtoms, ar as ones, Pe as orthorhombic, Oe as parameters, mn as parseFormula, tl as parseGTHFile, Xl as pointgroupDict, Yl as pointgroupMapping, be as reciprocalLattice, se as reciprocalLatticeCrystallographic, sn as reducedAlphabeticalFormula, dn as reducedAnonymousFormula, qt as reducedComposition, an as reducedFormula, ln as reducedIUPACFormula, pn as reducedSubscriptFormula, E as removeSite, D as removeSites, te as reorientToNormal, O as replaceSite, k as replaceSites, jl as resolveClass, Al as resolveOp, Fe as rhombohedral, Ol as rotationMatrix, kl as rotoreflectionMatrix, he as slabFromMillerIndex, Se as slabFromSites, g as sortSites, fn as subscriptFormula, me as supercell, Ie as tetragonal, ml as toASE, vr as toCIF, _a as toCrystalD3, Wc as toFHI, Kr as toGRO, ol as toGTH, ll as toJSON, na as toKPOINTS, ht as toMatrix, Lr as toOptimade, Zr as toPDB, Sr as toPOSCAR, Qc as toPSML, Kc as toPSP8, mi as toPW, Fi as toPWKPoints, _l as toPymatgen, wr as toStructureData, Mc as toUPF, Lc as toUPFv1, kr as toXSF, Fr as toXYZ, Ct as transformAP, gt as vecMulMat, In as volume, Zn as wrap, or as zeros };
|
|
15793
15797
|
|
|
15794
15798
|
//# sourceMappingURL=index.js.map
|