stardis-solver

Solve coupled heat transfers
git clone git://git.meso-star.fr/stardis-solver.git
Log | Files | Refs | README | LICENSE

commit 590ebe6cb5f9993507b4a5f87f8b425b6303ff6a
parent 029cf15cc67fcdcc807fa2071db7557b1076f96f
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Mon, 27 Jul 2020 17:18:27 +0200

Rewind the time on solid reinjection

Diffstat:
Msrc/sdis_heat_path_boundary_Xd.h | 15+++++++++++++++
1 file changed, 15 insertions(+), 0 deletions(-)

diff --git a/src/sdis_heat_path_boundary_Xd.h b/src/sdis_heat_path_boundary_Xd.h @@ -600,6 +600,11 @@ XD(solid_solid_boundary_path) } } + /* Time rewind */ + res = XD(time_rewind)(mdm, rng, reinject_dst, fp_to_meter, ctx, rwalk, T); + if(res != RES_OK) goto error; + if(T->done) goto exit; /* Limit condition was reached */ + /* Perform reinjection. */ XD(move_pos)(rwalk->vtx.P, dir, (float)reinject_dst); if(hit->distance == reinject_dst) { @@ -764,6 +769,11 @@ XD(solid_fluid_boundary_path) } } + /* Time rewind */ + res = XD(time_rewind)(solid, rng, reinject_dst, fp_to_meter, ctx, rwalk, T); + if(res != RES_OK) goto error; + if(T->done) goto exit; /* Limit condition was reached */ + /* Perform solid reinjection */ XD(move_pos)(rwalk->vtx.P, dir0, reinject_dst); if(hit.distance == reinject_dst) { @@ -898,6 +908,11 @@ XD(solid_boundary_with_flux_path) } } + /* Time rewind */ + res = XD(time_rewind)(mdm, rng, reinject_dst, fp_to_meter, ctx, rwalk, T); + if(res != RES_OK) goto error; + if(T->done) goto exit; /* Limit condition was reached */ + /* Reinject. If the reinjection move the point too close of a boundary, * assume that the zone is isotherm and move to the boundary. */ XD(move_pos)(rwalk->vtx.P, dir0, reinject_dst);