AcouSTO Entry point.
53 double timebco, timemco, timesol;
75 mpierr = MPI_Init(&argc, &argv);
77 MPI_Comm_rank(MPI_COMM_WORLD, &
rank);
78 MPI_Comm_size(MPI_COMM_WORLD, &
size);
90 mysqlinfo =
calloc(1,
sizeof(
struct mysql_info));
106 static struct option long_options[] = {
107 {
"dat-file", required_argument, 0,
'f' },
108 {
"version", no_argument, 0,
'V' },
109 {
"help", no_argument, 0,
'h' },
110 {
"log-level", required_argument, 0,
'l' },
111 {
"estimate-memory", required_argument, 0,
'm' } ,
112 {
"check-dir", no_argument, 0,
'c' }
123 while ((c = getopt_long(argc, argv,
"f:l:Vhmc", long_options, &option_index)) != -1)
141 log_level = atoi(optarg);
146 fprintf(stderr,
"Option -%c requires an argument.\n", optopt);
153 logger(
LOG_INFO,
"**************** Job started ***************\n");
166 MPI_Bcast(&log_level, 1, MPI_INT, 0, MPI_COMM_WORLD);
178 MPI_Bcast(&mysqlinfo->active,1,MPI_INT,0,MPI_COMM_WORLD);
210 rawtime0 = MPI_Wtime();
212 MPI_Bcast(&onlymemoryout,1,MPI_INT,0,MPI_COMM_WORLD);
214 logger(
LOG_INFO,
"**************** Memory Estimate ***************\n");
216 logger(
LOG_INFO,
"Memory actually allocated heavily depends on \n");
217 logger(
LOG_INFO,
" the particular combination of parameters used \n");
219 PRINT_MEM(
"Estimated Memory for Each Process:", mem2);
220 logger(
LOG_INFO,
"**************** Memory Estimate-end ***********\n");
237 rawtime1 = MPI_Wtime();
258 rawtime2 = MPI_Wtime();
267 rawtime3 = MPI_Wtime();
281 rawtime4 = MPI_Wtime();
287 timesol = rawtime4 - rawtime1;
289 timebco = rawtime2 - rawtime1;
290 timemco = rawtime3 - rawtime2;
291 timesol = rawtime4 - rawtime3;
296 strftime(starttime,
sizeof(starttime),
"%a %Y-%m-%d %H:%M:%S %Z", localtime(&
rundetails->
starttime));
297 strftime(endtime,
sizeof(endtime),
"%a %Y-%m-%d %H:%M:%S %Z", localtime(&
rundetails->
endtime));
317 if(mysqlinfo->active) {
322 "**************** Job finished ***************\n");
#define MSG_SOLUTION_START
Definition: messages.h:50
int acoustic_mics_coefs()
Definition: ac_coef_mics.c:48
struct run_info * runinfo
Definition: globals.h:34
#define MSG_PROGRAM_END
Definition: messages.h:52
int npcols
Definition: structs.h:113
Definition: structs.h:392
int mysql_update()
Definition: mysqlsave.c:60
MPI_Datatype mpi_solinfo_type
Definition: globals.h:118
Definition: structs.h:355
const char * title
Definition: structs.h:135
int ncntr
Definition: structs.h:299
void Cblacs_pinfo(int *mypnum, int *nprocs)
int nimped
Definition: structs.h:450
int main_argc
Definition: globals.h:74
Holds Solution values.
Definition: structs.h:553
time_t endtime
Definition: structs.h:147
Parameters and variables for the solution Module.
Definition: structs.h:436
const char * owner
Definition: structs.h:133
char * cfg_filename
Definition: structs.h:137
void MPI_AcouSTO_structs()
Definition: mpiutils.c:54
int nnodes
Definition: structs.h:151
MPI_Datatype mpi_geominfo_type
Definition: globals.h:114
int myrow
Definition: structs.h:115
int nprows
Definition: structs.h:111
MEMORY TOTAL_MEMORY
Definition: globals.h:152
#define MSG_GEOMETRY_START
Definition: messages.h:44
BOOL active
Definition: structs.h:282
BOOL active
Definition: structs.h:393
void vrmlout_sol()
Definition: vrmlout_sol.c:30
void acoustic_solution()
Definition: solution.c:32
int size
Definition: globals.h:81
#define LOG_INFO
Definition: logger.h:26
void printhelp()
Definition: ac_mysqlread.c:56
char * cfg_filepath
Definition: structs.h:139
int georeader()
Definition: geom.c:64
int ctxt
Definition: structs.h:109
struct file_info * fileinfo
Definition: globals.h:32
double elapsed
Definition: structs.h:149
struct modcoefac_info * modcoefacinfo
Definition: globals.h:40
Details about the run.
Definition: structs.h:131
int Cblacs_gridinit(int *context, char *order, int np_row, int np_col)
BOOL active
Definition: structs.h:356
BOOL printwrl
Definition: structs.h:485
#define LOG_ERROR
Definition: logger.h:24
void cleanup()
Definition: cleanup.c:26
struct solution_struct * solution
Definition: globals.h:52
MPI_Datatype mpi_runinfo_type
Definition: globals.h:110
const char * ac_version
Definition: main.c:28
#define MSG_COEF_START
Definition: messages.h:45
int acoustic_body_coefs()
Definition: ac_coef_body.c:50
void Cblacs_get(int context, int request, int *value)
MEMORY estimate_memory2()
Definition: memory.c:145
void Cblacs_gridinfo(int context, int *np_row, int *np_col, int *my_row, int *my_col)
int custombc
Definition: structs.h:523
BOOL pre_calculate_coefs
Definition: structs.h:519
#define PRINT_MEM(s, memory)
Definition: allocation.h:24
struct modsol_info * modsolinfo
Definition: globals.h:44
void vtkout_unc()
Definition: vtkout_unc.c:34
void setLogLevel(int level)
Definition: logger.c:44
#define LOG_DEBUG
Definition: logger.h:27
int readconfig(char *datfile, int check_dir)
Definition: config.c:22
int nradian
Definition: structs.h:452
#define malloc(size)
Definition: allocation.h:38
int mycol
Definition: structs.h:117
BOOL printvtk
Definition: structs.h:482
#define MSG_BODYCOEF_ERROR
Definition: messages.h:40
double DOUBLE
Definition: types.h:44
char * datfile
Definition: globals.h:29
char ** main_argv
Definition: globals.h:75
int rank
Definition: globals.h:79
#define MSG_GEOM_ERROR
Definition: messages.h:36
Structure containing names of additional files.
Definition: structs.h:402
Structure containing information about the run.
Definition: structs.h:86
const char * ac_name
Definition: main.c:27
struct run_details * rundetails
Definition: globals.h:36
void Cblacs_gridexit(int context)
struct modcoemic_info * modcoemicinfo
Definition: globals.h:42
#define MSG_MICSCOEF_ERROR
Definition: messages.h:41
time_t starttime
Definition: structs.h:145
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
General information on geometry evaluation module.
Definition: structs.h:279
void vrmlout()
Definition: vrmlout.c:29