Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
cassiopee
jalhyd
Commits
0bf3e568
Commit
0bf3e568
authored
May 14, 2020
by
Mathias Chouet
🍝
Browse files
[WIP] Fix
#221
- add Cunge80 discharge law to Cloisons
parent
6b8ccc21
Changes
7
Hide whitespace changes
Inline
Side-by-side
spec/iterator/param_equation.spec.ts
View file @
0bf3e568
...
...
@@ -39,7 +39,7 @@ describe("iterator : ", () => {
pst
.
addChild
(
st
);
const
symbs
=
[
"
Q
"
,
"
Z1
"
,
"
Z2
"
,
"
CdWR
"
,
"
CdGR
"
,
"
CdWSL
"
,
"
CdWS
"
,
"
h1
"
,
"
h2
"
,
"
L
"
,
"
Q
"
,
"
W
"
,
"
Z1
"
,
"
Z2
"
,
"
ZDV
"
"
Q
"
,
"
Z1
"
,
"
Z2
"
,
"
CdWR
"
,
"
CdGR
"
,
"
CdCunge
"
,
"
CdWSL
"
,
"
CdWS
"
,
"
h1
"
,
"
h2
"
,
"
L
"
,
"
Q
"
,
"
W
"
,
"
Z1
"
,
"
Z2
"
,
"
ZDV
"
];
const
vals
=
[
1
,
2
,
3
];
checkParams
(
pst
.
parameterIterator
,
symbs
,
vals
);
...
...
spec/structure/functions.ts
View file @
0bf3e568
...
...
@@ -189,7 +189,8 @@ export function testParallelStructures(o: { ps: ParallelStructure, ld: number[]
}
else
{
// Cas normal : On teste la valeur calculée
if
(
ParamCalculability
.
DICHO
===
prm
.
calculability
)
{
it
(
`should return
${
ref
}
`
,
()
=>
{
fit
(
`should return
${
ref
}
`
,
()
=>
{
// console.log(o.ps.serialise());
checkResult
(
o
.
ps
.
CalcSerie
(),
ref
);
/* checkResult(o.ps.Calc({
uid: o.ps.structures[i].uid,
...
...
src/structure/factory_structure.ts
View file @
0bf3e568
...
...
@@ -81,10 +81,12 @@ export function CreateStructure(loiDebit: LoiDebit, parentNub?: ParallelStructur
case
LoiDebit
.
GateCunge80
:
ret
=
new
StructureGateCunge80
(
rectStructPrms
,
dbg
);
rectStructPrms
.
CdCunge
.
singleValue
=
1
;
break
;
case
LoiDebit
.
WeirCunge80
:
ret
=
new
StructureWeirCunge80
(
rectStructPrms
,
dbg
);
rectStructPrms
.
CdCunge
.
singleValue
=
1
;
break
;
case
LoiDebit
.
RectangularOrificeFree
:
...
...
src/structure/rectangular_structure.ts
View file @
0bf3e568
...
...
@@ -13,6 +13,7 @@ export abstract class RectangularStructure extends Structure {
this
.
prms
.
CdWR
.
visible
=
false
;
this
.
prms
.
CdWS
.
visible
=
false
;
this
.
prms
.
CdWSL
.
visible
=
false
;
this
.
prms
.
CdCunge
.
visible
=
false
;
}
/**
...
...
src/structure/rectangular_structure_params.ts
View file @
0bf3e568
...
...
@@ -21,6 +21,9 @@ export class RectangularStructureParams extends StructureParams {
public
CdWSL
:
ParamDefinition
;
// tslint:disable-next-line:variable-name
public
CdWS
:
ParamDefinition
;
// tslint:disable-next-line:variable-name
public
CdCunge
:
ParamDefinition
;
/**
* Constructeur d'une structure rectangulaire
...
...
@@ -45,5 +48,7 @@ export class RectangularStructureParams extends StructureParams {
this
.
addParamDefinition
(
this
.
CdWSL
);
this
.
CdWS
=
new
ParamDefinition
(
this
,
"
CdWS
"
,
domainCd
,
undefined
,
rCd
);
this
.
addParamDefinition
(
this
.
CdWS
);
this
.
CdCunge
=
new
ParamDefinition
(
this
,
"
CdCunge
"
,
domainCd
,
undefined
,
rCd
);
this
.
addParamDefinition
(
this
.
CdCunge
);
}
}
src/structure/structure_gate_cunge80.ts
View file @
0bf3e568
...
...
@@ -17,7 +17,7 @@ export class StructureGateCunge80 extends RectangularStructure {
this
.
_isZDVcalculable
=
false
;
}
this
.
prms
.
W
.
visible
=
true
;
this
.
prms
.
Cd
GR
.
visible
=
true
;
this
.
prms
.
Cd
Cunge
.
visible
=
true
;
}
/**
...
...
@@ -32,21 +32,21 @@ export class StructureGateCunge80 extends RectangularStructure {
case
StructureFlowRegime
.
FREE
:
if
(
data
.
ENUM_StructureFlowMode
===
StructureFlowMode
.
WEIR
)
{
const
R32
:
number
=
3
*
Math
.
sqrt
(
3
)
/
2
;
v
=
this
.
prms
.
Cd
GR
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
/
R32
*
Math
.
pow
(
this
.
prms
.
h1
.
v
,
1.5
);
v
=
this
.
prms
.
Cd
Cunge
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
/
R32
*
Math
.
pow
(
this
.
prms
.
h1
.
v
,
1.5
);
this
.
debug
(
"
StructureCunge80.Equation WEIR FREE Q=
"
+
v
);
}
else
{
v
=
this
.
prms
.
Cd
GR
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
v
=
this
.
prms
.
Cd
Cunge
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
*
this
.
W
*
Math
.
pow
(
this
.
prms
.
h1
.
v
-
this
.
W
,
0.5
);
this
.
debug
(
"
StructureCunge80.Equation ORIFICE FREE Q=
"
+
v
);
}
break
;
case
StructureFlowRegime
.
SUBMERGED
:
if
(
data
.
ENUM_StructureFlowMode
===
StructureFlowMode
.
WEIR
)
{
v
=
this
.
prms
.
Cd
GR
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
*
this
.
prms
.
h2
.
v
v
=
this
.
prms
.
Cd
Cunge
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
*
this
.
prms
.
h2
.
v
*
Math
.
sqrt
(
this
.
prms
.
h1
.
v
-
this
.
prms
.
h2
.
v
);
this
.
debug
(
"
StructureCunge80.Equation WEIR SUBMERGED Q=
"
+
v
);
}
else
{
v
=
this
.
prms
.
Cd
GR
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
v
=
this
.
prms
.
Cd
Cunge
.
v
*
this
.
prms
.
L
.
v
*
Structure
.
R2G
*
this
.
W
*
Math
.
sqrt
(
this
.
prms
.
h1
.
v
-
this
.
prms
.
h2
.
v
);
this
.
debug
(
"
StructureCunge80.Equation ORIFICE SUBMERGED Q=
"
+
v
);
}
...
...
@@ -86,5 +86,6 @@ export class StructureGateCunge80 extends RectangularStructure {
protected
setParametersCalculability
()
{
super
.
setParametersCalculability
();
this
.
prms
.
W
.
calculability
=
ParamCalculability
.
DICHO
;
this
.
prms
.
CdCunge
.
calculability
=
ParamCalculability
.
DICHO
;
}
}
src/structure/structure_props.ts
View file @
0bf3e568
...
...
@@ -78,7 +78,7 @@ export const loiAdmissiblesCloisons: { [key: string]: LoiDebit[] } = {
LoiDebit
.
OrificeSubmerged
],
SeuilRectangulaire
:
[
LoiDebit
.
WeirSubmergedLarinier
,
LoiDebit
.
WeirVillemonte
LoiDebit
.
WeirSubmergedLarinier
,
LoiDebit
.
WeirVillemonte
,
LoiDebit
.
WeirCunge80
],
SeuilTriangulaire
:
[
LoiDebit
.
TriangularWeirFree
,
LoiDebit
.
TriangularWeirBroad
...
...
@@ -86,6 +86,9 @@ export const loiAdmissiblesCloisons: { [key: string]: LoiDebit[] } = {
SeuilTriangulaireTrunc
:
[
LoiDebit
.
TriangularTruncWeirFree
],
VanneRectangulaire
:
[
LoiDebit
.
GateCunge80
]
};
export
const
loiAdmissiblesDever
:
{
[
key
:
string
]:
LoiDebit
[]
}
=
{
...
...
@@ -105,7 +108,7 @@ export const loiAdmissiblesCloisonAval: { [key: string]: LoiDebit[] } = {
LoiDebit
.
OrificeSubmerged
],
SeuilRectangulaire
:
[
LoiDebit
.
WeirSubmergedLarinier
,
LoiDebit
.
WeirVillemonte
LoiDebit
.
WeirSubmergedLarinier
,
LoiDebit
.
WeirVillemonte
,
LoiDebit
.
WeirCunge80
],
VanneLevante
:
[
LoiDebit
.
VanLevVillemonte
,
LoiDebit
.
VanLevLarinier
...
...
@@ -115,6 +118,9 @@ export const loiAdmissiblesCloisonAval: { [key: string]: LoiDebit[] } = {
],
SeuilTriangulaireTrunc
:
[
LoiDebit
.
TriangularTruncWeirFree
],
VanneRectangulaire
:
[
LoiDebit
.
GateCunge80
]
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment