stardis-solver

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

commit 6d0a24a5da6828e45561ee176507ef9ad5c10dc7
parent b70da9b167f88ad1d611593f4bc8bc41cf745e03
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 10 Apr 2018 10:43:29 +0200

Add a unique identifier to the sdis_medium

Diffstat:
Msrc/sdis_device.c | 3+++
Msrc/sdis_device_c.h | 1+
Msrc/sdis_medium.c | 2++
Msrc/sdis_medium_c.h | 1+
4 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/sdis_device.c b/src/sdis_device.c @@ -51,7 +51,9 @@ device_release(ref_T* ref) if(dev->s2d) S2D(device_ref_put(dev->s2d)); if(dev->s3d) S3D(device_ref_put(dev->s3d)); ASSERT(flist_name_is_empty(&dev->interfaces_names)); + ASSERT(flist_name_is_empty(&dev->media_names)); flist_name_release(&dev->interfaces_names); + flist_name_release(&dev->media_names); darray_tile_release(&dev->tiles); MEM_RM(dev->allocator, dev); } @@ -95,6 +97,7 @@ sdis_device_create dev->nthreads = MMIN(nthreads_hint, (unsigned)omp_get_num_procs()); ref_init(&dev->ref); flist_name_init(allocator, &dev->interfaces_names); + flist_name_init(allocator, &dev->media_names); darray_tile_init(allocator, &dev->tiles); res = darray_tile_resize(&dev->tiles, dev->nthreads); diff --git a/src/sdis_device_c.h b/src/sdis_device_c.h @@ -43,6 +43,7 @@ struct sdis_device { int verbose; struct flist_name interfaces_names; + struct flist_name media_names; struct darray_tile tiles; struct s2d_device* s2d; diff --git a/src/sdis_medium.c b/src/sdis_medium.c @@ -65,6 +65,7 @@ medium_create SDIS(device_ref_get(dev)); medium->dev = dev; medium->type = type; + medium->id = flist_name_add(&dev->media_names); exit: if(out_medium) *out_medium = medium; @@ -86,6 +87,7 @@ medium_release(ref_T* ref) medium = CONTAINER_OF(ref, struct sdis_medium, ref); dev = medium->dev; if(medium->data) SDIS(data_ref_put(medium->data)); + flist_name_del(&dev->media_names, medium->id); MEM_RM(dev->allocator, medium); SDIS(device_ref_put(dev)); } diff --git a/src/sdis_medium_c.h b/src/sdis_medium_c.h @@ -26,6 +26,7 @@ struct sdis_medium { } shader; struct sdis_data* data; + struct fid id; /* Unique identifier of the medium */ ref_T ref; struct sdis_device* dev;