@mat3ra/esse 2025.11.25-0 → 2025.11.26-0

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.
Files changed (43) hide show
  1. package/dist/js/schema/context_providers_directory/{boundary_conditions_provider.json → boundary_conditions_data_provider.json} +10 -4
  2. package/dist/js/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json +61 -0
  3. package/dist/js/schema/context_providers_directory/by_application/qe_neb_context_provider.json +194 -0
  4. package/dist/js/schema/context_providers_directory/by_application/qe_pwx_base_context_provider.json +166 -0
  5. package/dist/js/schema/context_providers_directory/by_application/qe_pwx_context_provider.json +178 -0
  6. package/dist/js/schema/context_providers_directory/by_application/vasp_context_provider.json +21 -0
  7. package/dist/js/schema/context_providers_directory/by_application/vasp_neb_context_provider.json +29 -0
  8. package/dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json +35 -0
  9. package/dist/js/schema/context_providers_directory/hubbard_j_context_provider.json +36 -0
  10. package/dist/js/schema/context_providers_directory/hubbard_legacy_context_provider.json +26 -0
  11. package/dist/js/schema/context_providers_directory/hubbard_u_context_provider.json +24 -0
  12. package/dist/js/schema/context_providers_directory/hubbard_v_context_provider.json +41 -0
  13. package/dist/js/schema/context_providers_directory/ion_dynamics_context_provider.json +25 -0
  14. package/dist/js/schema/context_providers_directory/ml_settings_context_provider.json +20 -0
  15. package/dist/js/schema/context_providers_directory/ml_train_test_split_context_provider.json +14 -0
  16. package/dist/js/schema/context_providers_directory/neb_data_provider.json +12 -0
  17. package/dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json +110 -0
  18. package/dist/js/schema/context_providers_directory/planewave_cutoffs_context_provider.json +15 -0
  19. package/dist/js/schema/context_providers_directory/points_grid_data_provider.json +46 -0
  20. package/dist/js/schema/context_providers_directory/points_path_data_provider.json +19 -0
  21. package/dist/js/schemas.json +1 -1
  22. package/dist/js/types.d.ts +561 -2
  23. package/package.json +1 -1
  24. package/schema/context_providers_directory/boundary_conditions_provider.json +3 -5
  25. package/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json +63 -0
  26. package/schema/context_providers_directory/by_application/qe_neb_context_provider.json +44 -0
  27. package/schema/context_providers_directory/by_application/qe_pwx_base_context_provider.json +42 -0
  28. package/schema/context_providers_directory/by_application/qe_pwx_context_provider.json +26 -0
  29. package/schema/context_providers_directory/by_application/vasp_context_provider.json +23 -0
  30. package/schema/context_providers_directory/by_application/vasp_neb_context_provider.json +31 -0
  31. package/schema/context_providers_directory/collinear_magnetization_provider.json +35 -0
  32. package/schema/context_providers_directory/hubbard_j_provider.json +30 -0
  33. package/schema/context_providers_directory/hubbard_legacy_provider.json +26 -0
  34. package/schema/context_providers_directory/hubbard_u_provider.json +24 -0
  35. package/schema/context_providers_directory/hubbard_v_provider.json +41 -0
  36. package/schema/context_providers_directory/ion_dynamics_provider.json +25 -0
  37. package/schema/context_providers_directory/ml_settings_provider.json +16 -0
  38. package/schema/context_providers_directory/ml_train_test_split_provider.json +14 -0
  39. package/schema/context_providers_directory/neb_provider.json +12 -0
  40. package/schema/context_providers_directory/non_collinear_magnetization_provider.json +110 -0
  41. package/schema/context_providers_directory/planewave_cutoffs_provider.json +15 -0
  42. package/schema/context_providers_directory/points_grid_provider.json +43 -0
  43. package/schema/context_providers_directory/points_path_provider.json +19 -0
@@ -2889,13 +2889,388 @@ export declare enum Name {
2889
2889
  VASPNEBInputDataManager = "VASPNEBInputDataManager",
2890
2890
  NWChemInputDataManager = "NWChemInputDataManager"
2891
2891
  }
