@@ -114,34 +114,32 @@ def do_comp_to_psinc_conv(Sol, mpv, bld, elem, node, th, ud, label, writer):
114
114
115
115
116
116
def do_psinc_to_comp_conv (
117
- Sol , flux , mpv , bld , elem , node , th , ud , label , writer , step , window_step , t , dt
117
+ sst , mem , bld , label , writer , step , tout ,
118
118
):
119
119
from ...flow_solver .discretisation import time_update
120
120
121
121
logging .info (f"Blending... step = { step } " )
122
- Sol_freeze = copy .deepcopy (Sol )
123
- mpv_freeze = copy .deepcopy (mpv )
122
+ Sol_freeze = copy .deepcopy (mem .sol )
123
+ mpv_freeze = copy .deepcopy (mem .mpv )
124
+
125
+ mem .time .step -= 1
126
+ mem .time .window_step = 0
124
127
125
128
ret = time_update .do (
126
- Sol ,
127
- flux ,
128
- mpv ,
129
- t ,
130
- t + dt ,
131
- ud ,
132
- elem ,
133
- node ,
134
- [0 , step - 1 ],
135
- th ,
129
+ sst ,
130
+ mem ,
131
+ tout ,
136
132
bld = None ,
137
133
writer = None ,
138
134
debug = False ,
139
135
)
140
136
137
+ ud = sst .ud
138
+
141
139
fac_old = ud .blending_weight
142
140
fac_new = 1.0 - fac_old
143
- dp2n_0 = fac_new * ret [ 2 ] .p2_nodes_half + fac_old * mpv_freeze .p2_nodes_half
144
- dp2n_1 = fac_new * ret [ 2 ] .p2_nodes + fac_old * mpv_freeze .p2_nodes
141
+ dp2n_0 = fac_new * ret . mpv .p2_nodes_half + fac_old * mpv_freeze .p2_nodes_half
142
+ dp2n_1 = fac_new * ret . mpv .p2_nodes + fac_old * mpv_freeze .p2_nodes
145
143
146
144
if ud .blending_type == "half" :
147
145
dp2n = dp2n_0
@@ -159,6 +157,8 @@ def do_psinc_to_comp_conv(
159
157
Sol = Sol_freeze
160
158
mpv = mpv_freeze
161
159
160
+ elem , node , _ , _ , _ , th , _ = mem
161
+
162
162
if writer != None :
163
163
writer .populate (str (label ) + "_after_full_step" , "dp2n" , dp2n )
164
164
logging .info ("Converting PSINC to COMP" )
@@ -382,15 +382,9 @@ def do_hydro_to_nonhydro_conv(
382
382
# Blending calls from data.py
383
383
######################################################
384
384
def blending_before_timestep (
385
- # Sol,
386
- # flux,
387
- # mpv,
388
- bld ,
385
+ sst ,
389
386
mem ,
390
- # elem,
391
- # node,
392
- # th,
393
- ud ,
387
+ bld ,
394
388
label ,
395
389
writer ,
396
390
step ,
@@ -404,7 +398,8 @@ def blending_before_timestep(
404
398
# Blending : Do full regime to limit regime conversion
405
399
######################################################
406
400
# do unpacking
407
- elem , node , Sol , flux , mpv , th , time = mem
401
+ elem , node , Sol , flux , mpv , th , _ = mem
402
+ ud = sst .ud
408
403
409
404
# these make sure that we are the correct window step
410
405
if bld is not None and window_step == 0 :
@@ -419,6 +414,10 @@ def blending_before_timestep(
419
414
Sol , mpv , bld , elem , node , th , ud , label , writer
420
415
)
421
416
417
+
418
+ mem .Sol = Sol
419
+ mem .mpv = mpv
420
+
422
421
######################################################
423
422
# Blending : Do full steps or transition steps?
424
423
######################################################
@@ -434,21 +433,15 @@ def blending_before_timestep(
434
433
if c_init and bld .cb and ud .blending_conv is not None :
435
434
# distinguish between Euler and SWE blending
436
435
if ud .blending_conv != "swe" :
437
- Sol , mpv = do_psinc_to_comp_conv (
438
- Sol ,
439
- flux ,
440
- mpv ,
436
+ do_psinc_to_comp_conv (
437
+ sst ,
438
+ mem ,
441
439
bld ,
442
- elem ,
443
- node ,
444
- th ,
445
440
ud ,
446
441
label ,
447
442
writer ,
448
443
step ,
449
- window_step ,
450
- t ,
451
- dt ,
444
+ t + dt ,
452
445
)
453
446
454
447
######################################################
@@ -496,21 +489,14 @@ def blending_before_timestep(
496
489
):
497
490
# Distinguish between SWE and Euler blendings
498
491
if ud .blending_conv != "swe" :
499
- Sol , mpv = do_psinc_to_comp_conv (
500
- Sol ,
501
- flux ,
502
- mpv ,
492
+ do_psinc_to_comp_conv (
493
+ sst ,
494
+ mem ,
503
495
bld ,
504
- elem ,
505
- node ,
506
- th ,
507
- ud ,
508
496
label ,
509
497
writer ,
510
498
step ,
511
- window_step ,
512
- t ,
513
- dt ,
499
+ t + dt ,
514
500
)
515
501
ud .is_compressible = 1
516
502
ud .compressibility = 1.0
0 commit comments