24 int i, ifreq, iphfr, nome;
27 DOUBLE impedreal, impedimag;
30 config_setting_t* freq_resp_cnt_cont;
31 config_setting_t* freq_resp_mic_cont;
32 const char* solvertype = NULL;
34 config_setting_t* phystagcont;
36 const char* phystagname;
84 logger(
LOG_INFO,
"dirneu defaults to 2 (Neumann-type conditions) if not present in config file\n");
90 logger(
LOG_INFO,
"custombc defaults to 0 if not present in config file\n");
94 phystagcont = config_lookup(&
config,
"modsol.gmshbc");
95 phystagname = config_setting_get_string_elem(phystagcont,0);
96 multif = strchr(phystagname,
'%');
110 nphystags = config_setting_length(phystagcont);
113 phystagname = config_setting_get_string_elem(phystagcont,i);
115 for(ifreq=0;ifreq<nome;ifreq++){
116 sprintf(physnamfreq,phystagname,ifreq);
118 iphfr = ifreq + i*nome;
119 if(-1 ==
read_gmshbc(iphfr,physnamfreq,gmshbc))
return -1;
123 sprintf(varname,
"%s.tag", phystagname);
129 if(-1 ==
read_gmshbc(i,phystagname,gmshbc))
return -1;
176 logger(
LOG_INFO,
"knw defaults to 2 if not present in config file\n");
243 "Number of frequencies (%d) is not >0, no solution will be evaluated\n",
247 freq_resp_cnt_cont = config_lookup(&
config,
"modsol.freq_resp_cnt");
248 freq_resp_mic_cont = config_lookup(&
config,
"modsol.freq_resp_mic");
249 if (freq_resp_cnt_cont != NULL) {
259 if (freq_resp_mic_cont != NULL) {
270 if (config_lookup(&
config,
"modsol.pre_calculate_coefs") != NULL) {
285 logger(
LOG_INFO,
"If coefficients are precalculated, modcoefac.active and modcoemic.active default to 1 (for v1.6 legacy consistency) \n");
293 if (NULL != config_lookup(&
config,
"modsol.solver")) {
295 if (NULL != solvertype) {
296 if (NULL != strstr(
"GMRES", solvertype)) {
315 if (config_lookup(&
config,
"modsol.onlyrep") != NULL) {
#define CONFIG_GET_INT(config, name, var)
Definition: config.h:47
int * i_freqresp_cnt
Definition: structs.h:610
struct run_info * runinfo
Definition: globals.h:34
const char * bc_gamma_file
Definition: structs.h:422
#define CONFIG_GET_STRING(config, name, var)
Definition: config.h:48
int ncntr
Definition: structs.h:299
External geometry boundary conditions assigned with physical tags stored in .msh file using GMSH v2...
Definition: structs.h:261
int nimped
Definition: structs.h:450
#define CONFIG_LOOKUP(config, name)
Definition: config.h:49
int read_gmshbc(int iphys, const char *phystagname, struct gmsh_bc *gmshgeom)
Definition: gmsh.c:22
int icnmon
Definition: structs.h:459
#define CREAL(x)
Definition: functions.h:49
int * i_freqresp_mic
Definition: structs.h:612
DOUBLE minsig
Definition: structs.h:480
BOOL radiantbody
Definition: structs.h:489
Definition: structs.h:430
int ndipoles
Definition: structs.h:503
BOOL active
Definition: structs.h:393
int nsourc
Definition: structs.h:448
int n_freqresp_mic
Definition: structs.h:499
#define CIMAG(x)
Definition: functions.h:50
int nchief
Definition: structs.h:301
DOUBLE maxome
Definition: structs.h:466
BOOL onlyrep
Definition: structs.h:526
struct phystag * phystags
Definition: globals.h:58
DOUBLE tolerance
Definition: structs.h:510
#define LOG_INFO
Definition: logger.h:26
int nsig
Definition: structs.h:456
int n_freqresp_cnt
Definition: structs.h:497
char * multif
Definition: globals.h:60
struct file_info * fileinfo
Definition: globals.h:32
int knw
Definition: structs.h:446
DOUBLE minfreq
Definition: structs.h:473
Definition: structs.h:429
DOUBLE maxfreq
Definition: structs.h:471
struct modcoefac_info * modcoefacinfo
Definition: globals.h:40
const char * dipoles_file
Definition: structs.h:418
BOOL active
Definition: structs.h:356
COMPLEX radiantfield
Definition: structs.h:493
const char * planw_file
Definition: structs.h:415
BOOL printwrl
Definition: structs.h:485
int nphystags
Definition: globals.h:62
#define LOG_ERROR
Definition: logger.h:24
DOUBLE rho
Definition: structs.h:476
struct solution_struct * solution
Definition: globals.h:52
struct config_t config
Definition: config.h:61
int custombc
Definition: structs.h:523
BOOL pre_calculate_coefs
Definition: structs.h:519
Physical Tags structure.
Definition: structs.h:191
BOOL printout
Definition: structs.h:486
enum SUPPORTED_SOLVERS solver
Definition: structs.h:507
int imimon
Definition: structs.h:461
struct modsol_info * modsolinfo
Definition: globals.h:44
const char * bc_g_file
Definition: structs.h:424
DOUBLE maxsig
Definition: structs.h:478
#define LOG_DEBUG
Definition: logger.h:27
const char * bc_func_file
Definition: structs.h:423
int nradian
Definition: structs.h:452
#define LOG_WARN
Definition: logger.h:25
#define malloc(size)
Definition: allocation.h:38
DOUBLE minome
Definition: structs.h:468
#define MSG_CFG_KROWPRECO0
Definition: messages.h:34
BOOL printvtk
Definition: structs.h:482
double DOUBLE
Definition: types.h:44
BOOL printmsh
Definition: structs.h:483
int iommon
Definition: structs.h:460
long restart
Definition: structs.h:516
int nome
Definition: structs.h:458
BOOL impedentbody
Definition: structs.h:491
struct modcoemic_info * modcoemicinfo
Definition: globals.h:42
const char * imped_file
Definition: structs.h:411
int krow
Definition: structs.h:105
const char * bc_lambda_file
Definition: structs.h:421
int nplanw
Definition: structs.h:454
const char * radiants_file
Definition: structs.h:413
#define MSG_CFG_FREQERROR
Definition: messages.h:31
#define PI
Definition: constants.h:35
#define MAX_PATH
Definition: constants.h:29
const char * sources_file
Definition: structs.h:409
#define CONFIG_GET_FLOAT(config, name, var)
Definition: config.h:44
long maxiterations
Definition: structs.h:513
void logger(int level, char *msg,...)
Definition: logger.c:56
#define calloc(n, size)
Definition: allocation.h:37
struct modgeom_info * modgeominfo
Definition: globals.h:38
BOOL active
Definition: structs.h:438
COMPLEX impedance
Definition: structs.h:495
int file_exists(const char *filename)
Definition: utils.c:48
int dirneu
Definition: structs.h:444