2892
- /** Schema dist/js/schema/context_providers_directory/boundary_conditions_provider.json */
2892
+ /** Schema dist/js/schema/context_providers_directory/boundary_conditions_data_provider.json */
2893
2893
  export interface BoundaryConditionsProviderSchema {
2894
- type?: string;
2894
+ /**
2895
+ * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab.
2896
+ */
2897
+ type?: "pbc" | "bc1" | "bc2" | "bc3";
2895
2898
  offset?: number;
2896
2899
  electricField?: number;
2897
2900
  targetFermiEnergy?: number;
2898
2901
  }
2902
+ /** Schema dist/js/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json */
2903
+ /**
2904
+ * Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.
2905
+ */
2906
+ export interface NWChemTotalEnergyContextProviderSchema {
2907
+ /**
2908
+ * Total charge of the system.
2909
+ */
2910
+ CHARGE: number;
2911
+ /**
2912
+ * Spin multiplicity of the system.
2913
+ */
2914
+ MULT: number;
2915
+ /**
2916
+ * Basis set label used in the calculation (e.g., '6-31G').
2917
+ */
2918
+ BASIS: string;
2919
+ /**
2920
+ * Number of atoms in the system.
2921
+ */
2922
+ NAT: number;
2923
+ /**
2924
+ * Number of unique atomic species in the system.
2925
+ */
2926
+ NTYP: number;
2927
+ /**
2928
+ * Formatted text block with atomic positions including constraints.
2929
+ */
2930
+ ATOMIC_POSITIONS: string;
2931
+ /**
2932
+ * Formatted text block with atomic positions without constraints.
2933
+ */
2934
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: string;
2935
+ /**
2936
+ * Formatted text block for atomic species, including element symbols and masses.
2937
+ */
2938
+ ATOMIC_SPECIES: string;
2939
+ /**
2940
+ * Exchange-correlation functional identifier (e.g., 'B3LYP').
2941
+ */
2942
+ FUNCTIONAL: string;
2943
+ /**
2944
+ * Whether atomic positions are expressed in cartesian coordinates.
2945
+ */
2946
+ CARTESIAN: boolean;
2947
+ }
2948
+ /** Schema dist/js/schema/context_providers_directory/by_application/qe_neb_context_provider.json */
2949
+ /**
2950
+ * Schema for QENEBContextProvider that generates context data for Quantum ESPRESSO pw.x NEB input. Extends the pw.x context with image-specific atomic positions.
2951
+ */
2952
+ export interface QENEBContextProviderSchema {
2953
+ IBRAV: number;
2954
+ RESTART_MODE: "from_scratch" | "restart";
2955
+ ATOMIC_SPECIES: {
2956
+ /**
2957
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
2958
+ */
2959
+ X?: string;
2960
+ /**
2961
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
2962
+ */
2963
+ Mass_X?: number;
2964
+ /**
2965
+ * PseudoPot_X
2966
+ */
2967
+ PseudoPot_X?: string;
2968
+ }[];
2969
+ ATOMIC_SPECIES_WITH_LABELS: {
2970
+ /**
2971
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
2972
+ */
2973
+ X?: string;
2974
+ /**
2975
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
2976
+ */
2977
+ Mass_X?: number;
2978
+ /**
2979
+ * PseudoPot_X
2980
+ */
2981
+ PseudoPot_X?: string;
2982
+ }[];
2983
+ /**
2984
+ * number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)
2985
+ */
2986
+ NAT: number;
2987
+ /**
2988
+ * number of types of atoms in the unit cell
2989
+ */
2990
+ NTYP: number;
2991
+ /**
2992
+ * Number of different atomic species including labels
2993
+ */
2994
+ NTYP_WITH_LABELS: number;
2995
+ ATOMIC_POSITIONS?: {
2996
+ /**
2997
+ * label of the atom as specified in ATOMIC_SPECIES
2998
+ */
2999
+ X?: string;
3000
+ /**
3001
+ * atomic positions
3002
+ */
3003
+ x: number;
3004
+ /**
3005
+ * atomic positions
3006
+ */
3007
+ y: number;
3008
+ /**
3009
+ * atomic positions
3010
+ */
3011
+ z: number;
3012
+ "if_pos(1)"?: number;
3013
+ "if_pos(2)"?: number;
3014
+ "if_pos(3)"?: number;
3015
+ }[];
3016
+ /**
3017
+ * Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line
3018
+ */
3019
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS?: string;
3020
+ CELL_PARAMETERS: {
3021
+ /**
3022
+ * @minItems 3
3023
+ * @maxItems 3
3024
+ */
3025
+ v1?: [number, number, number];
3026
+ /**
3027
+ * @minItems 3
3028
+ * @maxItems 3
3029
+ */
3030
+ v2?: [number, number, number];
3031
+ /**
3032
+ * @minItems 3
3033
+ * @maxItems 3
3034
+ */
3035
+ v3?: [number, number, number];
3036
+ };
3037
+ /**
3038
+ * Atomic positions block (ATOMIC_POSITIONS) for the first NEB image.
3039
+ */
3040
+ FIRST_IMAGE: string;
3041
+ /**
3042
+ * Atomic positions block (ATOMIC_POSITIONS) for the last NEB image.
3043
+ */
3044
+ LAST_IMAGE: string;
3045
+ /**
3046
+ * Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.
3047
+ */
3048
+ INTERMEDIATE_IMAGES: string[];
3049
+ }
3050
+ /** Schema dist/js/schema/context_providers_directory/by_application/qe_pwx_base_context_provider.json */
3051
+ /**
3052
+ * Base schema with shared Quantum ESPRESSO pw.x context provider properties.
3053
+ */
3054
+ export interface QEPwxBaseContextProviderSchema {
3055
+ IBRAV?: number;
3056
+ RESTART_MODE?: "from_scratch" | "restart";
3057
+ ATOMIC_SPECIES?: {
3058
+ /**
3059
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
3060
+ */
3061
+ X?: string;
3062
+ /**
3063
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
3064
+ */
3065
+ Mass_X?: number;
3066
+ /**
3067
+ * PseudoPot_X
3068
+ */
3069
+ PseudoPot_X?: string;
3070
+ }[];
3071
+ ATOMIC_SPECIES_WITH_LABELS?: {
3072
+ /**
3073
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
3074
+ */
3075
+ X?: string;
3076
+ /**
3077
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
3078
+ */
3079
+ Mass_X?: number;
3080
+ /**
3081
+ * PseudoPot_X
3082
+ */
3083
+ PseudoPot_X?: string;
3084
+ }[];
3085
+ /**
3086
+ * number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)
3087
+ */
3088
+ NAT?: number;
3089
+ /**
3090
+ * number of types of atoms in the unit cell
3091
+ */
3092
+ NTYP?: number;
3093
+ /**
3094
+ * Number of different atomic species including labels
3095
+ */
3096
+ NTYP_WITH_LABELS?: number;
3097
+ ATOMIC_POSITIONS?: {
3098
+ /**
3099
+ * label of the atom as specified in ATOMIC_SPECIES
3100
+ */
3101
+ X?: string;
3102
+ /**
3103
+ * atomic positions
3104
+ */
3105
+ x: number;
3106
+ /**
3107
+ * atomic positions
3108
+ */
3109
+ y: number;
3110
+ /**
3111
+ * atomic positions
3112
+ */
3113
+ z: number;
3114
+ "if_pos(1)"?: number;
3115
+ "if_pos(2)"?: number;
3116
+ "if_pos(3)"?: number;
3117
+ }[];
3118
+ /**
3119
+ * Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line
3120
+ */
3121
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS?: string;
3122
+ CELL_PARAMETERS?: {
3123
+ /**
3124
+ * @minItems 3
3125
+ * @maxItems 3
3126
+ */
3127
+ v1?: [number, number, number];
3128
+ /**
3129
+ * @minItems 3
3130
+ * @maxItems 3
3131
+ */
3132
+ v2?: [number, number, number];
3133
+ /**
3134
+ * @minItems 3
3135
+ * @maxItems 3
3136
+ */
3137
+ v3?: [number, number, number];
3138
+ };
3139
+ }
3140
+ /** Schema dist/js/schema/context_providers_directory/by_application/qe_pwx_context_provider.json */
3141
+ /**
3142
+ * Schema for QEPWXContextProvider that generates context data for Quantum ESPRESSO pw.x input files. Contains computed context properties and string-formatted versions of pw.x input sections.
3143
+ */
3144
+ export interface QEPwxContextProviderSchema {
3145
+ IBRAV: number;
3146
+ RESTART_MODE: "from_scratch" | "restart";
3147
+ ATOMIC_SPECIES: {
3148
+ /**
3149
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
3150
+ */
3151
+ X?: string;
3152
+ /**
3153
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
3154
+ */
3155
+ Mass_X?: number;
3156
+ /**
3157
+ * PseudoPot_X
3158
+ */
3159
+ PseudoPot_X?: string;
3160
+ }[];
3161
+ ATOMIC_SPECIES_WITH_LABELS: {
3162
+ /**
3163
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
3164
+ */
3165
+ X?: string;
3166
+ /**
3167
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
3168
+ */
3169
+ Mass_X?: number;
3170
+ /**
3171
+ * PseudoPot_X
3172
+ */
3173
+ PseudoPot_X?: string;
3174
+ }[];
3175
+ /**
3176
+ * number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)
3177
+ */
3178
+ NAT: number;
3179
+ /**
3180
+ * number of types of atoms in the unit cell
3181
+ */
3182
+ NTYP: number;
3183
+ /**
3184
+ * Number of different atomic species including labels
3185
+ */
3186
+ NTYP_WITH_LABELS: number;
3187
+ ATOMIC_POSITIONS: {
3188
+ /**
3189
+ * label of the atom as specified in ATOMIC_SPECIES
3190
+ */
3191
+ X?: string;
3192
+ /**
3193
+ * atomic positions
3194
+ */
3195
+ x: number;
3196
+ /**
3197
+ * atomic positions
3198
+ */
3199
+ y: number;
3200
+ /**
3201
+ * atomic positions
3202
+ */
3203
+ z: number;
3204
+ "if_pos(1)"?: number;
3205
+ "if_pos(2)"?: number;
3206
+ "if_pos(3)"?: number;
3207
+ }[];
3208
+ /**
3209
+ * Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line
3210
+ */
3211
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: string;
3212
+ CELL_PARAMETERS: {
3213
+ /**
3214
+ * @minItems 3
3215
+ * @maxItems 3
3216
+ */
3217
+ v1?: [number, number, number];
3218
+ /**
3219
+ * @minItems 3
3220
+ * @maxItems 3
3221
+ */
3222
+ v2?: [number, number, number];
3223
+ /**
3224
+ * @minItems 3
3225
+ * @maxItems 3
3226
+ */
3227
+ v3?: [number, number, number];
3228
+ };
3229
+ }
3230
+ /** Schema dist/js/schema/context_providers_directory/by_application/vasp_context_provider.json */
3231
+ /**
3232
+ * Schema for VASPContextProvider that generates context data for VASP POSCAR input files.
3233
+ */
3234
+ export interface VASPContextProviderSchema {
3235
+ /**
3236
+ * POSCAR content for VASP including lattice, atom types, positions and constraints.
3237
+ */
3238
+ POSCAR: string;
3239
+ /**
3240
+ * POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented.
3241
+ */
3242
+ POSCAR_WITH_CONSTRAINTS: string;
3243
+ }
3244
+ /** Schema dist/js/schema/context_providers_directory/by_application/vasp_neb_context_provider.json */
3245
+ /**
3246
+ * Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.
3247
+ */
3248
+ export interface VASPNEBContextProviderSchema {
3249
+ /**
3250
+ * POSCAR content with constraints for the first NEB image.
3251
+ */
3252
+ FIRST_IMAGE: string;
3253
+ /**
3254
+ * POSCAR content with constraints for the last NEB image.
3255
+ */
3256
+ LAST_IMAGE: string;
3257
+ /**
3258
+ * POSCAR contents with constraints for all intermediate NEB images.
3259
+ */
3260
+ INTERMEDIATE_IMAGES: string[];
3261
+ }
3262
+ /** Schema dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json */
3263
+ /**
3264
+ * Set starting magnetization, can have values in the range [-1, +1].
3265
+ */
3266
+ export interface CollinearMagnetizationProviderSchema {
3267
+ startingMagnetization?: {
3268
+ atomicSpecies?: string;
3269
+ value?: number;
3270
+ }[];
3271
+ isTotalMagnetization?: boolean;
3272
+ totalMagnetization?: number;
3273
+ }
2899
3274
  /** Schema dist/js/schema/context_providers_directory/enum.json */
