sdis_heat_path_conductive_c.h (3218B)
1 /* Copyright (C) 2016-2025 |Méso|Star> (contact@meso-star.com) 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation, either version 3 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. */ 15 16 #ifndef SDIS_HEAT_PATH_CONDUCTIVE_C_H 17 #define SDIS_HEAT_PATH_CONDUCTIVE_C_H 18 19 #include <rsys/rsys.h> 20 21 /* Forward declarations */ 22 struct rwalk; 23 struct rwalk_context; 24 struct sdis_device; 25 struct sdis_medium; 26 struct sdis_scene; 27 struct solid_props; 28 struct ssp_rng; 29 struct temperature; 30 31 extern LOCAL_SYM res_T 32 check_solid_constant_properties 33 (struct sdis_device* dev, 34 const int evaluate_green, 35 const int use_wos_diffusion, 36 const struct solid_props* props_ref, 37 const struct solid_props* props); 38 39 /******************************************************************************* 40 * Conductive paths using custom user algorithm 41 ******************************************************************************/ 42 extern LOCAL_SYM res_T 43 conductive_path_custom_2d 44 (struct sdis_scene* scn, 45 const unsigned enc_id, /* Enclosure in which path is sampled */ 46 const struct sdis_medium* mdm, /* Medium in which path is sampled */ 47 struct rwalk* rwalk, 48 struct ssp_rng* rng, 49 struct temperature* T); 50 51 extern LOCAL_SYM res_T 52 conductive_path_custom_3d 53 (struct sdis_scene* scn, 54 const unsigned enc_id, /* Enclosure in which path is sampled */ 55 const struct sdis_medium* mdm, /* Medium in which path is sampled */ 56 struct rwalk* rwalk, 57 struct ssp_rng* rng, 58 struct temperature* T); 59 60 /******************************************************************************* 61 * Conductive paths using the delta sphere algorithm 62 ******************************************************************************/ 63 extern LOCAL_SYM res_T 64 conductive_path_delta_sphere_2d 65 (struct sdis_scene* scn, 66 struct rwalk_context* ctx, 67 struct rwalk* rwalk, 68 struct ssp_rng* rng, 69 struct temperature* T); 70 71 extern LOCAL_SYM res_T 72 conductive_path_delta_sphere_3d 73 (struct sdis_scene* scn, 74 struct rwalk_context* ctx, 75 struct rwalk* rwalk, 76 struct ssp_rng* rng, 77 struct temperature* T); 78 79 /******************************************************************************* 80 * Conductive paths using the walk on sphere algorithm 81 ******************************************************************************/ 82 extern LOCAL_SYM res_T 83 conductive_path_wos_2d 84 (struct sdis_scene* scn, 85 struct rwalk_context* ctx, 86 struct rwalk* rwalk, 87 struct ssp_rng* rng, 88 struct temperature* T); 89 90 extern LOCAL_SYM res_T 91 conductive_path_wos_3d 92 (struct sdis_scene* scn, 93 struct rwalk_context* ctx, 94 struct rwalk* rwalk, 95 struct ssp_rng* rng, 96 struct temperature* T); 97 98 #endif /* SDIS_HEAT_PATH_CONDUCTIVE_C_H */