@dnv-plant/typescriptpws 1.0.97 → 1.0.98-alpha.2397542
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/LICENSE +1 -1
- package/azure-test-job.yml +25 -0
- package/index.ts +18 -13
- package/package.json +2 -1
- package/src/calculations/applicationTools.ts +16 -12
- package/src/calculations/calculationBase.ts +40 -13
- package/src/calculations/discharge.ts +752 -109
- package/src/calculations/dispersion.ts +17 -15
- package/src/calculations/dispersionView.ts +31 -27
- package/src/calculations/fireball.ts +17 -13
- package/src/calculations/flammableWorkflow.ts +291 -0
- package/src/calculations/jetFire.ts +19 -22
- package/src/calculations/lateExplosion.ts +16 -12
- package/src/calculations/linkedRunners.ts +2715 -780
- package/src/calculations/poolFire.ts +16 -12
- package/src/calculations/properties.ts +17 -14
- package/src/calculations/radiation.ts +65 -61
- package/src/calculations/standalones.ts +16 -12
- package/src/calculations/toxics.ts +17 -13
- package/src/calculations/utilities.ts +673 -23
- package/src/constants.ts +25 -15
- package/src/entities.ts +455 -320
- package/src/entity-schemas.ts +284 -148
- package/src/enums.ts +123 -64
- package/src/materials.ts +152 -152
- package/src/utilities.ts +40 -27
package/src/entity-schemas.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
|
|
1
|
+
// ************************************************************************************
|
|
2
|
+
// *
|
|
3
|
+
// * This file has been auto-generated by a code generation tool.
|
|
4
|
+
// *
|
|
5
|
+
// * DO NOT MODIFY THIS FILE
|
|
6
|
+
// * This file is maintained by DNV.
|
|
7
|
+
// * Editing it may lead to inconsistent results and limit DNV's ability to provide support.
|
|
8
|
+
// * Please contact DNV if you believe changes are required.
|
|
9
|
+
// *
|
|
10
|
+
// * API version: 1.0.
|
|
11
|
+
// * MDE version: 9.3.8211.
|
|
12
|
+
// * Package version: 1.0.98
|
|
13
|
+
// * Date/time: 23 Jun 2026 12:11:11.
|
|
14
|
+
// * Template: TYPE_SCRIPT_PWS/entity_schemas.sbn.
|
|
15
|
+
// *
|
|
16
|
+
// ************************************************************************************
|
|
13
17
|
|
|
14
18
|
import * as Enums from './enums';
|
|
15
19
|
import * as Entities from './entities';
|
|
@@ -129,7 +133,7 @@ export interface AssetSchemaData extends SchemaBaseData {
|
|
|
129
133
|
/**
|
|
130
134
|
* ================================================================================
|
|
131
135
|
* Class: AssetSchema
|
|
132
|
-
* Description: Any equipment to be modeled, vessels, pipelines
|
|
136
|
+
* Description: Any equipment to be modeled, vessels, pipelines.
|
|
133
137
|
* ================================================================================
|
|
134
138
|
*/
|
|
135
139
|
export class AssetSchema extends SchemaBase<AssetSchemaData> {
|
|
@@ -194,9 +198,9 @@ export class MaterialComponentSchema extends SchemaBase<MaterialComponentSchemaD
|
|
|
194
198
|
}
|
|
195
199
|
|
|
196
200
|
export interface MaterialSchemaData extends SchemaBaseData {
|
|
197
|
-
components: Entities.MaterialComponent[];
|
|
198
201
|
name: string;
|
|
199
202
|
componentCount: number;
|
|
203
|
+
components: Entities.MaterialComponent[];
|
|
200
204
|
propertyTemplate: Enums.PropertyTemplate;
|
|
201
205
|
}
|
|
202
206
|
|
|
@@ -213,9 +217,9 @@ export class MaterialSchema extends SchemaBase<MaterialSchemaData> {
|
|
|
213
217
|
this.schema = this.schema
|
|
214
218
|
.concat(
|
|
215
219
|
Joi.object({
|
|
216
|
-
components: Joi.array().items(new MaterialComponentSchema().schema).allow(null),
|
|
217
220
|
name: Joi.string().allow(''),
|
|
218
221
|
componentCount: Joi.number().integer(),
|
|
222
|
+
components: Joi.array().items(new MaterialComponentSchema().schema).allow(null),
|
|
219
223
|
propertyTemplate: Joi.string().valid(
|
|
220
224
|
...Object.values(Enums.PropertyTemplate)
|
|
221
225
|
.filter((v) => typeof v === 'number')
|
|
@@ -228,9 +232,9 @@ export class MaterialSchema extends SchemaBase<MaterialSchemaData> {
|
|
|
228
232
|
|
|
229
233
|
this.propertyTypes = {
|
|
230
234
|
...this.propertyTypes,
|
|
231
|
-
components: 'MaterialComponent[]',
|
|
232
235
|
name: 'string',
|
|
233
236
|
componentCount: 'number',
|
|
237
|
+
components: 'MaterialComponent[]',
|
|
234
238
|
propertyTemplate: 'Enums.PropertyTemplate',
|
|
235
239
|
};
|
|
236
240
|
}
|
|
@@ -412,18 +416,18 @@ export class ReleaseOverTimeSchema extends SchemaBase<ReleaseOverTimeSchemaData>
|
|
|
412
416
|
}
|
|
413
417
|
|
|
414
418
|
export interface BESSReleaseSchemaData extends SchemaBaseData {
|
|
419
|
+
releaseAngle: number;
|
|
420
|
+
timeVaryingOption: Enums.TimeVaryingOption;
|
|
415
421
|
height: number;
|
|
416
|
-
|
|
422
|
+
ventArea: number;
|
|
417
423
|
temperature: number;
|
|
418
424
|
duration: number;
|
|
419
|
-
releaseAngle: number;
|
|
420
|
-
timeVaryingOption: Enums.TimeVaryingOption;
|
|
421
425
|
}
|
|
422
426
|
|
|
423
427
|
/**
|
|
424
428
|
* ================================================================================
|
|
425
429
|
* Class: BESSReleaseSchema
|
|
426
|
-
* Description: A release from a BESS unit in thermal runaway
|
|
430
|
+
* Description: A release from a BESS unit in thermal runaway.
|
|
427
431
|
* ================================================================================
|
|
428
432
|
*/
|
|
429
433
|
export class BESSReleaseSchema extends SchemaBase<BESSReleaseSchemaData> {
|
|
@@ -433,16 +437,16 @@ export class BESSReleaseSchema extends SchemaBase<BESSReleaseSchemaData> {
|
|
|
433
437
|
this.schema = this.schema
|
|
434
438
|
.concat(
|
|
435
439
|
Joi.object({
|
|
436
|
-
height: Joi.number().unsafe(),
|
|
437
|
-
area: Joi.number().unsafe(),
|
|
438
|
-
temperature: Joi.number().unsafe(),
|
|
439
|
-
duration: Joi.number().unsafe(),
|
|
440
440
|
releaseAngle: Joi.number().unsafe(),
|
|
441
441
|
timeVaryingOption: Joi.string().valid(
|
|
442
442
|
...Object.values(Enums.TimeVaryingOption)
|
|
443
443
|
.filter((v) => typeof v === 'number')
|
|
444
444
|
.sort(),
|
|
445
445
|
),
|
|
446
|
+
height: Joi.number().unsafe(),
|
|
447
|
+
ventArea: Joi.number().unsafe(),
|
|
448
|
+
temperature: Joi.number().unsafe(),
|
|
449
|
+
duration: Joi.number().unsafe(),
|
|
446
450
|
}),
|
|
447
451
|
)
|
|
448
452
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -450,12 +454,12 @@ export class BESSReleaseSchema extends SchemaBase<BESSReleaseSchemaData> {
|
|
|
450
454
|
|
|
451
455
|
this.propertyTypes = {
|
|
452
456
|
...this.propertyTypes,
|
|
457
|
+
releaseAngle: 'number',
|
|
458
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
453
459
|
height: 'number',
|
|
454
|
-
|
|
460
|
+
ventArea: 'number',
|
|
455
461
|
temperature: 'number',
|
|
456
462
|
duration: 'number',
|
|
457
|
-
releaseAngle: 'number',
|
|
458
|
-
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
459
463
|
};
|
|
460
464
|
}
|
|
461
465
|
|
|
@@ -464,16 +468,65 @@ export class BESSReleaseSchema extends SchemaBase<BESSReleaseSchemaData> {
|
|
|
464
468
|
}
|
|
465
469
|
}
|
|
466
470
|
|
|
471
|
+
export interface OffGasCompositionSchemaData extends SchemaBaseData {
|
|
472
|
+
name: string;
|
|
473
|
+
componentCount: number;
|
|
474
|
+
components: Entities.MaterialComponent[];
|
|
475
|
+
propertyTemplate: Enums.PropertyTemplate;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* ================================================================================
|
|
480
|
+
* Class: OffGasCompositionSchema
|
|
481
|
+
* Description: The off-gas composition to use in calculations.
|
|
482
|
+
* ================================================================================
|
|
483
|
+
*/
|
|
484
|
+
export class OffGasCompositionSchema extends SchemaBase<OffGasCompositionSchemaData> {
|
|
485
|
+
readonly typeName = 'OffGasComposition';
|
|
486
|
+
constructor() {
|
|
487
|
+
super();
|
|
488
|
+
this.schema = this.schema
|
|
489
|
+
.concat(
|
|
490
|
+
Joi.object({
|
|
491
|
+
name: Joi.string().allow(''),
|
|
492
|
+
componentCount: Joi.number().integer(),
|
|
493
|
+
components: Joi.array().items(new MaterialComponentSchema().schema).allow(null),
|
|
494
|
+
propertyTemplate: Joi.string().valid(
|
|
495
|
+
...Object.values(Enums.PropertyTemplate)
|
|
496
|
+
.filter((v) => typeof v === 'number')
|
|
497
|
+
.sort(),
|
|
498
|
+
),
|
|
499
|
+
}),
|
|
500
|
+
)
|
|
501
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
502
|
+
.unknown(true);
|
|
503
|
+
|
|
504
|
+
this.propertyTypes = {
|
|
505
|
+
...this.propertyTypes,
|
|
506
|
+
name: 'string',
|
|
507
|
+
componentCount: 'number',
|
|
508
|
+
components: 'MaterialComponent[]',
|
|
509
|
+
propertyTemplate: 'Enums.PropertyTemplate',
|
|
510
|
+
};
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
makeEntity(data: OffGasCompositionSchemaData): Entities.OffGasComposition {
|
|
514
|
+
return new Entities.OffGasComposition(data);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
467
518
|
export interface BESSUnitSchemaData extends SchemaBaseData {
|
|
468
519
|
location: Entities.LocalPosition;
|
|
469
520
|
energyCapacity: number;
|
|
470
521
|
chemistry: Enums.BESSChemistry;
|
|
522
|
+
offGasComposition: Entities.OffGasComposition;
|
|
523
|
+
offGasVolume: number;
|
|
471
524
|
}
|
|
472
525
|
|
|
473
526
|
/**
|
|
474
527
|
* ================================================================================
|
|
475
528
|
* Class: BESSUnitSchema
|
|
476
|
-
* Description: A BESS unit, containing Li-ion betteries
|
|
529
|
+
* Description: A BESS unit, containing Li-ion betteries.
|
|
477
530
|
* ================================================================================
|
|
478
531
|
*/
|
|
479
532
|
export class BESSUnitSchema extends SchemaBase<BESSUnitSchemaData> {
|
|
@@ -490,6 +543,8 @@ export class BESSUnitSchema extends SchemaBase<BESSUnitSchemaData> {
|
|
|
490
543
|
.filter((v) => typeof v === 'number')
|
|
491
544
|
.sort(),
|
|
492
545
|
),
|
|
546
|
+
offGasComposition: new OffGasCompositionSchema().schema,
|
|
547
|
+
offGasVolume: Joi.number().unsafe(),
|
|
493
548
|
}),
|
|
494
549
|
)
|
|
495
550
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -500,6 +555,8 @@ export class BESSUnitSchema extends SchemaBase<BESSUnitSchemaData> {
|
|
|
500
555
|
location: 'LocalPosition',
|
|
501
556
|
energyCapacity: 'number',
|
|
502
557
|
chemistry: 'Enums.BESSChemistry',
|
|
558
|
+
offGasComposition: 'OffGasComposition',
|
|
559
|
+
offGasVolume: 'number',
|
|
503
560
|
};
|
|
504
561
|
}
|
|
505
562
|
|
|
@@ -508,6 +565,49 @@ export class BESSUnitSchema extends SchemaBase<BESSUnitSchemaData> {
|
|
|
508
565
|
}
|
|
509
566
|
}
|
|
510
567
|
|
|
568
|
+
export interface BESSVolumeSchemaData extends SchemaBaseData {
|
|
569
|
+
volume: number;
|
|
570
|
+
isEstimate: boolean;
|
|
571
|
+
upperCI: number;
|
|
572
|
+
lowerCI: number;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* ================================================================================
|
|
577
|
+
* Class: BESSVolumeSchema
|
|
578
|
+
* Description: Represents the off-gas volume for a calculation.
|
|
579
|
+
* ================================================================================
|
|
580
|
+
*/
|
|
581
|
+
export class BESSVolumeSchema extends SchemaBase<BESSVolumeSchemaData> {
|
|
582
|
+
readonly typeName = 'BESSVolume';
|
|
583
|
+
constructor() {
|
|
584
|
+
super();
|
|
585
|
+
this.schema = this.schema
|
|
586
|
+
.concat(
|
|
587
|
+
Joi.object({
|
|
588
|
+
volume: Joi.number().unsafe(),
|
|
589
|
+
isEstimate: Joi.boolean(),
|
|
590
|
+
upperCI: Joi.number().unsafe(),
|
|
591
|
+
lowerCI: Joi.number().unsafe(),
|
|
592
|
+
}),
|
|
593
|
+
)
|
|
594
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
595
|
+
.unknown(true);
|
|
596
|
+
|
|
597
|
+
this.propertyTypes = {
|
|
598
|
+
...this.propertyTypes,
|
|
599
|
+
volume: 'number',
|
|
600
|
+
isEstimate: 'boolean',
|
|
601
|
+
upperCI: 'number',
|
|
602
|
+
lowerCI: 'number',
|
|
603
|
+
};
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
makeEntity(data: BESSVolumeSchemaData): Entities.BESSVolume {
|
|
607
|
+
return new Entities.BESSVolume(data);
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
|
|
511
611
|
export interface BundSchemaData extends SchemaBaseData {
|
|
512
612
|
bundHeight: number;
|
|
513
613
|
bundDiameter: number;
|
|
@@ -575,7 +675,10 @@ export class InstantaneousSchema extends SchemaBase<InstantaneousSchemaData> {
|
|
|
575
675
|
}
|
|
576
676
|
}
|
|
577
677
|
|
|
578
|
-
export interface CatastrophicRuptureSchemaData extends SchemaBaseData {
|
|
678
|
+
export interface CatastrophicRuptureSchemaData extends SchemaBaseData {
|
|
679
|
+
useVesselBurstPressure: boolean;
|
|
680
|
+
vesselBurstPressure: number;
|
|
681
|
+
}
|
|
579
682
|
|
|
580
683
|
/**
|
|
581
684
|
* ================================================================================
|
|
@@ -588,12 +691,19 @@ export class CatastrophicRuptureSchema extends SchemaBase<CatastrophicRuptureSch
|
|
|
588
691
|
constructor() {
|
|
589
692
|
super();
|
|
590
693
|
this.schema = this.schema
|
|
591
|
-
.concat(
|
|
694
|
+
.concat(
|
|
695
|
+
Joi.object({
|
|
696
|
+
useVesselBurstPressure: Joi.boolean(),
|
|
697
|
+
vesselBurstPressure: Joi.number().unsafe(),
|
|
698
|
+
}),
|
|
699
|
+
)
|
|
592
700
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
593
701
|
.unknown(true);
|
|
594
702
|
|
|
595
703
|
this.propertyTypes = {
|
|
596
704
|
...this.propertyTypes,
|
|
705
|
+
useVesselBurstPressure: 'boolean',
|
|
706
|
+
vesselBurstPressure: 'number',
|
|
597
707
|
};
|
|
598
708
|
}
|
|
599
709
|
|
|
@@ -648,7 +758,7 @@ export interface ConstantMaterialResultSchemaData extends SchemaBaseData {
|
|
|
648
758
|
/**
|
|
649
759
|
* ================================================================================
|
|
650
760
|
* Class: ConstantMaterialResultSchema
|
|
651
|
-
* Description: Constant material properties, i.e. critical pressure, temperature, molecular weight
|
|
761
|
+
* Description: Constant material properties, i.e. critical pressure, temperature, molecular weight.
|
|
652
762
|
* ================================================================================
|
|
653
763
|
*/
|
|
654
764
|
export class ConstantMaterialResultSchema extends SchemaBase<ConstantMaterialResultSchemaData> {
|
|
@@ -681,6 +791,7 @@ export class ConstantMaterialResultSchema extends SchemaBase<ConstantMaterialRes
|
|
|
681
791
|
|
|
682
792
|
export interface DischargeParametersSchemaData extends SchemaBaseData {
|
|
683
793
|
flashAtOrifice: Enums.FlashAtOrifice;
|
|
794
|
+
maxReleaseDuration: number;
|
|
684
795
|
}
|
|
685
796
|
|
|
686
797
|
/**
|
|
@@ -701,6 +812,7 @@ export class DischargeParametersSchema extends SchemaBase<DischargeParametersSch
|
|
|
701
812
|
.filter((v) => typeof v === 'number')
|
|
702
813
|
.sort(),
|
|
703
814
|
),
|
|
815
|
+
maxReleaseDuration: Joi.number().unsafe(),
|
|
704
816
|
}),
|
|
705
817
|
)
|
|
706
818
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -709,6 +821,7 @@ export class DischargeParametersSchema extends SchemaBase<DischargeParametersSch
|
|
|
709
821
|
this.propertyTypes = {
|
|
710
822
|
...this.propertyTypes,
|
|
711
823
|
flashAtOrifice: 'Enums.FlashAtOrifice',
|
|
824
|
+
maxReleaseDuration: 'number',
|
|
712
825
|
};
|
|
713
826
|
}
|
|
714
827
|
|
|
@@ -780,8 +893,8 @@ export interface DischargeResultSchemaData extends SchemaBaseData {
|
|
|
780
893
|
releaseMass: number;
|
|
781
894
|
height: number;
|
|
782
895
|
angle: number;
|
|
783
|
-
holeDiameter: number;
|
|
784
896
|
releaseType: Enums.DynamicType;
|
|
897
|
+
holeDiameter: number;
|
|
785
898
|
preDilutionAirRate: number;
|
|
786
899
|
}
|
|
787
900
|
|
|
@@ -802,12 +915,12 @@ export class DischargeResultSchema extends SchemaBase<DischargeResultSchemaData>
|
|
|
802
915
|
releaseMass: Joi.number().unsafe(),
|
|
803
916
|
height: Joi.number().unsafe(),
|
|
804
917
|
angle: Joi.number().unsafe(),
|
|
805
|
-
holeDiameter: Joi.number().unsafe(),
|
|
806
918
|
releaseType: Joi.string().valid(
|
|
807
919
|
...Object.values(Enums.DynamicType)
|
|
808
920
|
.filter((v) => typeof v === 'number')
|
|
809
921
|
.sort(),
|
|
810
922
|
),
|
|
923
|
+
holeDiameter: Joi.number().unsafe(),
|
|
811
924
|
preDilutionAirRate: Joi.number().unsafe(),
|
|
812
925
|
}),
|
|
813
926
|
)
|
|
@@ -820,8 +933,8 @@ export class DischargeResultSchema extends SchemaBase<DischargeResultSchemaData>
|
|
|
820
933
|
releaseMass: 'number',
|
|
821
934
|
height: 'number',
|
|
822
935
|
angle: 'number',
|
|
823
|
-
holeDiameter: 'number',
|
|
824
936
|
releaseType: 'Enums.DynamicType',
|
|
937
|
+
holeDiameter: 'number',
|
|
825
938
|
preDilutionAirRate: 'number',
|
|
826
939
|
};
|
|
827
940
|
}
|
|
@@ -841,7 +954,6 @@ export interface DispersionOutputConfigSchemaData extends SchemaBaseData {
|
|
|
841
954
|
crosswindDistance: number;
|
|
842
955
|
contourType: Enums.ContourType;
|
|
843
956
|
lflFractionValue: number;
|
|
844
|
-
componentToTrackIndex: number;
|
|
845
957
|
componentToTrackName: string;
|
|
846
958
|
}
|
|
847
959
|
|
|
@@ -879,7 +991,6 @@ export class DispersionOutputConfigSchema extends SchemaBase<DispersionOutputCon
|
|
|
879
991
|
.sort(),
|
|
880
992
|
),
|
|
881
993
|
lflFractionValue: Joi.number().unsafe(),
|
|
882
|
-
componentToTrackIndex: Joi.number().integer(),
|
|
883
994
|
componentToTrackName: Joi.string().allow(''),
|
|
884
995
|
}),
|
|
885
996
|
)
|
|
@@ -897,7 +1008,6 @@ export class DispersionOutputConfigSchema extends SchemaBase<DispersionOutputCon
|
|
|
897
1008
|
crosswindDistance: 'number',
|
|
898
1009
|
contourType: 'Enums.ContourType',
|
|
899
1010
|
lflFractionValue: 'number',
|
|
900
|
-
componentToTrackIndex: 'number',
|
|
901
1011
|
componentToTrackName: 'string',
|
|
902
1012
|
};
|
|
903
1013
|
}
|
|
@@ -918,6 +1028,10 @@ export interface DispersionParametersSchemaData extends SchemaBaseData {
|
|
|
918
1028
|
numberOfPoolObservers: number;
|
|
919
1029
|
averagingTime: number;
|
|
920
1030
|
lflFractionToStop: number;
|
|
1031
|
+
maxReleaseDuration: number;
|
|
1032
|
+
releaseAveragingMethod: Enums.ReleaseAveragingMethod;
|
|
1033
|
+
firstTimeForBetweenTwoTimes: number;
|
|
1034
|
+
secondTimeForBetweenTwoTimes: number;
|
|
921
1035
|
}
|
|
922
1036
|
|
|
923
1037
|
/**
|
|
@@ -947,6 +1061,14 @@ export class DispersionParametersSchema extends SchemaBase<DispersionParametersS
|
|
|
947
1061
|
numberOfPoolObservers: Joi.number().integer(),
|
|
948
1062
|
averagingTime: Joi.number().unsafe(),
|
|
949
1063
|
lflFractionToStop: Joi.number().unsafe(),
|
|
1064
|
+
maxReleaseDuration: Joi.number().unsafe(),
|
|
1065
|
+
releaseAveragingMethod: Joi.string().valid(
|
|
1066
|
+
...Object.values(Enums.ReleaseAveragingMethod)
|
|
1067
|
+
.filter((v) => typeof v === 'number')
|
|
1068
|
+
.sort(),
|
|
1069
|
+
),
|
|
1070
|
+
firstTimeForBetweenTwoTimes: Joi.number().unsafe(),
|
|
1071
|
+
secondTimeForBetweenTwoTimes: Joi.number().unsafe(),
|
|
950
1072
|
}),
|
|
951
1073
|
)
|
|
952
1074
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -964,6 +1086,10 @@ export class DispersionParametersSchema extends SchemaBase<DispersionParametersS
|
|
|
964
1086
|
numberOfPoolObservers: 'number',
|
|
965
1087
|
averagingTime: 'number',
|
|
966
1088
|
lflFractionToStop: 'number',
|
|
1089
|
+
maxReleaseDuration: 'number',
|
|
1090
|
+
releaseAveragingMethod: 'Enums.ReleaseAveragingMethod',
|
|
1091
|
+
firstTimeForBetweenTwoTimes: 'number',
|
|
1092
|
+
secondTimeForBetweenTwoTimes: 'number',
|
|
967
1093
|
};
|
|
968
1094
|
}
|
|
969
1095
|
|
|
@@ -989,6 +1115,7 @@ export interface DispersionRecordSchemaData extends SchemaBaseData {
|
|
|
989
1115
|
massConc: number;
|
|
990
1116
|
velocity: number;
|
|
991
1117
|
massFlow: number;
|
|
1118
|
+
instCon: Enums.DynamicType;
|
|
992
1119
|
profileFlag: number;
|
|
993
1120
|
elevFlag: number;
|
|
994
1121
|
rhoCloud: number;
|
|
@@ -1001,7 +1128,6 @@ export interface DispersionRecordSchemaData extends SchemaBaseData {
|
|
|
1001
1128
|
dropletHeight: number;
|
|
1002
1129
|
dropletDistance: number;
|
|
1003
1130
|
mass: number;
|
|
1004
|
-
instCon: Enums.DynamicType;
|
|
1005
1131
|
}
|
|
1006
1132
|
|
|
1007
1133
|
/**
|
|
@@ -1033,6 +1159,11 @@ export class DispersionRecordSchema extends SchemaBase<DispersionRecordSchemaDat
|
|
|
1033
1159
|
massConc: Joi.number().unsafe(),
|
|
1034
1160
|
velocity: Joi.number().unsafe(),
|
|
1035
1161
|
massFlow: Joi.number().unsafe(),
|
|
1162
|
+
instCon: Joi.string().valid(
|
|
1163
|
+
...Object.values(Enums.DynamicType)
|
|
1164
|
+
.filter((v) => typeof v === 'number')
|
|
1165
|
+
.sort(),
|
|
1166
|
+
),
|
|
1036
1167
|
profileFlag: Joi.number().integer(),
|
|
1037
1168
|
elevFlag: Joi.number().integer(),
|
|
1038
1169
|
rhoCloud: Joi.number().unsafe(),
|
|
@@ -1045,11 +1176,6 @@ export class DispersionRecordSchema extends SchemaBase<DispersionRecordSchemaDat
|
|
|
1045
1176
|
dropletHeight: Joi.number().unsafe(),
|
|
1046
1177
|
dropletDistance: Joi.number().unsafe(),
|
|
1047
1178
|
mass: Joi.number().unsafe(),
|
|
1048
|
-
instCon: Joi.string().valid(
|
|
1049
|
-
...Object.values(Enums.DynamicType)
|
|
1050
|
-
.filter((v) => typeof v === 'number')
|
|
1051
|
-
.sort(),
|
|
1052
|
-
),
|
|
1053
1179
|
}),
|
|
1054
1180
|
)
|
|
1055
1181
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -1073,6 +1199,7 @@ export class DispersionRecordSchema extends SchemaBase<DispersionRecordSchemaDat
|
|
|
1073
1199
|
massConc: 'number',
|
|
1074
1200
|
velocity: 'number',
|
|
1075
1201
|
massFlow: 'number',
|
|
1202
|
+
instCon: 'Enums.DynamicType',
|
|
1076
1203
|
profileFlag: 'number',
|
|
1077
1204
|
elevFlag: 'number',
|
|
1078
1205
|
rhoCloud: 'number',
|
|
@@ -1085,7 +1212,6 @@ export class DispersionRecordSchema extends SchemaBase<DispersionRecordSchemaDat
|
|
|
1085
1212
|
dropletHeight: 'number',
|
|
1086
1213
|
dropletDistance: 'number',
|
|
1087
1214
|
mass: 'number',
|
|
1088
|
-
instCon: 'Enums.DynamicType',
|
|
1089
1215
|
};
|
|
1090
1216
|
}
|
|
1091
1217
|
|
|
@@ -1133,7 +1259,7 @@ export class ExplosionConfinedVolumeSchema extends SchemaBase<ExplosionConfinedV
|
|
|
1133
1259
|
|
|
1134
1260
|
export interface ExplosionOutputConfigSchemaData extends SchemaBaseData {
|
|
1135
1261
|
overpressureLevel: number;
|
|
1136
|
-
|
|
1262
|
+
MEConfinedMethod: Enums.MEConfinedMethod;
|
|
1137
1263
|
}
|
|
1138
1264
|
|
|
1139
1265
|
/**
|
|
@@ -1150,7 +1276,7 @@ export class ExplosionOutputConfigSchema extends SchemaBase<ExplosionOutputConfi
|
|
|
1150
1276
|
.concat(
|
|
1151
1277
|
Joi.object({
|
|
1152
1278
|
overpressureLevel: Joi.number().unsafe(),
|
|
1153
|
-
|
|
1279
|
+
MEConfinedMethod: Joi.string().valid(
|
|
1154
1280
|
...Object.values(Enums.MEConfinedMethod)
|
|
1155
1281
|
.filter((v) => typeof v === 'number')
|
|
1156
1282
|
.sort(),
|
|
@@ -1163,7 +1289,7 @@ export class ExplosionOutputConfigSchema extends SchemaBase<ExplosionOutputConfi
|
|
|
1163
1289
|
this.propertyTypes = {
|
|
1164
1290
|
...this.propertyTypes,
|
|
1165
1291
|
overpressureLevel: 'number',
|
|
1166
|
-
|
|
1292
|
+
MEConfinedMethod: 'Enums.MEConfinedMethod',
|
|
1167
1293
|
};
|
|
1168
1294
|
}
|
|
1169
1295
|
|
|
@@ -1301,9 +1427,9 @@ export class FlameRecordSchema extends SchemaBase<FlameRecordSchemaData> {
|
|
|
1301
1427
|
export interface FlameResultSchemaData extends SchemaBaseData {
|
|
1302
1428
|
time: number;
|
|
1303
1429
|
surfaceEmissivePower: number;
|
|
1430
|
+
fireType: Enums.FireType;
|
|
1304
1431
|
flameLength: number;
|
|
1305
1432
|
flameDiameter: number;
|
|
1306
|
-
fireType: Enums.FireType;
|
|
1307
1433
|
liftOffHeight: number;
|
|
1308
1434
|
liftOffTime: number;
|
|
1309
1435
|
}
|
|
@@ -1323,13 +1449,13 @@ export class FlameResultSchema extends SchemaBase<FlameResultSchemaData> {
|
|
|
1323
1449
|
Joi.object({
|
|
1324
1450
|
time: Joi.number().unsafe(),
|
|
1325
1451
|
surfaceEmissivePower: Joi.number().unsafe(),
|
|
1326
|
-
flameLength: Joi.number().unsafe(),
|
|
1327
|
-
flameDiameter: Joi.number().unsafe(),
|
|
1328
1452
|
fireType: Joi.string().valid(
|
|
1329
1453
|
...Object.values(Enums.FireType)
|
|
1330
1454
|
.filter((v) => typeof v === 'number')
|
|
1331
1455
|
.sort(),
|
|
1332
1456
|
),
|
|
1457
|
+
flameLength: Joi.number().unsafe(),
|
|
1458
|
+
flameDiameter: Joi.number().unsafe(),
|
|
1333
1459
|
liftOffHeight: Joi.number().unsafe(),
|
|
1334
1460
|
liftOffTime: Joi.number().unsafe(),
|
|
1335
1461
|
}),
|
|
@@ -1341,9 +1467,9 @@ export class FlameResultSchema extends SchemaBase<FlameResultSchemaData> {
|
|
|
1341
1467
|
...this.propertyTypes,
|
|
1342
1468
|
time: 'number',
|
|
1343
1469
|
surfaceEmissivePower: 'number',
|
|
1470
|
+
fireType: 'Enums.FireType',
|
|
1344
1471
|
flameLength: 'number',
|
|
1345
1472
|
flameDiameter: 'number',
|
|
1346
|
-
fireType: 'Enums.FireType',
|
|
1347
1473
|
liftOffHeight: 'number',
|
|
1348
1474
|
liftOffTime: 'number',
|
|
1349
1475
|
};
|
|
@@ -1393,11 +1519,11 @@ export class TransectSchema extends SchemaBase<TransectSchemaData> {
|
|
|
1393
1519
|
|
|
1394
1520
|
export interface FlammableOutputConfigSchemaData extends SchemaBaseData {
|
|
1395
1521
|
position: Entities.LocalPosition;
|
|
1396
|
-
transect: Entities.Transect;
|
|
1397
1522
|
radiationType: Enums.RadiationType;
|
|
1398
1523
|
contourType: Enums.ContourType;
|
|
1399
1524
|
radiationLevel: number;
|
|
1400
1525
|
radiationResolution: Enums.Resolution;
|
|
1526
|
+
transect: Entities.Transect;
|
|
1401
1527
|
fixedOrientation: number;
|
|
1402
1528
|
orientation: number;
|
|
1403
1529
|
fixedInclination: number;
|
|
@@ -1418,7 +1544,6 @@ export class FlammableOutputConfigSchema extends SchemaBase<FlammableOutputConfi
|
|
|
1418
1544
|
.concat(
|
|
1419
1545
|
Joi.object({
|
|
1420
1546
|
position: new LocalPositionSchema().schema,
|
|
1421
|
-
transect: new TransectSchema().schema,
|
|
1422
1547
|
radiationType: Joi.string().valid(
|
|
1423
1548
|
...Object.values(Enums.RadiationType)
|
|
1424
1549
|
.filter((v) => typeof v === 'number')
|
|
@@ -1435,6 +1560,7 @@ export class FlammableOutputConfigSchema extends SchemaBase<FlammableOutputConfi
|
|
|
1435
1560
|
.filter((v) => typeof v === 'number')
|
|
1436
1561
|
.sort(),
|
|
1437
1562
|
),
|
|
1563
|
+
transect: new TransectSchema().schema,
|
|
1438
1564
|
fixedOrientation: Joi.number().integer(),
|
|
1439
1565
|
orientation: Joi.number().unsafe(),
|
|
1440
1566
|
fixedInclination: Joi.number().integer(),
|
|
@@ -1447,11 +1573,11 @@ export class FlammableOutputConfigSchema extends SchemaBase<FlammableOutputConfi
|
|
|
1447
1573
|
this.propertyTypes = {
|
|
1448
1574
|
...this.propertyTypes,
|
|
1449
1575
|
position: 'LocalPosition',
|
|
1450
|
-
transect: 'Transect',
|
|
1451
1576
|
radiationType: 'Enums.RadiationType',
|
|
1452
1577
|
contourType: 'Enums.ContourType',
|
|
1453
1578
|
radiationLevel: 'number',
|
|
1454
1579
|
radiationResolution: 'Enums.Resolution',
|
|
1580
|
+
transect: 'Transect',
|
|
1455
1581
|
fixedOrientation: 'number',
|
|
1456
1582
|
orientation: 'number',
|
|
1457
1583
|
fixedInclination: 'number',
|
|
@@ -1527,13 +1653,13 @@ export interface FlashResultSchemaData extends SchemaBaseData {
|
|
|
1527
1653
|
vapourEntropy: number;
|
|
1528
1654
|
liquidEnthalpy: number;
|
|
1529
1655
|
vapourEnthalpy: number;
|
|
1656
|
+
fluidPhase: Enums.Phase;
|
|
1530
1657
|
bubblePointPressure: number;
|
|
1531
1658
|
bubblePointTemperature: number;
|
|
1532
1659
|
dewPointPressure: number;
|
|
1533
1660
|
dewPointTemperature: number;
|
|
1534
1661
|
totalFluidDensity: number;
|
|
1535
1662
|
liquidMassFraction: number;
|
|
1536
|
-
fluidPhase: Enums.Phase;
|
|
1537
1663
|
}
|
|
1538
1664
|
|
|
1539
1665
|
/**
|
|
@@ -1558,17 +1684,17 @@ export class FlashResultSchema extends SchemaBase<FlashResultSchemaData> {
|
|
|
1558
1684
|
vapourEntropy: Joi.number().unsafe(),
|
|
1559
1685
|
liquidEnthalpy: Joi.number().unsafe(),
|
|
1560
1686
|
vapourEnthalpy: Joi.number().unsafe(),
|
|
1687
|
+
fluidPhase: Joi.string().valid(
|
|
1688
|
+
...Object.values(Enums.Phase)
|
|
1689
|
+
.filter((v) => typeof v === 'number')
|
|
1690
|
+
.sort(),
|
|
1691
|
+
),
|
|
1561
1692
|
bubblePointPressure: Joi.number().unsafe(),
|
|
1562
1693
|
bubblePointTemperature: Joi.number().unsafe(),
|
|
1563
1694
|
dewPointPressure: Joi.number().unsafe(),
|
|
1564
1695
|
dewPointTemperature: Joi.number().unsafe(),
|
|
1565
1696
|
totalFluidDensity: Joi.number().unsafe(),
|
|
1566
1697
|
liquidMassFraction: Joi.number().unsafe(),
|
|
1567
|
-
fluidPhase: Joi.string().valid(
|
|
1568
|
-
...Object.values(Enums.Phase)
|
|
1569
|
-
.filter((v) => typeof v === 'number')
|
|
1570
|
-
.sort(),
|
|
1571
|
-
),
|
|
1572
1698
|
}),
|
|
1573
1699
|
)
|
|
1574
1700
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -1585,13 +1711,13 @@ export class FlashResultSchema extends SchemaBase<FlashResultSchemaData> {
|
|
|
1585
1711
|
vapourEntropy: 'number',
|
|
1586
1712
|
liquidEnthalpy: 'number',
|
|
1587
1713
|
vapourEnthalpy: 'number',
|
|
1714
|
+
fluidPhase: 'Enums.Phase',
|
|
1588
1715
|
bubblePointPressure: 'number',
|
|
1589
1716
|
bubblePointTemperature: 'number',
|
|
1590
1717
|
dewPointPressure: 'number',
|
|
1591
1718
|
dewPointTemperature: 'number',
|
|
1592
1719
|
totalFluidDensity: 'number',
|
|
1593
1720
|
liquidMassFraction: 'number',
|
|
1594
|
-
fluidPhase: 'Enums.Phase',
|
|
1595
1721
|
};
|
|
1596
1722
|
}
|
|
1597
1723
|
|
|
@@ -1601,9 +1727,9 @@ export class FlashResultSchema extends SchemaBase<FlashResultSchemaData> {
|
|
|
1601
1727
|
}
|
|
1602
1728
|
|
|
1603
1729
|
export interface LeakSchemaData extends SchemaBaseData {
|
|
1604
|
-
holeDiameter: number;
|
|
1605
1730
|
releaseAngle: number;
|
|
1606
1731
|
timeVaryingOption: Enums.TimeVaryingOption;
|
|
1732
|
+
holeDiameter: number;
|
|
1607
1733
|
holeHeightFraction: number;
|
|
1608
1734
|
releaseElevation: number;
|
|
1609
1735
|
}
|
|
@@ -1621,13 +1747,13 @@ export class LeakSchema extends SchemaBase<LeakSchemaData> {
|
|
|
1621
1747
|
this.schema = this.schema
|
|
1622
1748
|
.concat(
|
|
1623
1749
|
Joi.object({
|
|
1624
|
-
holeDiameter: Joi.number().unsafe(),
|
|
1625
1750
|
releaseAngle: Joi.number().unsafe(),
|
|
1626
1751
|
timeVaryingOption: Joi.string().valid(
|
|
1627
1752
|
...Object.values(Enums.TimeVaryingOption)
|
|
1628
1753
|
.filter((v) => typeof v === 'number')
|
|
1629
1754
|
.sort(),
|
|
1630
1755
|
),
|
|
1756
|
+
holeDiameter: Joi.number().unsafe(),
|
|
1631
1757
|
holeHeightFraction: Joi.number().unsafe(),
|
|
1632
1758
|
releaseElevation: Joi.number().unsafe(),
|
|
1633
1759
|
}),
|
|
@@ -1637,9 +1763,9 @@ export class LeakSchema extends SchemaBase<LeakSchemaData> {
|
|
|
1637
1763
|
|
|
1638
1764
|
this.propertyTypes = {
|
|
1639
1765
|
...this.propertyTypes,
|
|
1640
|
-
holeDiameter: 'number',
|
|
1641
1766
|
releaseAngle: 'number',
|
|
1642
1767
|
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
1768
|
+
holeDiameter: 'number',
|
|
1643
1769
|
holeHeightFraction: 'number',
|
|
1644
1770
|
releaseElevation: 'number',
|
|
1645
1771
|
};
|
|
@@ -1651,10 +1777,10 @@ export class LeakSchema extends SchemaBase<LeakSchemaData> {
|
|
|
1651
1777
|
}
|
|
1652
1778
|
|
|
1653
1779
|
export interface LineRuptureSchemaData extends SchemaBaseData {
|
|
1654
|
-
pipeDiameter: number;
|
|
1655
|
-
pipeLength: number;
|
|
1656
1780
|
releaseAngle: number;
|
|
1657
1781
|
timeVaryingOption: Enums.TimeVaryingOption;
|
|
1782
|
+
pipeDiameter: number;
|
|
1783
|
+
pipeLength: number;
|
|
1658
1784
|
pipeRoughness: number;
|
|
1659
1785
|
pipeHeightFraction: number;
|
|
1660
1786
|
}
|
|
@@ -1672,14 +1798,14 @@ export class LineRuptureSchema extends SchemaBase<LineRuptureSchemaData> {
|
|
|
1672
1798
|
this.schema = this.schema
|
|
1673
1799
|
.concat(
|
|
1674
1800
|
Joi.object({
|
|
1675
|
-
pipeDiameter: Joi.number().unsafe(),
|
|
1676
|
-
pipeLength: Joi.number().unsafe(),
|
|
1677
1801
|
releaseAngle: Joi.number().unsafe(),
|
|
1678
1802
|
timeVaryingOption: Joi.string().valid(
|
|
1679
1803
|
...Object.values(Enums.TimeVaryingOption)
|
|
1680
1804
|
.filter((v) => typeof v === 'number')
|
|
1681
1805
|
.sort(),
|
|
1682
1806
|
),
|
|
1807
|
+
pipeDiameter: Joi.number().unsafe(),
|
|
1808
|
+
pipeLength: Joi.number().unsafe(),
|
|
1683
1809
|
pipeRoughness: Joi.number().unsafe(),
|
|
1684
1810
|
pipeHeightFraction: Joi.number().unsafe(),
|
|
1685
1811
|
}),
|
|
@@ -1689,10 +1815,10 @@ export class LineRuptureSchema extends SchemaBase<LineRuptureSchemaData> {
|
|
|
1689
1815
|
|
|
1690
1816
|
this.propertyTypes = {
|
|
1691
1817
|
...this.propertyTypes,
|
|
1692
|
-
pipeDiameter: 'number',
|
|
1693
|
-
pipeLength: 'number',
|
|
1694
1818
|
releaseAngle: 'number',
|
|
1695
1819
|
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
1820
|
+
pipeDiameter: 'number',
|
|
1821
|
+
pipeLength: 'number',
|
|
1696
1822
|
pipeRoughness: 'number',
|
|
1697
1823
|
pipeHeightFraction: 'number',
|
|
1698
1824
|
};
|
|
@@ -1704,11 +1830,11 @@ export class LineRuptureSchema extends SchemaBase<LineRuptureSchemaData> {
|
|
|
1704
1830
|
}
|
|
1705
1831
|
|
|
1706
1832
|
export interface MaterialComponentDataItemSchemaData extends SchemaBaseData {
|
|
1833
|
+
description: string;
|
|
1707
1834
|
equationNumber: number;
|
|
1835
|
+
equationString: string;
|
|
1708
1836
|
equationCoefficients: number[];
|
|
1709
1837
|
calculationLimits: number[];
|
|
1710
|
-
description: string;
|
|
1711
|
-
equationString: string;
|
|
1712
1838
|
supercriticalExtrapolation: number;
|
|
1713
1839
|
fractionTc: number;
|
|
1714
1840
|
}
|
|
@@ -1726,11 +1852,11 @@ export class MaterialComponentDataItemSchema extends SchemaBase<MaterialComponen
|
|
|
1726
1852
|
this.schema = this.schema
|
|
1727
1853
|
.concat(
|
|
1728
1854
|
Joi.object({
|
|
1855
|
+
description: Joi.string().allow(''),
|
|
1729
1856
|
equationNumber: Joi.number().integer(),
|
|
1857
|
+
equationString: Joi.string().allow(''),
|
|
1730
1858
|
equationCoefficients: Joi.array().items(Joi.number().unsafe()).allow(null),
|
|
1731
1859
|
calculationLimits: Joi.array().items(Joi.number().unsafe()).allow(null),
|
|
1732
|
-
description: Joi.string().allow(''),
|
|
1733
|
-
equationString: Joi.string().allow(''),
|
|
1734
1860
|
supercriticalExtrapolation: Joi.number().unsafe(),
|
|
1735
1861
|
fractionTc: Joi.number().unsafe(),
|
|
1736
1862
|
}),
|
|
@@ -1740,11 +1866,11 @@ export class MaterialComponentDataItemSchema extends SchemaBase<MaterialComponen
|
|
|
1740
1866
|
|
|
1741
1867
|
this.propertyTypes = {
|
|
1742
1868
|
...this.propertyTypes,
|
|
1869
|
+
description: 'string',
|
|
1743
1870
|
equationNumber: 'number',
|
|
1871
|
+
equationString: 'string',
|
|
1744
1872
|
equationCoefficients: 'number[]',
|
|
1745
1873
|
calculationLimits: 'number[]',
|
|
1746
|
-
description: 'string',
|
|
1747
|
-
equationString: 'string',
|
|
1748
1874
|
supercriticalExtrapolation: 'number',
|
|
1749
1875
|
fractionTc: 'number',
|
|
1750
1876
|
};
|
|
@@ -1756,10 +1882,10 @@ export class MaterialComponentDataItemSchema extends SchemaBase<MaterialComponen
|
|
|
1756
1882
|
}
|
|
1757
1883
|
|
|
1758
1884
|
export interface MaterialComponentDataSchemaData extends SchemaBaseData {
|
|
1885
|
+
name: string;
|
|
1759
1886
|
dipprVersion: number;
|
|
1760
1887
|
casId: number;
|
|
1761
1888
|
dataItem: Entities.MaterialComponentDataItem[];
|
|
1762
|
-
name: string;
|
|
1763
1889
|
}
|
|
1764
1890
|
|
|
1765
1891
|
/**
|
|
@@ -1775,10 +1901,10 @@ export class MaterialComponentDataSchema extends SchemaBase<MaterialComponentDat
|
|
|
1775
1901
|
this.schema = this.schema
|
|
1776
1902
|
.concat(
|
|
1777
1903
|
Joi.object({
|
|
1904
|
+
name: Joi.string().allow(''),
|
|
1778
1905
|
dipprVersion: Joi.number().integer(),
|
|
1779
1906
|
casId: Joi.number().integer(),
|
|
1780
1907
|
dataItem: Joi.array().items(new MaterialComponentDataItemSchema().schema).allow(null),
|
|
1781
|
-
name: Joi.string().allow(''),
|
|
1782
1908
|
}),
|
|
1783
1909
|
)
|
|
1784
1910
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -1786,10 +1912,10 @@ export class MaterialComponentDataSchema extends SchemaBase<MaterialComponentDat
|
|
|
1786
1912
|
|
|
1787
1913
|
this.propertyTypes = {
|
|
1788
1914
|
...this.propertyTypes,
|
|
1915
|
+
name: 'string',
|
|
1789
1916
|
dipprVersion: 'number',
|
|
1790
1917
|
casId: 'number',
|
|
1791
1918
|
dataItem: 'MaterialComponentDataItem[]',
|
|
1792
|
-
name: 'string',
|
|
1793
1919
|
};
|
|
1794
1920
|
}
|
|
1795
1921
|
|
|
@@ -1803,6 +1929,7 @@ export interface MixtureConstantPropertiesResultSchemaData extends SchemaBaseDat
|
|
|
1803
1929
|
upperFlammabilityLimit: number;
|
|
1804
1930
|
criticalPressure: number;
|
|
1805
1931
|
criticalTemperature: number;
|
|
1932
|
+
flammableToxicFlag: Enums.FlammableToxic;
|
|
1806
1933
|
flashPoint: number;
|
|
1807
1934
|
heatCombustion: number;
|
|
1808
1935
|
maximumBurnRate: number;
|
|
@@ -1810,11 +1937,10 @@ export interface MixtureConstantPropertiesResultSchemaData extends SchemaBaseDat
|
|
|
1810
1937
|
molecularWeight: number;
|
|
1811
1938
|
bubblePoint: number;
|
|
1812
1939
|
poolFireBurnRateLength: number;
|
|
1940
|
+
luminousSmokyFlame: Enums.LuminousSmokyFlame;
|
|
1813
1941
|
dewPoint: number;
|
|
1814
1942
|
emissivePowerLengthScale: number;
|
|
1815
1943
|
laminarBurningVelocity: number;
|
|
1816
|
-
flammableToxicFlag: Enums.FlammableToxic;
|
|
1817
|
-
luminousSmokyFlame: Enums.LuminousSmokyFlame;
|
|
1818
1944
|
}
|
|
1819
1945
|
|
|
1820
1946
|
/**
|
|
@@ -1834,6 +1960,11 @@ export class MixtureConstantPropertiesResultSchema extends SchemaBase<MixtureCon
|
|
|
1834
1960
|
upperFlammabilityLimit: Joi.number().unsafe(),
|
|
1835
1961
|
criticalPressure: Joi.number().unsafe(),
|
|
1836
1962
|
criticalTemperature: Joi.number().unsafe(),
|
|
1963
|
+
flammableToxicFlag: Joi.string().valid(
|
|
1964
|
+
...Object.values(Enums.FlammableToxic)
|
|
1965
|
+
.filter((v) => typeof v === 'number')
|
|
1966
|
+
.sort(),
|
|
1967
|
+
),
|
|
1837
1968
|
flashPoint: Joi.number().unsafe(),
|
|
1838
1969
|
heatCombustion: Joi.number().unsafe(),
|
|
1839
1970
|
maximumBurnRate: Joi.number().unsafe(),
|
|
@@ -1841,19 +1972,14 @@ export class MixtureConstantPropertiesResultSchema extends SchemaBase<MixtureCon
|
|
|
1841
1972
|
molecularWeight: Joi.number().unsafe(),
|
|
1842
1973
|
bubblePoint: Joi.number().unsafe(),
|
|
1843
1974
|
poolFireBurnRateLength: Joi.number().unsafe(),
|
|
1844
|
-
dewPoint: Joi.number().unsafe(),
|
|
1845
|
-
emissivePowerLengthScale: Joi.number().unsafe(),
|
|
1846
|
-
laminarBurningVelocity: Joi.number().unsafe(),
|
|
1847
|
-
flammableToxicFlag: Joi.string().valid(
|
|
1848
|
-
...Object.values(Enums.FlammableToxic)
|
|
1849
|
-
.filter((v) => typeof v === 'number')
|
|
1850
|
-
.sort(),
|
|
1851
|
-
),
|
|
1852
1975
|
luminousSmokyFlame: Joi.string().valid(
|
|
1853
1976
|
...Object.values(Enums.LuminousSmokyFlame)
|
|
1854
1977
|
.filter((v) => typeof v === 'number')
|
|
1855
1978
|
.sort(),
|
|
1856
1979
|
),
|
|
1980
|
+
dewPoint: Joi.number().unsafe(),
|
|
1981
|
+
emissivePowerLengthScale: Joi.number().unsafe(),
|
|
1982
|
+
laminarBurningVelocity: Joi.number().unsafe(),
|
|
1857
1983
|
}),
|
|
1858
1984
|
)
|
|
1859
1985
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -1865,6 +1991,7 @@ export class MixtureConstantPropertiesResultSchema extends SchemaBase<MixtureCon
|
|
|
1865
1991
|
upperFlammabilityLimit: 'number',
|
|
1866
1992
|
criticalPressure: 'number',
|
|
1867
1993
|
criticalTemperature: 'number',
|
|
1994
|
+
flammableToxicFlag: 'Enums.FlammableToxic',
|
|
1868
1995
|
flashPoint: 'number',
|
|
1869
1996
|
heatCombustion: 'number',
|
|
1870
1997
|
maximumBurnRate: 'number',
|
|
@@ -1872,11 +1999,10 @@ export class MixtureConstantPropertiesResultSchema extends SchemaBase<MixtureCon
|
|
|
1872
1999
|
molecularWeight: 'number',
|
|
1873
2000
|
bubblePoint: 'number',
|
|
1874
2001
|
poolFireBurnRateLength: 'number',
|
|
2002
|
+
luminousSmokyFlame: 'Enums.LuminousSmokyFlame',
|
|
1875
2003
|
dewPoint: 'number',
|
|
1876
2004
|
emissivePowerLengthScale: 'number',
|
|
1877
2005
|
laminarBurningVelocity: 'number',
|
|
1878
|
-
flammableToxicFlag: 'Enums.FlammableToxic',
|
|
1879
|
-
luminousSmokyFlame: 'Enums.LuminousSmokyFlame',
|
|
1880
2006
|
};
|
|
1881
2007
|
}
|
|
1882
2008
|
|
|
@@ -1890,9 +2016,9 @@ export interface PipeSchemaData extends SchemaBaseData {
|
|
|
1890
2016
|
nodes: Entities.LocalPosition[];
|
|
1891
2017
|
nodeCount: number;
|
|
1892
2018
|
diameter: number;
|
|
2019
|
+
roughness: number;
|
|
1893
2020
|
material: Entities.Material;
|
|
1894
2021
|
state: Entities.State;
|
|
1895
|
-
roughness: number;
|
|
1896
2022
|
pumpedInflow: number;
|
|
1897
2023
|
}
|
|
1898
2024
|
|
|
@@ -1913,9 +2039,9 @@ export class PipeSchema extends SchemaBase<PipeSchemaData> {
|
|
|
1913
2039
|
nodes: Joi.array().items(new LocalPositionSchema().schema).allow(null),
|
|
1914
2040
|
nodeCount: Joi.number().integer(),
|
|
1915
2041
|
diameter: Joi.number().unsafe(),
|
|
2042
|
+
roughness: Joi.number().unsafe(),
|
|
1916
2043
|
material: new MaterialSchema().schema,
|
|
1917
2044
|
state: new StateSchema().schema,
|
|
1918
|
-
roughness: Joi.number().unsafe(),
|
|
1919
2045
|
pumpedInflow: Joi.number().unsafe(),
|
|
1920
2046
|
}),
|
|
1921
2047
|
)
|
|
@@ -1928,9 +2054,9 @@ export class PipeSchema extends SchemaBase<PipeSchemaData> {
|
|
|
1928
2054
|
nodes: 'LocalPosition[]',
|
|
1929
2055
|
nodeCount: 'number',
|
|
1930
2056
|
diameter: 'number',
|
|
2057
|
+
roughness: 'number',
|
|
1931
2058
|
material: 'Material',
|
|
1932
2059
|
state: 'State',
|
|
1933
|
-
roughness: 'number',
|
|
1934
2060
|
pumpedInflow: 'number',
|
|
1935
2061
|
};
|
|
1936
2062
|
}
|
|
@@ -1941,10 +2067,12 @@ export class PipeSchema extends SchemaBase<PipeSchemaData> {
|
|
|
1941
2067
|
}
|
|
1942
2068
|
|
|
1943
2069
|
export interface PipeBreachSchemaData extends SchemaBaseData {
|
|
1944
|
-
distanceDownstream: number;
|
|
1945
2070
|
releaseAngle: number;
|
|
1946
2071
|
timeVaryingOption: Enums.TimeVaryingOption;
|
|
2072
|
+
distanceDownstream: number;
|
|
1947
2073
|
relativeAperture: number;
|
|
2074
|
+
holeDiameter: number;
|
|
2075
|
+
breachSizingMethod: Enums.BreachSizingMethod;
|
|
1948
2076
|
}
|
|
1949
2077
|
|
|
1950
2078
|
/**
|
|
@@ -1960,14 +2088,20 @@ export class PipeBreachSchema extends SchemaBase<PipeBreachSchemaData> {
|
|
|
1960
2088
|
this.schema = this.schema
|
|
1961
2089
|
.concat(
|
|
1962
2090
|
Joi.object({
|
|
1963
|
-
distanceDownstream: Joi.number().unsafe(),
|
|
1964
2091
|
releaseAngle: Joi.number().unsafe(),
|
|
1965
2092
|
timeVaryingOption: Joi.string().valid(
|
|
1966
2093
|
...Object.values(Enums.TimeVaryingOption)
|
|
1967
2094
|
.filter((v) => typeof v === 'number')
|
|
1968
2095
|
.sort(),
|
|
1969
2096
|
),
|
|
2097
|
+
distanceDownstream: Joi.number().unsafe(),
|
|
1970
2098
|
relativeAperture: Joi.number().unsafe(),
|
|
2099
|
+
holeDiameter: Joi.number().unsafe(),
|
|
2100
|
+
breachSizingMethod: Joi.string().valid(
|
|
2101
|
+
...Object.values(Enums.BreachSizingMethod)
|
|
2102
|
+
.filter((v) => typeof v === 'number')
|
|
2103
|
+
.sort(),
|
|
2104
|
+
),
|
|
1971
2105
|
}),
|
|
1972
2106
|
)
|
|
1973
2107
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -1975,10 +2109,12 @@ export class PipeBreachSchema extends SchemaBase<PipeBreachSchemaData> {
|
|
|
1975
2109
|
|
|
1976
2110
|
this.propertyTypes = {
|
|
1977
2111
|
...this.propertyTypes,
|
|
1978
|
-
distanceDownstream: 'number',
|
|
1979
2112
|
releaseAngle: 'number',
|
|
1980
2113
|
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
2114
|
+
distanceDownstream: 'number',
|
|
1981
2115
|
relativeAperture: 'number',
|
|
2116
|
+
holeDiameter: 'number',
|
|
2117
|
+
breachSizingMethod: 'Enums.BreachSizingMethod',
|
|
1982
2118
|
};
|
|
1983
2119
|
}
|
|
1984
2120
|
|
|
@@ -1990,13 +2126,13 @@ export class PipeBreachSchema extends SchemaBase<PipeBreachSchemaData> {
|
|
|
1990
2126
|
export interface PoolFireFlameResultSchemaData extends SchemaBaseData {
|
|
1991
2127
|
time: number;
|
|
1992
2128
|
surfaceEmissivePower: number;
|
|
2129
|
+
fireType: Enums.FireType;
|
|
1993
2130
|
flameLength: number;
|
|
1994
2131
|
flameDiameter: number;
|
|
1995
|
-
poolZoneSEP: number[];
|
|
1996
|
-
poolCentre: number;
|
|
1997
|
-
fireType: Enums.FireType;
|
|
1998
2132
|
liftOffHeight: number;
|
|
1999
2133
|
liftOffTime: number;
|
|
2134
|
+
poolZoneSEP: number[];
|
|
2135
|
+
poolCentre: number;
|
|
2000
2136
|
}
|
|
2001
2137
|
|
|
2002
2138
|
/**
|
|
@@ -2014,17 +2150,17 @@ export class PoolFireFlameResultSchema extends SchemaBase<PoolFireFlameResultSch
|
|
|
2014
2150
|
Joi.object({
|
|
2015
2151
|
time: Joi.number().unsafe(),
|
|
2016
2152
|
surfaceEmissivePower: Joi.number().unsafe(),
|
|
2017
|
-
flameLength: Joi.number().unsafe(),
|
|
2018
|
-
flameDiameter: Joi.number().unsafe(),
|
|
2019
|
-
poolZoneSEP: Joi.array().items(Joi.number().unsafe()).allow(null),
|
|
2020
|
-
poolCentre: Joi.number().unsafe(),
|
|
2021
2153
|
fireType: Joi.string().valid(
|
|
2022
2154
|
...Object.values(Enums.FireType)
|
|
2023
2155
|
.filter((v) => typeof v === 'number')
|
|
2024
2156
|
.sort(),
|
|
2025
2157
|
),
|
|
2158
|
+
flameLength: Joi.number().unsafe(),
|
|
2159
|
+
flameDiameter: Joi.number().unsafe(),
|
|
2026
2160
|
liftOffHeight: Joi.number().unsafe(),
|
|
2027
2161
|
liftOffTime: Joi.number().unsafe(),
|
|
2162
|
+
poolZoneSEP: Joi.array().items(Joi.number().unsafe()).allow(null),
|
|
2163
|
+
poolCentre: Joi.number().unsafe(),
|
|
2028
2164
|
}),
|
|
2029
2165
|
)
|
|
2030
2166
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -2034,13 +2170,13 @@ export class PoolFireFlameResultSchema extends SchemaBase<PoolFireFlameResultSch
|
|
|
2034
2170
|
...this.propertyTypes,
|
|
2035
2171
|
time: 'number',
|
|
2036
2172
|
surfaceEmissivePower: 'number',
|
|
2173
|
+
fireType: 'Enums.FireType',
|
|
2037
2174
|
flameLength: 'number',
|
|
2038
2175
|
flameDiameter: 'number',
|
|
2039
|
-
poolZoneSEP: 'number[]',
|
|
2040
|
-
poolCentre: 'number',
|
|
2041
|
-
fireType: 'Enums.FireType',
|
|
2042
2176
|
liftOffHeight: 'number',
|
|
2043
2177
|
liftOffTime: 'number',
|
|
2178
|
+
poolZoneSEP: 'number[]',
|
|
2179
|
+
poolCentre: 'number',
|
|
2044
2180
|
};
|
|
2045
2181
|
}
|
|
2046
2182
|
|
|
@@ -2128,7 +2264,7 @@ export interface PoolVapourisationParametersSchemaData extends SchemaBaseData {
|
|
|
2128
2264
|
/**
|
|
2129
2265
|
* ================================================================================
|
|
2130
2266
|
* Class: PoolVapourisationParametersSchema
|
|
2131
|
-
* Description: Pool vapourisation parameters
|
|
2267
|
+
* Description: Pool vapourisation parameters.
|
|
2132
2268
|
* ================================================================================
|
|
2133
2269
|
*/
|
|
2134
2270
|
export class PoolVapourisationParametersSchema extends SchemaBase<PoolVapourisationParametersSchemaData> {
|
|
@@ -2161,8 +2297,8 @@ export class PoolVapourisationParametersSchema extends SchemaBase<PoolVapourisat
|
|
|
2161
2297
|
|
|
2162
2298
|
export interface RadiationRecordSchemaData extends SchemaBaseData {
|
|
2163
2299
|
position: Entities.LocalPosition;
|
|
2164
|
-
radiationResult: number;
|
|
2165
2300
|
radiationType: Enums.RadiationType;
|
|
2301
|
+
radiationResult: number;
|
|
2166
2302
|
}
|
|
2167
2303
|
|
|
2168
2304
|
/**
|
|
@@ -2179,12 +2315,12 @@ export class RadiationRecordSchema extends SchemaBase<RadiationRecordSchemaData>
|
|
|
2179
2315
|
.concat(
|
|
2180
2316
|
Joi.object({
|
|
2181
2317
|
position: new LocalPositionSchema().schema,
|
|
2182
|
-
radiationResult: Joi.number().unsafe(),
|
|
2183
2318
|
radiationType: Joi.string().valid(
|
|
2184
2319
|
...Object.values(Enums.RadiationType)
|
|
2185
2320
|
.filter((v) => typeof v === 'number')
|
|
2186
2321
|
.sort(),
|
|
2187
2322
|
),
|
|
2323
|
+
radiationResult: Joi.number().unsafe(),
|
|
2188
2324
|
}),
|
|
2189
2325
|
)
|
|
2190
2326
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -2193,8 +2329,8 @@ export class RadiationRecordSchema extends SchemaBase<RadiationRecordSchemaData>
|
|
|
2193
2329
|
this.propertyTypes = {
|
|
2194
2330
|
...this.propertyTypes,
|
|
2195
2331
|
position: 'LocalPosition',
|
|
2196
|
-
radiationResult: 'number',
|
|
2197
2332
|
radiationType: 'Enums.RadiationType',
|
|
2333
|
+
radiationResult: 'number',
|
|
2198
2334
|
};
|
|
2199
2335
|
}
|
|
2200
2336
|
|
|
@@ -2204,11 +2340,11 @@ export class RadiationRecordSchema extends SchemaBase<RadiationRecordSchemaData>
|
|
|
2204
2340
|
}
|
|
2205
2341
|
|
|
2206
2342
|
export interface ReliefValveSchemaData extends SchemaBaseData {
|
|
2343
|
+
releaseAngle: number;
|
|
2344
|
+
timeVaryingOption: Enums.TimeVaryingOption;
|
|
2207
2345
|
reliefValveConstrictionDiameter: number;
|
|
2208
2346
|
pipeDiameter: number;
|
|
2209
2347
|
pipeLength: number;
|
|
2210
|
-
releaseAngle: number;
|
|
2211
|
-
timeVaryingOption: Enums.TimeVaryingOption;
|
|
2212
2348
|
pipeRoughness: number;
|
|
2213
2349
|
pipeHeightFraction: number;
|
|
2214
2350
|
}
|
|
@@ -2226,15 +2362,15 @@ export class ReliefValveSchema extends SchemaBase<ReliefValveSchemaData> {
|
|
|
2226
2362
|
this.schema = this.schema
|
|
2227
2363
|
.concat(
|
|
2228
2364
|
Joi.object({
|
|
2229
|
-
reliefValveConstrictionDiameter: Joi.number().unsafe(),
|
|
2230
|
-
pipeDiameter: Joi.number().unsafe(),
|
|
2231
|
-
pipeLength: Joi.number().unsafe(),
|
|
2232
2365
|
releaseAngle: Joi.number().unsafe(),
|
|
2233
2366
|
timeVaryingOption: Joi.string().valid(
|
|
2234
2367
|
...Object.values(Enums.TimeVaryingOption)
|
|
2235
2368
|
.filter((v) => typeof v === 'number')
|
|
2236
2369
|
.sort(),
|
|
2237
2370
|
),
|
|
2371
|
+
reliefValveConstrictionDiameter: Joi.number().unsafe(),
|
|
2372
|
+
pipeDiameter: Joi.number().unsafe(),
|
|
2373
|
+
pipeLength: Joi.number().unsafe(),
|
|
2238
2374
|
pipeRoughness: Joi.number().unsafe(),
|
|
2239
2375
|
pipeHeightFraction: Joi.number().unsafe(),
|
|
2240
2376
|
}),
|
|
@@ -2244,11 +2380,11 @@ export class ReliefValveSchema extends SchemaBase<ReliefValveSchemaData> {
|
|
|
2244
2380
|
|
|
2245
2381
|
this.propertyTypes = {
|
|
2246
2382
|
...this.propertyTypes,
|
|
2383
|
+
releaseAngle: 'number',
|
|
2384
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
2247
2385
|
reliefValveConstrictionDiameter: 'number',
|
|
2248
2386
|
pipeDiameter: 'number',
|
|
2249
2387
|
pipeLength: 'number',
|
|
2250
|
-
releaseAngle: 'number',
|
|
2251
|
-
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
2252
2388
|
pipeRoughness: 'number',
|
|
2253
2389
|
pipeHeightFraction: 'number',
|
|
2254
2390
|
};
|
|
@@ -2311,11 +2447,11 @@ export class SafetySystemSchema extends SchemaBase<SafetySystemSchemaData> {
|
|
|
2311
2447
|
export interface ScalarUdmOutputsSchemaData extends SchemaBaseData {
|
|
2312
2448
|
observerCount: number;
|
|
2313
2449
|
recordCount: number;
|
|
2450
|
+
cloudType: Enums.DynamicType;
|
|
2314
2451
|
minimumConcentration: number;
|
|
2315
2452
|
windPower: number;
|
|
2316
2453
|
frictionVelocity: number;
|
|
2317
2454
|
dispersionReleaseDuration: number;
|
|
2318
|
-
cloudType: Enums.DynamicType;
|
|
2319
2455
|
}
|
|
2320
2456
|
|
|
2321
2457
|
/**
|
|
@@ -2333,15 +2469,15 @@ export class ScalarUdmOutputsSchema extends SchemaBase<ScalarUdmOutputsSchemaDat
|
|
|
2333
2469
|
Joi.object({
|
|
2334
2470
|
observerCount: Joi.number().integer(),
|
|
2335
2471
|
recordCount: Joi.number().integer(),
|
|
2336
|
-
minimumConcentration: Joi.number().unsafe(),
|
|
2337
|
-
windPower: Joi.number().unsafe(),
|
|
2338
|
-
frictionVelocity: Joi.number().unsafe(),
|
|
2339
|
-
dispersionReleaseDuration: Joi.number().unsafe(),
|
|
2340
2472
|
cloudType: Joi.string().valid(
|
|
2341
2473
|
...Object.values(Enums.DynamicType)
|
|
2342
2474
|
.filter((v) => typeof v === 'number')
|
|
2343
2475
|
.sort(),
|
|
2344
2476
|
),
|
|
2477
|
+
minimumConcentration: Joi.number().unsafe(),
|
|
2478
|
+
windPower: Joi.number().unsafe(),
|
|
2479
|
+
frictionVelocity: Joi.number().unsafe(),
|
|
2480
|
+
dispersionReleaseDuration: Joi.number().unsafe(),
|
|
2345
2481
|
}),
|
|
2346
2482
|
)
|
|
2347
2483
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -2351,11 +2487,11 @@ export class ScalarUdmOutputsSchema extends SchemaBase<ScalarUdmOutputsSchemaDat
|
|
|
2351
2487
|
...this.propertyTypes,
|
|
2352
2488
|
observerCount: 'number',
|
|
2353
2489
|
recordCount: 'number',
|
|
2490
|
+
cloudType: 'Enums.DynamicType',
|
|
2354
2491
|
minimumConcentration: 'number',
|
|
2355
2492
|
windPower: 'number',
|
|
2356
2493
|
frictionVelocity: 'number',
|
|
2357
2494
|
dispersionReleaseDuration: 'number',
|
|
2358
|
-
cloudType: 'Enums.DynamicType',
|
|
2359
2495
|
};
|
|
2360
2496
|
}
|
|
2361
2497
|
|
|
@@ -2365,10 +2501,10 @@ export class ScalarUdmOutputsSchema extends SchemaBase<ScalarUdmOutputsSchemaDat
|
|
|
2365
2501
|
}
|
|
2366
2502
|
|
|
2367
2503
|
export interface ShortPipeRuptureSchemaData extends SchemaBaseData {
|
|
2368
|
-
pipeLength: number;
|
|
2369
|
-
pipeDiameter: number;
|
|
2370
2504
|
releaseAngle: number;
|
|
2371
2505
|
timeVaryingOption: Enums.TimeVaryingOption;
|
|
2506
|
+
pipeLength: number;
|
|
2507
|
+
pipeDiameter: number;
|
|
2372
2508
|
pipeRoughness: number;
|
|
2373
2509
|
pipeHeightFraction: number;
|
|
2374
2510
|
}
|
|
@@ -2376,7 +2512,7 @@ export interface ShortPipeRuptureSchemaData extends SchemaBaseData {
|
|
|
2376
2512
|
/**
|
|
2377
2513
|
* ================================================================================
|
|
2378
2514
|
* Class: ShortPipeRuptureSchema
|
|
2379
|
-
* Description: Short pipe rupture scenario
|
|
2515
|
+
* Description: Short pipe rupture scenario.
|
|
2380
2516
|
* ================================================================================
|
|
2381
2517
|
*/
|
|
2382
2518
|
export class ShortPipeRuptureSchema extends SchemaBase<ShortPipeRuptureSchemaData> {
|
|
@@ -2386,14 +2522,14 @@ export class ShortPipeRuptureSchema extends SchemaBase<ShortPipeRuptureSchemaDat
|
|
|
2386
2522
|
this.schema = this.schema
|
|
2387
2523
|
.concat(
|
|
2388
2524
|
Joi.object({
|
|
2389
|
-
pipeLength: Joi.number().unsafe(),
|
|
2390
|
-
pipeDiameter: Joi.number().unsafe(),
|
|
2391
2525
|
releaseAngle: Joi.number().unsafe(),
|
|
2392
2526
|
timeVaryingOption: Joi.string().valid(
|
|
2393
2527
|
...Object.values(Enums.TimeVaryingOption)
|
|
2394
2528
|
.filter((v) => typeof v === 'number')
|
|
2395
2529
|
.sort(),
|
|
2396
2530
|
),
|
|
2531
|
+
pipeLength: Joi.number().unsafe(),
|
|
2532
|
+
pipeDiameter: Joi.number().unsafe(),
|
|
2397
2533
|
pipeRoughness: Joi.number().unsafe(),
|
|
2398
2534
|
pipeHeightFraction: Joi.number().unsafe(),
|
|
2399
2535
|
}),
|
|
@@ -2403,10 +2539,10 @@ export class ShortPipeRuptureSchema extends SchemaBase<ShortPipeRuptureSchemaDat
|
|
|
2403
2539
|
|
|
2404
2540
|
this.propertyTypes = {
|
|
2405
2541
|
...this.propertyTypes,
|
|
2406
|
-
pipeLength: 'number',
|
|
2407
|
-
pipeDiameter: 'number',
|
|
2408
2542
|
releaseAngle: 'number',
|
|
2409
2543
|
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
2544
|
+
pipeLength: 'number',
|
|
2545
|
+
pipeDiameter: 'number',
|
|
2410
2546
|
pipeRoughness: 'number',
|
|
2411
2547
|
pipeHeightFraction: 'number',
|
|
2412
2548
|
};
|
|
@@ -2455,10 +2591,10 @@ export class StructureSchema extends SchemaBase<StructureSchemaData> {
|
|
|
2455
2591
|
}
|
|
2456
2592
|
|
|
2457
2593
|
export interface SubstrateSchemaData extends SchemaBaseData {
|
|
2458
|
-
bund: Entities.Bund;
|
|
2459
2594
|
surfaceRoughness: number;
|
|
2460
2595
|
surfaceType: Enums.SurfaceType;
|
|
2461
2596
|
poolSurfaceType: Enums.PoolSurfaceType;
|
|
2597
|
+
bund: Entities.Bund;
|
|
2462
2598
|
}
|
|
2463
2599
|
|
|
2464
2600
|
/**
|
|
@@ -2474,7 +2610,6 @@ export class SubstrateSchema extends SchemaBase<SubstrateSchemaData> {
|
|
|
2474
2610
|
this.schema = this.schema
|
|
2475
2611
|
.concat(
|
|
2476
2612
|
Joi.object({
|
|
2477
|
-
bund: new BundSchema().schema,
|
|
2478
2613
|
surfaceRoughness: Joi.number().unsafe(),
|
|
2479
2614
|
surfaceType: Joi.string().valid(
|
|
2480
2615
|
...Object.values(Enums.SurfaceType)
|
|
@@ -2486,6 +2621,7 @@ export class SubstrateSchema extends SchemaBase<SubstrateSchemaData> {
|
|
|
2486
2621
|
.filter((v) => typeof v === 'number')
|
|
2487
2622
|
.sort(),
|
|
2488
2623
|
),
|
|
2624
|
+
bund: new BundSchema().schema,
|
|
2489
2625
|
}),
|
|
2490
2626
|
)
|
|
2491
2627
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -2493,10 +2629,10 @@ export class SubstrateSchema extends SchemaBase<SubstrateSchemaData> {
|
|
|
2493
2629
|
|
|
2494
2630
|
this.propertyTypes = {
|
|
2495
2631
|
...this.propertyTypes,
|
|
2496
|
-
bund: 'Bund',
|
|
2497
2632
|
surfaceRoughness: 'number',
|
|
2498
2633
|
surfaceType: 'Enums.SurfaceType',
|
|
2499
2634
|
poolSurfaceType: 'Enums.PoolSurfaceType',
|
|
2635
|
+
bund: 'Bund',
|
|
2500
2636
|
};
|
|
2501
2637
|
}
|
|
2502
2638
|
|
|
@@ -2507,8 +2643,8 @@ export class SubstrateSchema extends SchemaBase<SubstrateSchemaData> {
|
|
|
2507
2643
|
|
|
2508
2644
|
export interface ToxicRecordSchemaData extends SchemaBaseData {
|
|
2509
2645
|
position: Entities.LocalPosition;
|
|
2510
|
-
toxicResult: number;
|
|
2511
2646
|
toxicResultType: Enums.ToxicResultType;
|
|
2647
|
+
toxicResult: number;
|
|
2512
2648
|
}
|
|
2513
2649
|
|
|
2514
2650
|
/**
|
|
@@ -2525,12 +2661,12 @@ export class ToxicRecordSchema extends SchemaBase<ToxicRecordSchemaData> {
|
|
|
2525
2661
|
.concat(
|
|
2526
2662
|
Joi.object({
|
|
2527
2663
|
position: new LocalPositionSchema().schema,
|
|
2528
|
-
toxicResult: Joi.number().unsafe(),
|
|
2529
2664
|
toxicResultType: Joi.string().valid(
|
|
2530
2665
|
...Object.values(Enums.ToxicResultType)
|
|
2531
2666
|
.filter((v) => typeof v === 'number')
|
|
2532
2667
|
.sort(),
|
|
2533
2668
|
),
|
|
2669
|
+
toxicResult: Joi.number().unsafe(),
|
|
2534
2670
|
}),
|
|
2535
2671
|
)
|
|
2536
2672
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -2539,8 +2675,8 @@ export class ToxicRecordSchema extends SchemaBase<ToxicRecordSchemaData> {
|
|
|
2539
2675
|
this.propertyTypes = {
|
|
2540
2676
|
...this.propertyTypes,
|
|
2541
2677
|
position: 'LocalPosition',
|
|
2542
|
-
toxicResult: 'number',
|
|
2543
2678
|
toxicResultType: 'Enums.ToxicResultType',
|
|
2679
|
+
toxicResult: 'number',
|
|
2544
2680
|
};
|
|
2545
2681
|
}
|
|
2546
2682
|
|
|
@@ -2552,15 +2688,15 @@ export class ToxicRecordSchema extends SchemaBase<ToxicRecordSchemaData> {
|
|
|
2552
2688
|
export interface VesselSchemaData extends SchemaBaseData {
|
|
2553
2689
|
location: Entities.LocalPosition;
|
|
2554
2690
|
state: Entities.State;
|
|
2555
|
-
material: Entities.Material;
|
|
2556
|
-
safetySystem: Entities.SafetySystem;
|
|
2557
2691
|
diameter: number;
|
|
2558
2692
|
height: number;
|
|
2559
2693
|
length: number;
|
|
2560
2694
|
width: number;
|
|
2561
2695
|
shape: Enums.VesselShape;
|
|
2696
|
+
material: Entities.Material;
|
|
2562
2697
|
vesselConditions: Enums.VesselConditions;
|
|
2563
2698
|
liquidFillFractionByVolume: number;
|
|
2699
|
+
safetySystem: Entities.SafetySystem;
|
|
2564
2700
|
}
|
|
2565
2701
|
|
|
2566
2702
|
/**
|
|
@@ -2578,8 +2714,6 @@ export class VesselSchema extends SchemaBase<VesselSchemaData> {
|
|
|
2578
2714
|
Joi.object({
|
|
2579
2715
|
location: new LocalPositionSchema().schema,
|
|
2580
2716
|
state: new StateSchema().schema,
|
|
2581
|
-
material: new MaterialSchema().schema,
|
|
2582
|
-
safetySystem: new SafetySystemSchema().schema,
|
|
2583
2717
|
diameter: Joi.number().unsafe(),
|
|
2584
2718
|
height: Joi.number().unsafe(),
|
|
2585
2719
|
length: Joi.number().unsafe(),
|
|
@@ -2589,12 +2723,14 @@ export class VesselSchema extends SchemaBase<VesselSchemaData> {
|
|
|
2589
2723
|
.filter((v) => typeof v === 'number')
|
|
2590
2724
|
.sort(),
|
|
2591
2725
|
),
|
|
2726
|
+
material: new MaterialSchema().schema,
|
|
2592
2727
|
vesselConditions: Joi.string().valid(
|
|
2593
2728
|
...Object.values(Enums.VesselConditions)
|
|
2594
2729
|
.filter((v) => typeof v === 'number')
|
|
2595
2730
|
.sort(),
|
|
2596
2731
|
),
|
|
2597
2732
|
liquidFillFractionByVolume: Joi.number().unsafe(),
|
|
2733
|
+
safetySystem: new SafetySystemSchema().schema,
|
|
2598
2734
|
}),
|
|
2599
2735
|
)
|
|
2600
2736
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -2604,15 +2740,15 @@ export class VesselSchema extends SchemaBase<VesselSchemaData> {
|
|
|
2604
2740
|
...this.propertyTypes,
|
|
2605
2741
|
location: 'LocalPosition',
|
|
2606
2742
|
state: 'State',
|
|
2607
|
-
material: 'Material',
|
|
2608
|
-
safetySystem: 'SafetySystem',
|
|
2609
2743
|
diameter: 'number',
|
|
2610
2744
|
height: 'number',
|
|
2611
2745
|
length: 'number',
|
|
2612
2746
|
width: 'number',
|
|
2613
2747
|
shape: 'Enums.VesselShape',
|
|
2748
|
+
material: 'Material',
|
|
2614
2749
|
vesselConditions: 'Enums.VesselConditions',
|
|
2615
2750
|
liquidFillFractionByVolume: 'number',
|
|
2751
|
+
safetySystem: 'SafetySystem',
|
|
2616
2752
|
};
|
|
2617
2753
|
}
|
|
2618
2754
|
|
|
@@ -2624,10 +2760,10 @@ export class VesselSchema extends SchemaBase<VesselSchemaData> {
|
|
|
2624
2760
|
export interface VesselLeakMaxFlammableCloudResultsSchemaData extends SchemaBaseData {
|
|
2625
2761
|
dischargeRate: number;
|
|
2626
2762
|
expandedTemperature: number;
|
|
2763
|
+
phase: Enums.Phase;
|
|
2627
2764
|
lflExtent: number;
|
|
2628
2765
|
lflArea: number;
|
|
2629
2766
|
lflHeight: number;
|
|
2630
|
-
phase: Enums.Phase;
|
|
2631
2767
|
}
|
|
2632
2768
|
|
|
2633
2769
|
/**
|
|
@@ -2645,14 +2781,14 @@ export class VesselLeakMaxFlammableCloudResultsSchema extends SchemaBase<VesselL
|
|
|
2645
2781
|
Joi.object({
|
|
2646
2782
|
dischargeRate: Joi.number().unsafe(),
|
|
2647
2783
|
expandedTemperature: Joi.number().unsafe(),
|
|
2648
|
-
lflExtent: Joi.number().unsafe(),
|
|
2649
|
-
lflArea: Joi.number().unsafe(),
|
|
2650
|
-
lflHeight: Joi.number().unsafe(),
|
|
2651
2784
|
phase: Joi.string().valid(
|
|
2652
2785
|
...Object.values(Enums.Phase)
|
|
2653
2786
|
.filter((v) => typeof v === 'number')
|
|
2654
2787
|
.sort(),
|
|
2655
2788
|
),
|
|
2789
|
+
lflExtent: Joi.number().unsafe(),
|
|
2790
|
+
lflArea: Joi.number().unsafe(),
|
|
2791
|
+
lflHeight: Joi.number().unsafe(),
|
|
2656
2792
|
}),
|
|
2657
2793
|
)
|
|
2658
2794
|
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
@@ -2662,10 +2798,10 @@ export class VesselLeakMaxFlammableCloudResultsSchema extends SchemaBase<VesselL
|
|
|
2662
2798
|
...this.propertyTypes,
|
|
2663
2799
|
dischargeRate: 'number',
|
|
2664
2800
|
expandedTemperature: 'number',
|
|
2801
|
+
phase: 'Enums.Phase',
|
|
2665
2802
|
lflExtent: 'number',
|
|
2666
2803
|
lflArea: 'number',
|
|
2667
2804
|
lflHeight: 'number',
|
|
2668
|
-
phase: 'Enums.Phase',
|
|
2669
2805
|
};
|
|
2670
2806
|
}
|
|
2671
2807
|
|