2900
3275
  export interface ContextProvidersDirectoryEnum {
2901
3276
  [k: string]: unknown;
@@ -2931,6 +3306,190 @@ export declare enum ContextProviderNameEnum {
2931
3306
  VASPNEBInputDataManager = "VASPNEBInputDataManager",
2932
3307
  NWChemInputDataManager = "NWChemInputDataManager"
2933
3308
  }
3309
+ /** Schema dist/js/schema/context_providers_directory/hubbard_j_context_provider.json */
3310
+ /**
3311
+ * Hubbard parameters for DFT+U+J calculation.
3312
+ *
3313
+ * @minItems 1
3314
+ */
3315
+ export type HubbardJProviderSchema = [
3316
+ {
3317
+ paramType?: "U" | "J" | "B" | "E2" | "E3";
3318
+ atomicSpecies?: string;
3319
+ atomicOrbital?: string;
3320
+ value?: number;
3321
+ },
3322
+ ...{
3323
+ paramType?: "U" | "J" | "B" | "E2" | "E3";
3324
+ atomicSpecies?: string;
3325
+ atomicOrbital?: string;
3326
+ value?: number;
3327
+ }[]
3328
+ ];
3329
+ /** Schema dist/js/schema/context_providers_directory/hubbard_legacy_context_provider.json */
3330
+ /**
3331
+ * Hubbard parameters for DFT+U calculation.
3332
+ *
3333
+ * @minItems 1
3334
+ */
3335
+ export type HubbardLegacyProviderSchema = [
3336
+ {
3337
+ atomicSpecies?: string;
3338
+ atomicSpeciesIndex?: number;
3339
+ hubbardUValue?: number;
3340
+ },
3341
+ ...{
3342
+ atomicSpecies?: string;
3343
+ atomicSpeciesIndex?: number;
3344
+ hubbardUValue?: number;
3345
+ }[]
3346
+ ];
3347
+ /** Schema dist/js/schema/context_providers_directory/hubbard_u_context_provider.json */
3348
+ /**
3349
+ * Hubbard U parameters for DFT+U or DFT+U+V calculation.
3350
+ */
3351
+ export type HubbardUProviderSchema = {
3352
+ atomicSpecies?: string;
3353
+ atomicOrbital?: string;
3354
+ hubbardUValue?: number;
3355
+ }[];
3356
+ /** Schema dist/js/schema/context_providers_directory/hubbard_v_context_provider.json */
3357
+ /**
3358
+ * Hubbard V parameters for DFT+U+V calculation.
3359
+ *
3360
+ * @minItems 1
3361
+ */
3362
+ export type HubbardVProviderSchema = [
3363
+ {
3364
+ atomicSpecies?: string;
3365
+ siteIndex?: number;
3366
+ atomicOrbital?: string;
3367
+ atomicSpecies2?: string;
3368
+ siteIndex2?: number;
3369
+ atomicOrbital2?: string;
3370
+ hubbardVValue?: number;
3371
+ },
3372
+ ...{
3373
+ atomicSpecies?: string;
3374
+ siteIndex?: number;
3375
+ atomicOrbital?: string;
3376
+ atomicSpecies2?: string;
3377
+ siteIndex2?: number;
3378
+ atomicOrbital2?: string;
3379
+ hubbardVValue?: number;
3380
+ }[]
3381
+ ];
3382
+ /** Schema dist/js/schema/context_providers_directory/ion_dynamics_context_provider.json */
3383
+ /**
3384
+ * Important parameters for molecular dynamics calculation
3385
+ */
3386
+ export interface IonDynamicsProviderSchema {
3387
+ numberOfSteps?: number;
3388
+ timeStep?: number;
3389
+ electronMass?: number;
3390
+ temperature?: number;
3391
+ }
3392
+ /** Schema dist/js/schema/context_providers_directory/ml_settings_context_provider.json */
3393
+ /**
3394
+ * Settings important to machine learning runs.
3395
+ */
3396
+ export interface MLSettingsProviderSchema {
3397
+ target_column_name?: string;
3398
+ problem_category?: "regression" | "classification" | "clustering";
3399
+ }
3400
+ /** Schema dist/js/schema/context_providers_directory/ml_train_test_split_context_provider.json */
3401
+ /**
3402
+ * Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.
3403
+ */
3404
+ export interface MLTrainTestSplitProviderSchema {
3405
+ fraction_held_as_test_set?: number;
3406
+ }
3407
+ /** Schema dist/js/schema/context_providers_directory/neb_data_provider.json */
3408
+ /**
3409
+ * Number of intermediate NEB images.
3410
+ */
3411
+ export interface NEBProviderSchema {
3412
+ nImages?: number;
3413
+ }
3414
+ /** Schema dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json */
3415
+ /**
3416
+ * Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.
3417
+ */
3418
+ export interface NonCollinearMagnetizationProviderSchema {
3419
+ isExistingChargeDensity?: boolean;
3420
+ isStartingMagnetization?: boolean;
3421
+ startingMagnetization?: {
3422
+ index?: number;
3423
+ atomicSpecies?: string;
3424
+ value?: number;
3425
+ }[];
3426
+ isArbitrarySpinAngle?: boolean;
3427
+ spinAngles?: {
3428
+ index?: number;
3429
+ atomicSpecies?: string;
3430
+ angle1?: number;
3431
+ angle2?: number;
3432
+ }[];
3433
+ isConstrainedMagnetization?: boolean;
3434
+ constrainedMagnetization?: {
3435
+ constrainType?: "none" | "total" | "atomic" | "total direction" | "atomic direction";
3436
+ lambda?: number;
3437
+ };
3438
+ isFixedMagnetization?: boolean;
3439
+ fixedMagnetization?: {
3440
+ x?: number;
3441
+ y?: number;
3442
+ z?: number;
3443
+ };
3444
+ }
3445
+ /** Schema dist/js/schema/context_providers_directory/planewave_cutoffs_context_provider.json */
3446
+ /**
3447
+ * Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.
3448
+ */
3449
+ export interface PlanewaveCutoffsProviderSchema {
3450
+ wavefunction?: number;
3451
+ density?: number;
3452
+ }
3453
+ /** Schema dist/js/schema/context_providers_directory/points_grid_data_provider.json */
3454
+ /**
3455
+ * 3D grid with shifts for k-point or q-point sampling.
3456
+ */
3457
+ export interface PointsGridProviderSchema {
3458
+ /**
3459
+ * @minItems 3
3460
+ * @maxItems 3
3461
+ */
3462
+ dimensions?: [number, number, number];
3463
+ /**
3464
+ * @minItems 3
3465
+ * @maxItems 3
3466
+ */
3467
+ shifts?: [number, number, number];
3468
+ /**
3469
+ * @minItems 3
3470
+ * @maxItems 3
3471
+ */
3472
+ reciprocalVectorRatios?: [number, number, number];
3473
+ gridMetricType?: "KPPRA" | "spacing";
3474
+ gridMetricValue?: number;
3475
+ preferGridMetric?: boolean;
3476
+ }
3477
+ /** Schema dist/js/schema/context_providers_directory/points_path_data_provider.json */
3478
+ /**
3479
+ * Path in reciprocal space for band structure calculations.
3480
+ *
3481
+ * @minItems 1
3482
+ */
3483
+ export type PointsPathProviderSchema = [
3484
+ {
3485
+ point?: string;
3486
+ steps?: number;
3487
+ },
3488
+ ...{
3489
+ point?: string;
3490
+ steps?: number;
3491
+ }[]
3492
+ ];
2934
3493
  /** Schema dist/js/schema/core/abstract/2d_data.json */
2935
3494
  export interface DimensionDataSchema {
2936
3495
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mat3ra/esse",
3
- "version": "2025.11.25-0",
3
+ "version": "2025.11.26-0",
4
4
  "description": "Mat3ra's Excellent Source of Schemas and Examples (ESSE) for Digital Materials R&D",
5
5
  "scripts": {
6
6
  "transpile": "tsc -p tsconfig-transpile.json",
@@ -1,16 +1,14 @@
1
1
  {
2
- "$id": "context-providers-directory/boundary-conditions-provider",
2
+ "$id": "context-providers-directory/boundary-conditions-data-provider",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Boundary Conditions Provider Schema",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "type": {
8
- "type": "string",
9
- "title": "Type"
8
+ "$ref": "../properties_directory/structural/basis/boundary_conditions.json#/properties/type"
10
9
  },
11
10
  "offset": {
12
- "type": "number",
13
- "title": "Offset (A)"
11
+ "$ref": "../properties_directory/structural/basis/boundary_conditions.json#/properties/offset"
14
12
  },
15
13
  "electricField": {
16
14
  "type": "number",
@@ -0,0 +1,63 @@
1
+ {
2
+ "$id": "context-providers-directory/by-application/nwchem-total-energy-context-provider",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "NWChem Total Energy Context Provider Schema",
5
+ "description": "Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.",
6
+ "type": "object",
7
+ "properties": {
8
+ "CHARGE": {
9
+ "type": "integer",
10
+ "description": "Total charge of the system."
11
+ },
12
+ "MULT": {
13
+ "type": "integer",
14
+ "description": "Spin multiplicity of the system."
15
+ },
16
+ "BASIS": {
17
+ "type": "string",
18
+ "description": "Basis set label used in the calculation (e.g., '6-31G')."
19
+ },
20
+ "NAT": {
21
+ "type": "integer",
22
+ "description": "Number of atoms in the system."
23
+ },
24
+ "NTYP": {
25
+ "type": "integer",
26
+ "description": "Number of unique atomic species in the system."
27
+ },
28
+ "ATOMIC_POSITIONS": {
29
+ "type": "string",
30
+ "description": "Formatted text block with atomic positions including constraints."
31
+ },
32
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
33
+ "type": "string",
34
+ "description": "Formatted text block with atomic positions without constraints."
35
+ },
36
+ "ATOMIC_SPECIES": {
37
+ "type": "string",
38
+ "description": "Formatted text block for atomic species, including element symbols and masses."
39
+ },
40
+ "FUNCTIONAL": {
41
+ "type": "string",
42
+ "description": "Exchange-correlation functional identifier (e.g., 'B3LYP')."
43
+ },
44
+ "CARTESIAN": {
45
+ "type": "boolean",
46
+ "description": "Whether atomic positions are expressed in cartesian coordinates."
47
+ }
48
+ },
49
+ "required": [
50
+ "CHARGE",
51
+ "MULT",
52
+ "BASIS",
53
+ "NAT",
54
+ "NTYP",
55
+ "ATOMIC_POSITIONS",
56
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS",
57
+ "ATOMIC_SPECIES",
58
+ "FUNCTIONAL",
59
+ "CARTESIAN"
60
+ ]
61
+ }
62
+
63
+