Computational Science Based on HPC
physics.h
Go to the documentation of this file.
1
6#ifndef PHYSICS_PHYSICS_H
7#define PHYSICS_PHYSICS_H
47extern char *
48damped_os_serial(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo,
49 double FI,
50 double time_limit, double step_size, double damping_coefficent, int number_of_files);
85extern char *
86damped_os_parallel_v1(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo,
87 double FI,
88 double time_limit, double step_size, double damping_coefficent, int number_of_files);
123extern char *
124damped_os_parallel_v2(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo,
125 double FI,
126 double time_limit, double step_size, double damping_coefficent, int number_of_files);
162extern char *
163elastic_pendulum(double r, double length, double mass, double gravity, double k, double Ao, double Xo,
164 double Yo,
165 double Vo,
166 double time_limit, double step_size, double damping_coefficent, int number_of_files);
199extern double
200damped_os_parallel_execution_time_v1(double max_amplitude, double length, double mass, double gravity, double k,
201 double Ao,
202 double Vo, double FI,
203 double time_limit, double step_size, double damping_coefficent,
204 int number_of_files);
238extern double
239damped_os_parallel_execution_time_v2(double max_amplitude, double length, double mass, double gravity, double k,
240 double Ao,
241 double Vo, double FI,
242 double time_limit, double step_size, double damping_coefficent,
243 int number_of_files);
279extern double
280damped_os_parallel_execution_time_v3(double max_amplitude, double length, double mass, double gravity, double k,
281 double Ao,
282 double Vo, double FI,
283 double time_limit, double step_size, double damping_coefficent,
284 int number_of_files, int num_of_threads);
317extern char *
318damped_os_serial_execution(double max_amplitude, double length, double mass, double gravity, double k,
319 double Ao,
320 double Vo, double FI,
321 double time_limit, double step_size, double damping_coefficent,
322 int number_of_files);
356extern char *
357elastic_pendulum_execution(double r, double length, double mass, double gravity, double k, double Ao, double Xo,
358 double Yo,
359 double Vo,
360 double time_limit, double step_size, double damping_coefficent, int number_of_files);
361
363
389extern int
390heat_equation_1D_P1_MPI(double time_step, double time_limit,
391 double space_step,
392 long long precision);
393
420extern int
421heat_equation_1D_P1_OPENMP(double time_step, double time_limit,
422 double space_step,
423 long long precision);
424
426
457extern int
458heat_equation_2D_P1_MPI(double time_step, double time_limit,
459 double spaceX_step, double spaceY_step,
460 long long precision);
461
491extern int
492heat_equation_2D_P1_OPENMP(double time_step, double time_limit,
493 double spaceX_step, double spaceY_step,
494 long long precision);
495
497
521extern char*
522heat_equation_1D_serial(double time_step, double time_limit, double space_step, long long precision);
523
525
554extern char*
555heat_equation_2D_serial(double time_step, double time_limit,
556 double spaceX_step, double spaceY_step,
557 long long precision);
558
560
586extern double
587heat_equation_execution_time_1D_P1_MPI(double time_step, double time_limit,
588 double space_step,
589 long long precision);
590
616extern double
617heat_equation_execution_time_1D_P1_OPENMP(double time_step, double time_limit,
618 double space_step,
619 long long precision);
620
622
649extern double
650heat_equation_execution_time_2D_P1_MPI(double time_step, double time_limit,
651 double spaceX_step, double spaceY_step,
652 long long precision);
653
681extern double heat_equation_execution_time_2D_P1_OPENMP(double time_step, double time_limit,
682 double spaceX_step, double spaceY_step,
683 long long precision);
684
686
711extern double
712heat_equation_execution_time_1D_serial(double time_step, double time_limit, double space_step, long long precision);
713
715
741extern double
742heat_equation_execution_time_2D_serial(double time_step, double time_limit,
743 double spaceX_step, double spaceY_step,
744 long long precision);
745
765extern void
767
768#endif // PHYSICS_PHYSICS_H
char * heat_equation_2D_serial(double time_step, double time_limit, double spaceX_step, double spaceY_step, long long precision)
This is a function that simulates the heat transfer in 2D object, and write the result to a file.
double damped_os_parallel_execution_time_v3(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo, double FI, double time_limit, double step_size, double damping_coefficent, int number_of_files, int num_of_threads)
This function calculate execution time simulating simple harmonic motion (Simple Spring Motion).
char * damped_os_parallel_v2(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo, double FI, double time_limit, double step_size, double damping_coefficent, int number_of_files)
This function simulates simple harmonic motion (Simple Spring Motion).
double heat_equation_execution_time_1D_serial(double time_step, double time_limit, double space_step, long long precision)
This is a function that simulates the heat transfer in 1D object as wire, and return the execution ti...
void finalize()
finalize the MPI and de-allocate the resources.
char * elastic_pendulum(double r, double length, double mass, double gravity, double k, double Ao, double Xo, double Yo, double Vo, double time_limit, double step_size, double damping_coefficent, int number_of_files)
function simulates the motion of (elastic pendulum/2D-spring/spring pendulum) system.
char * damped_os_parallel_v1(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo, double FI, double time_limit, double step_size, double damping_coefficent, int number_of_files)
function simulates simple harmonic motion (Simple Spring Motion).
int heat_equation_1D_P1_OPENMP(double time_step, double time_limit, double space_step, long long precision)
This is a function that simulates the heat transfer in 1D object as wire, and writes the result to a ...
double heat_equation_execution_time_2D_serial(double time_step, double time_limit, double spaceX_step, double spaceY_step, long long precision)
This is a function that simulates the heat transfer in 2D object, and return the execution time witho...
double heat_equation_execution_time_1D_P1_MPI(double time_step, double time_limit, double space_step, long long precision)
This is a function that simulates the heat transfer in 1D object as wire, and return the execution ti...
int heat_equation_1D_P1_MPI(double time_step, double time_limit, double space_step, long long precision)
This is a function that simulates the heat transfer in 1D object as wire, and each core writes the re...
int heat_equation_2D_P1_MPI(double time_step, double time_limit, double spaceX_step, double spaceY_step, long long precision)
This is a function that simulates the heat transfer in 2D object, and each core writes the result to ...
double damped_os_parallel_execution_time_v1(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo, double FI, double time_limit, double step_size, double damping_coefficent, int number_of_files)
This function calculate the execution time of simulating simple harmonic motion (Simple Spring Motion...
char * elastic_pendulum_execution(double r, double length, double mass, double gravity, double k, double Ao, double Xo, double Yo, double Vo, double time_limit, double step_size, double damping_coefficent, int number_of_files)
This function calculates the execution time of simulating the motion of (elastic pendulum/2D-spring/s...
double heat_equation_execution_time_2D_P1_OPENMP(double time_step, double time_limit, double spaceX_step, double spaceY_step, long long precision)
This is a function that simulates the heat transfer in 2D object, and return the execution time witho...
int heat_equation_2D_P1_OPENMP(double time_step, double time_limit, double spaceX_step, double spaceY_step, long long precision)
This is a function that simulates the heat transfer in 2D object, and each core writes the result to ...
char * heat_equation_1D_serial(double time_step, double time_limit, double space_step, long long precision)
This is a function that simulates the heat transfer in 1D object as wire, and write the result to a f...
char * damped_os_serial(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo, double FI, double time_limit, double step_size, double damping_coefficent, int number_of_files)
function simulates simple harmonic motion (Simple Spring Motion).
char * damped_os_serial_execution(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo, double FI, double time_limit, double step_size, double damping_coefficent, int number_of_files)
This function calculates execution time of simulating simple harmonic motion (Simple Spring Motion).
double heat_equation_execution_time_2D_P1_MPI(double time_step, double time_limit, double spaceX_step, double spaceY_step, long long precision)
This is a function that simulates the heat transfer in 2D object, and return the execution time witho...
double damped_os_parallel_execution_time_v2(double max_amplitude, double length, double mass, double gravity, double k, double Ao, double Vo, double FI, double time_limit, double step_size, double damping_coefficent, int number_of_files)
This function calculate execution time simulating simple harmonic motion (Simple Spring Motion).
double heat_equation_execution_time_1D_P1_OPENMP(double time_step, double time_limit, double space_step, long long precision)
This is a function that simulates the heat transfer in 1D object as wire, and return the execution ti...