commit ef35ef9c486e8bfe3a7b2d46d48153264f032a1d
parent 98097d811e42e6e1e0cbe21a06fe9c2baddd1822
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 30 May 2018 11:10:09 +0200
Remove the delta_boundary solid parameter
Thanks to the new 2D reinjection pattern, this numerical parameter is no
more used by the solver and is thus removed from the API.
Diffstat:
21 files changed, 11 insertions(+), 188 deletions(-)
diff --git a/src/sdis.h b/src/sdis.h
@@ -138,7 +138,6 @@ struct sdis_solid_shader {
sdis_medium_getter_T thermal_conductivity; /* In W.m^-1.K^-1 */
sdis_medium_getter_T volumic_mass; /* In kg.m^-3 */
sdis_medium_getter_T delta_solid;
- sdis_medium_getter_T delta_boundary;
/* May be NULL if there is no volumic power. One can also return
* SDIS_VOLUMIC_POWER_NONE to define that there is no volumic power at the
@@ -149,7 +148,7 @@ struct sdis_solid_shader {
* unknown for the submitted random walk vertex. */
sdis_medium_getter_T temperature;
};
-#define SDIS_SOLID_SHADER_NULL__ {NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+#define SDIS_SOLID_SHADER_NULL__ {NULL, NULL, NULL, NULL, NULL, NULL}
static const struct sdis_solid_shader SDIS_SOLID_SHADER_NULL =
SDIS_SOLID_SHADER_NULL__;
diff --git a/src/sdis_medium.c b/src/sdis_medium.c
@@ -39,7 +39,6 @@ check_solid_shader(const struct sdis_solid_shader* shader)
&& shader->thermal_conductivity
&& shader->volumic_mass
&& shader->delta_solid
- && shader->delta_boundary
&& shader->temperature;
}
diff --git a/src/sdis_medium_c.h b/src/sdis_medium_c.h
@@ -94,14 +94,6 @@ solid_get_delta
}
static INLINE double
-solid_get_delta_boundary
- (const struct sdis_medium* mdm, const struct sdis_rwalk_vertex* vtx)
-{
- ASSERT(mdm && mdm->type == SDIS_SOLID);
- return mdm->shader.solid.delta_boundary(vtx, mdm->data);
-}
-
-static INLINE double
solid_get_volumic_power
(const struct sdis_medium* mdm, const struct sdis_rwalk_vertex* vtx)
{
diff --git a/src/sdis_solve_Xd.h b/src/sdis_solve_Xd.h
@@ -733,8 +733,10 @@ XD(boundary_temperature)
mdm = interface_get_medium(interf, frag.side);
if(sdis_medium_get_type(mdm) == SDIS_SOLID) {
const double phi = interface_side_get_flux(interf, &frag);
-
- if(phi != SDIS_FLUX_NONE) {
+ if(phi != SDIS_FLUX_NONE) { /* FIXME */
+#if 1
+ FATAL("Not implemented yet\n");
+#else
double lambda = solid_get_thermal_conductivity(mdm, &rwalk->vtx);
double delta_b = solid_get_delta_boundary(mdm, &rwalk->vtx);
double delta_b_in_meter = delta_b * fp_to_meter;
@@ -745,7 +747,7 @@ XD(boundary_temperature)
/* Update the temperature */
T->value += phi * delta_b_in_meter / lambda;
- /* Ensuure that the normal points toward the solid */
+ /* Ensure that the normal points toward the solid */
fX(normalize)(dir, rwalk->hit.normal);
if(frag.side == SDIS_BACK) fX(minus)(dir, dir);
@@ -763,6 +765,7 @@ XD(boundary_temperature)
rwalk->hit_side = SDIS_SIDE_NULL__;
rwalk->mdm = mdm;
return RES_OK;
+#endif
}
}
mdm_front = interface_get_medium(interf, SDIS_FRONT);
diff --git a/src/test_sdis_conducto_radiative.c b/src/test_sdis_conducto_radiative.c
@@ -168,14 +168,6 @@ solid_get_delta
return 1.0/10.0;
}
-static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- CHK(vtx != NULL); (void)data;
- return 2.1/10.0;
-}
-
/*******************************************************************************
* Interface
******************************************************************************/
@@ -303,7 +295,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = temperature_unknown;
CHK(sdis_solid_create(dev, &solid_shader, data, &solid) == RES_OK);
CHK(sdis_data_ref_put(data) == RES_OK);
@@ -316,7 +307,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = temperature_unknown;
CHK(sdis_solid_create(dev, &solid_shader, data, &solid2) == RES_OK);
CHK(sdis_data_ref_put(data) == RES_OK);
diff --git a/src/test_sdis_conducto_radiative_2d.c b/src/test_sdis_conducto_radiative_2d.c
@@ -149,14 +149,6 @@ solid_get_delta
return 1.0/10.0;
}
-static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- CHK(vtx != NULL); (void)data;
- return 2.1/10.0;
-}
-
/*******************************************************************************
* Interface
******************************************************************************/
@@ -317,7 +309,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = temperature_unknown;
CHK(sdis_solid_create(dev, &solid_shader, data, &solid) == RES_OK);
CHK(sdis_data_ref_put(data) == RES_OK);
@@ -330,7 +321,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
CHK(sdis_solid_create(dev, &solid_shader, data, &solid2) == RES_OK);
CHK(sdis_data_ref_put(data) == RES_OK);
diff --git a/src/test_sdis_flux.c b/src/test_sdis_flux.c
@@ -150,15 +150,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)data;
- CHK(vtx != NULL);
- return 2.1/20.0;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -235,7 +226,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_medium.c b/src/test_sdis_medium.c
@@ -87,10 +87,6 @@ main(int argc, char** argv)
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_BAD_ARG);
solid_shader.delta_solid = DUMMY_SOLID_SHADER.delta_solid;
- solid_shader.delta_boundary = NULL;
- CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_BAD_ARG);
- solid_shader.delta_boundary = DUMMY_SOLID_SHADER.delta_boundary;
-
solid_shader.temperature = NULL;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_BAD_ARG);
solid_shader.temperature = DUMMY_SOLID_SHADER.temperature;
diff --git a/src/test_sdis_solve_camera.c b/src/test_sdis_solve_camera.c
@@ -222,14 +222,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- CHK(data != NULL && vtx != NULL);
- return ((const struct solid*)sdis_data_cget(data))->delta * 2.1;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -308,7 +300,6 @@ create_solid
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
/* Create the solid medium */
diff --git a/src/test_sdis_solve_probe.c b/src/test_sdis_solve_probe.c
@@ -126,14 +126,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- CHK(data != NULL && vtx != NULL);
- return ((const struct solid*)sdis_data_cget(data))->delta * 2.1;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -230,7 +222,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
CHK(sdis_solid_create(dev, &solid_shader, data, &solid) == RES_OK);
CHK(sdis_data_ref_put(data) == RES_OK);
diff --git a/src/test_sdis_solve_probe2.c b/src/test_sdis_solve_probe2.c
@@ -114,15 +114,6 @@ solid_get_delta
return 1.0/20.0;
}
-static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)data;
- CHK(vtx != NULL);
- return 2.1/20.0;
-}
-
/*******************************************************************************
* Interface
******************************************************************************/
@@ -191,7 +182,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = temperature_unknown;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_solve_probe2_2d.c b/src/test_sdis_solve_probe2_2d.c
@@ -111,15 +111,6 @@ solid_get_delta
return 1.0/20.0;
}
-static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)data;
- CHK(vtx != NULL);
- return 2.1/20.0;
-}
-
/*******************************************************************************
* Interface
******************************************************************************/
@@ -188,7 +179,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = temperature_unknown;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_solve_probe3.c b/src/test_sdis_solve_probe3.c
@@ -136,15 +136,6 @@ solid_get_delta
return 1.0/20.0;
}
-static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)data;
- CHK(vtx != NULL);
- return 2.1/20.0;
-}
-
/*******************************************************************************
* Interface
******************************************************************************/
@@ -218,7 +209,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = temperature_unknown;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_solve_probe3_2d.c b/src/test_sdis_solve_probe3_2d.c
@@ -133,15 +133,6 @@ solid_get_delta
return 1.0/20.0;
}
-static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)data;
- CHK(vtx != NULL);
- return 2.1/20.0;
-}
-
/*******************************************************************************
* Interface
******************************************************************************/
@@ -213,7 +204,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = temperature_unknown;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_solve_probe_2d.c b/src/test_sdis_solve_probe_2d.c
@@ -108,14 +108,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)vtx, (void)data;
- return 2.1/20.0;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -170,7 +162,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_solve_probe_boundary.c b/src/test_sdis_solve_probe_boundary.c
@@ -161,15 +161,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)data;
- CHK(vtx != NULL);
- return 2.1/20.0;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -249,7 +240,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_utils.h b/src/test_sdis_utils.h
@@ -104,7 +104,6 @@ static const struct sdis_solid_shader DUMMY_SOLID_SHADER = {
dummy_medium_getter,
dummy_medium_getter,
dummy_medium_getter,
- dummy_medium_getter,
dummy_medium_getter
};
diff --git a/src/test_sdis_volumic_power.c b/src/test_sdis_volumic_power.c
@@ -160,15 +160,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- (void)data;
- CHK(vtx != NULL);
- return 2.1/20.0;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -253,7 +244,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
solid_shader.volumic_power = solid_get_volumic_power;
CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK);
diff --git a/src/test_sdis_volumic_power2_2d.c b/src/test_sdis_volumic_power2_2d.c
@@ -19,37 +19,17 @@
#define N 10000 /* #realisations */
#define Pw 10000 /* Volumic power */
-#define MDb sqrt(2.0) /* Multiplier applied to delta to define delta_boundary */
#define NONE -1
-/* H delta T: expected 286.83 C */
+/* H delta T. Expected temperature 286.83 C */
#define Tboundary1 NONE
#define Tboundary2 NONE
-/* Db = 2.1*D: 339.091 +/- 2.734920; #failures: 0
- * Db = 0.5*D: 286.182 +/- 2.202150; #failures: 0
- * Db = 0.5*D 100K real: 283.29 +/- 0.688329; #failures: 1
- * Db = 2.1*D wo Pw: 69.12 +/- 0.461998; #failures: 0
- * Db = 0.5*D wo Pw: 69.764 +/- 0.459326; #failures: 0 */
-#define DELTA 0.005
-
-/* Dirichlets: expected 246.93 C */
+#define DELTA 0.01
+
+/* Dirichlets. Expected temperature 246.93 C */
/*#define Tboundary1 373.15*/
/*#define Tboundary2 273.15*/
-/* Db = 2.1*D: 288.487 +/- 2.17576; #failures: 0
- * Db = 0.5*D: 244.382 +/- 1.71547; #failures: 1 */
/*#define DELTA 0.01*/
-/* Db = 2.1*D: 273.532 +/- 1.98965; #failures: 0
- * Db = 0.5*D: 243.219 +/- 1.70725: #failures: 1 */
-/*#define DELTA 0.005*/
-/* Db = 2.1*D: 263.626 +/- 1.90191; #failures: 0
- * Db = 0.5*D: 242.744 +/- 1.70677; #failures: 1 */
-/*#define DELTA 0.0025*/
-/* Db = 2.1*D: 256.081 +/- 1.8687; #failures: 0
- * Db = 0.5*D: 244.196 +/- 1.71475; # failures: 3 */
-/*#define DELTA 0.00125*/
-/*#define DELTA 0.000625*/ /* 250.615 +/- 1.80813; #failures: 0 */
-/*#define DELTA 0.0003125*/ /* 247.591 +/- 1.71263; #failures: 0 */
-/*#define DELTA 0.00015625*/ /* 249.829 +/- 1.77636; #failures: 2 */
/*
* _\ T1
@@ -171,14 +151,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- CHK(data != NULL && vtx != NULL);
- return ((const struct solid*)sdis_data_cget(data))->delta * MDb;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -295,7 +267,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
solid_shader.volumic_power = solid_get_volumic_power;
diff --git a/src/test_sdis_volumic_power3_2d.c b/src/test_sdis_volumic_power3_2d.c
@@ -28,7 +28,6 @@
#define DELTA 0.01 /* Delta of the middle slab */
#define DELTA1 0.02 /* Delta of the upper slab */
#define DELTA2 0.07 /* Delta of the lower slab */
-#define MDb 1.0 /* Multiplier applied to delta to define delta boundary */
#define L 0.2 /* Size of the middle slab */
#define L1 0.4 /* Size of the upper slab */
#define L2 1.4 /* Size of the lower slab */
@@ -181,14 +180,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- CHK(data != NULL && vtx != NULL);
- return ((const struct solid*)sdis_data_cget(data))->delta * MDb;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -302,7 +293,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
solid_shader.volumic_power = solid_get_volumic_power;
diff --git a/src/test_sdis_volumic_power4_2d.c b/src/test_sdis_volumic_power4_2d.c
@@ -138,14 +138,6 @@ solid_get_delta
}
static double
-solid_get_delta_boundary
- (const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
-{
- CHK(data != NULL && vtx != NULL);
- return ((const struct solid*)sdis_data_cget(data))->delta * 2.1;
-}
-
-static double
solid_get_temperature
(const struct sdis_rwalk_vertex* vtx, struct sdis_data* data)
{
@@ -251,7 +243,6 @@ main(int argc, char** argv)
solid_shader.thermal_conductivity = solid_get_thermal_conductivity;
solid_shader.volumic_mass = solid_get_volumic_mass;
solid_shader.delta_solid = solid_get_delta;
- solid_shader.delta_boundary = solid_get_delta_boundary;
solid_shader.temperature = solid_get_temperature;
solid_shader.volumic_power = solid_get_volumic_power;