diff --git a/Makefile b/Makefile index 6f71bf2..2d32a85 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,10 @@ ts := $(shell /usr/bin/date "+%d-%m__%H_%M_%S") .DEFAULT_GOAL = MD MD: $(SRC)/MD.cpp - $(CC) $(CFLAGS) $(SRC)MD.cpp -lm -O2 -fopenmp -pg -o ./out/MD + $(CC) $(CFLAGS) $(SRC)MD.cpp -lm -O2 -ftree-vectorize -funroll-loops -pg -o ./out/MD MDorig: $(SRC)/MD-original.cpp - $(CC) $(CFLAGS) $(SRC)MD-original.cpp -lm -O2 -fopenmp -pg -o ./out/MD-original + $(CC) $(CFLAGS) $(SRC)MD-original.cpp -lm -O2 -pg -o ./out/MD-original clean: rm ./out/* gmon.out @@ -21,9 +21,12 @@ runorig: ./out/MD-original < input/inputdata.txt gprof: - gprof out/MD gmon.out > analysis/$(ts).txt + gprof out/MD gmon.out > analysis/$(ts).txt && gprof2dot analysis/$(ts).txt > analysis/$(ts).dot && xdot analysis/$(ts).dot gproforig: gprof out/MD-original gmon.out > analysis/$(ts).txt -runfull: clean MD run gprof +diff: + diff cp_output.txt cp_output-orig.txt + +runfull: clean MD run diff --git a/analysis/15-10__12_17_49.txt b/analysis/15-10__12_17_49.txt new file mode 100644 index 0000000..10da5ea --- /dev/null +++ b/analysis/15-10__12_17_49.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 65.42 3.30 3.30 201 16.44 16.44 Potential() + 33.11 4.98 1.67 202 8.28 8.28 computeAccelerations() + 1.59 5.06 0.08 _init + 0.00 5.06 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 5.06 0.00 201 0.00 8.28 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.06 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.06 0.00 1 0.00 0.00 initialize() + 0.00 5.06 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.20% of 5.06 seconds + +index % time self children called name + +[1] 98.4 0.00 4.98 main [1] + 3.30 0.00 201/201 Potential() [2] + 0.00 1.66 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.30 0.00 201/201 main [1] +[2] 65.3 3.30 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.66 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 33.1 1.67 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 1.66 201/201 main [1] +[4] 32.9 0.00 1.66 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.66 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + +[5] 1.6 0.08 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__12_22_33.txt b/analysis/15-10__12_22_33.txt new file mode 100644 index 0000000..e0efa95 --- /dev/null +++ b/analysis/15-10__12_22_33.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 67.95 3.38 3.38 201 16.83 16.83 Potential() + 31.56 4.96 1.57 202 7.78 7.78 computeAccelerations() + 0.60 4.99 0.03 _init + 0.00 4.99 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 4.99 0.00 201 0.00 7.78 VelocityVerlet(double, int, _IO_FILE*) + 0.00 4.99 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 4.99 0.00 1 0.00 0.00 initialize() + 0.00 4.99 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.20% of 4.99 seconds + +index % time self children called name + +[1] 99.4 0.00 4.96 main [1] + 3.38 0.00 201/201 Potential() [2] + 0.00 1.56 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.38 0.00 201/201 main [1] +[2] 67.9 3.38 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.56 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 31.5 1.57 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 1.56 201/201 main [1] +[4] 31.4 0.00 1.56 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.56 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + +[5] 0.6 0.03 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__12_25_04.txt b/analysis/15-10__12_25_04.txt new file mode 100644 index 0000000..17dbcbe --- /dev/null +++ b/analysis/15-10__12_25_04.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 69.87 4.02 4.02 3240 0.00 0.00 _dl_relocate_static_pie + 29.02 5.70 1.67 202 0.01 0.01 computeAccelerations() + 1.04 5.76 0.06 _init + 0.17 5.77 0.01 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.77 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.77 0.00 1 0.00 0.00 initialize() + 0.00 5.77 0.00 1 0.00 4.02 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.17% of 5.77 seconds + +index % time self children called name + +[1] 99.0 0.00 5.71 main [1] + 0.00 4.02 1/1 initializeVelocities() [3] + 0.01 1.66 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [5] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 4.02 0.00 3240/3240 initializeVelocities() [3] +[2] 69.8 4.02 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 4.02 1/1 main [1] +[3] 69.8 0.00 4.02 1 initializeVelocities() [3] + 4.02 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 1.66 201/201 main [1] +[4] 29.0 0.01 1.66 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.66 0.00 201/202 computeAccelerations() [5] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.66 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[5] 29.0 1.67 0.00 202 computeAccelerations() [5] +----------------------------------------------- + +[6] 1.0 0.06 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [5] computeAccelerations() [6] _init + [4] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_26_15.txt b/analysis/15-10__12_26_15.txt new file mode 100644 index 0000000..e69de29 diff --git a/analysis/15-10__12_26_36.txt b/analysis/15-10__12_26_36.txt new file mode 100644 index 0000000..e69de29 diff --git a/analysis/15-10__12_29_22.txt b/analysis/15-10__12_29_22.txt new file mode 100644 index 0000000..3a0e520 --- /dev/null +++ b/analysis/15-10__12_29_22.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 67.67 3.63 3.63 3240 0.00 0.00 _dl_relocate_static_pie + 29.92 5.24 1.61 202 0.01 0.01 computeAccelerations() + 1.86 5.34 0.10 _init + 0.00 5.34 0.00 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.34 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.34 0.00 1 0.00 0.00 initialize() + 0.00 5.34 0.00 1 0.00 3.63 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.19% of 5.34 seconds + +index % time self children called name + +[1] 98.1 0.00 5.24 main [1] + 0.00 3.63 1/1 initializeVelocities() [3] + 0.00 1.60 201/201 VelocityVerlet(double, int, _IO_FILE*) [5] + 0.01 0.00 1/202 computeAccelerations() [4] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.63 0.00 3240/3240 initializeVelocities() [3] +[2] 68.0 3.63 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 3.63 1/1 main [1] +[3] 68.0 0.00 3.63 1 initializeVelocities() [3] + 3.63 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.60 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [5] +[4] 30.1 1.61 0.00 202 computeAccelerations() [4] +----------------------------------------------- + 0.00 1.60 201/201 main [1] +[5] 29.9 0.00 1.60 201 VelocityVerlet(double, int, _IO_FILE*) [5] + 1.60 0.00 201/202 computeAccelerations() [4] +----------------------------------------------- + +[6] 1.9 0.10 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [4] computeAccelerations() [6] _init + [5] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_36_18.txt b/analysis/15-10__12_36_18.txt new file mode 100644 index 0000000..c26d128 --- /dev/null +++ b/analysis/15-10__12_36_18.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 67.49 3.89 3.89 3240 0.00 0.00 _dl_relocate_static_pie + 30.27 5.64 1.75 202 0.01 0.01 computeAccelerations() + 1.91 5.75 0.11 _init + 0.00 5.75 0.00 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.75 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.75 0.00 1 0.00 0.00 initialize() + 0.00 5.75 0.00 1 0.00 3.89 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.17% of 5.75 seconds + +index % time self children called name + +[1] 98.1 0.00 5.64 main [1] + 0.00 3.89 1/1 initializeVelocities() [3] + 0.00 1.74 201/201 VelocityVerlet(double, int, _IO_FILE*) [5] + 0.01 0.00 1/202 computeAccelerations() [4] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.89 0.00 3240/3240 initializeVelocities() [3] +[2] 67.7 3.89 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 3.89 1/1 main [1] +[3] 67.7 0.00 3.89 1 initializeVelocities() [3] + 3.89 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.74 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [5] +[4] 30.4 1.75 0.00 202 computeAccelerations() [4] +----------------------------------------------- + 0.00 1.74 201/201 main [1] +[5] 30.2 0.00 1.74 201 VelocityVerlet(double, int, _IO_FILE*) [5] + 1.74 0.00 201/202 computeAccelerations() [4] +----------------------------------------------- + +[6] 1.9 0.11 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [4] computeAccelerations() [6] _init + [5] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_38_16.txt b/analysis/15-10__12_38_16.txt new file mode 100644 index 0000000..43e8979 --- /dev/null +++ b/analysis/15-10__12_38_16.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 67.50 3.54 3.54 3240 0.00 0.00 _dl_relocate_static_pie + 30.89 5.17 1.62 202 0.01 0.01 computeAccelerations() + 1.33 5.24 0.07 _init + 0.38 5.26 0.02 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.26 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.26 0.00 1 0.00 0.00 initialize() + 0.00 5.26 0.00 1 0.00 3.54 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.19% of 5.26 seconds + +index % time self children called name + +[1] 98.7 0.00 5.19 main [1] + 0.00 3.54 1/1 initializeVelocities() [3] + 0.02 1.61 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [5] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.54 0.00 3240/3240 initializeVelocities() [3] +[2] 67.4 3.54 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 3.54 1/1 main [1] +[3] 67.4 0.00 3.54 1 initializeVelocities() [3] + 3.54 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.02 1.61 201/201 main [1] +[4] 31.1 0.02 1.61 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.61 0.00 201/202 computeAccelerations() [5] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.61 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[5] 30.9 1.62 0.00 202 computeAccelerations() [5] +----------------------------------------------- + +[6] 1.3 0.07 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [5] computeAccelerations() [6] _init + [4] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_40_40.txt b/analysis/15-10__12_40_40.txt new file mode 100644 index 0000000..b141104 --- /dev/null +++ b/analysis/15-10__12_40_40.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 68.66 3.93 3.93 3240 0.00 0.00 _dl_relocate_static_pie + 29.00 5.60 1.66 202 0.01 0.01 computeAccelerations() + 2.27 5.73 0.13 _init + 0.00 5.73 0.00 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.73 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.73 0.00 1 0.00 0.00 initialize() + 0.00 5.73 0.00 1 0.00 3.93 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.17% of 5.73 seconds + +index % time self children called name + +[1] 97.7 0.00 5.60 main [1] + 0.00 3.93 1/1 initializeVelocities() [3] + 0.00 1.65 201/201 VelocityVerlet(double, int, _IO_FILE*) [5] + 0.01 0.00 1/202 computeAccelerations() [4] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.93 0.00 3240/3240 initializeVelocities() [3] +[2] 68.7 3.93 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 3.93 1/1 main [1] +[3] 68.7 0.00 3.93 1 initializeVelocities() [3] + 3.93 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.65 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [5] +[4] 29.0 1.66 0.00 202 computeAccelerations() [4] +----------------------------------------------- + 0.00 1.65 201/201 main [1] +[5] 28.9 0.00 1.65 201 VelocityVerlet(double, int, _IO_FILE*) [5] + 1.65 0.00 201/202 computeAccelerations() [4] +----------------------------------------------- + +[6] 2.3 0.13 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [4] computeAccelerations() [6] _init + [5] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_42_37.txt b/analysis/15-10__12_42_37.txt new file mode 100644 index 0000000..12360f6 --- /dev/null +++ b/analysis/15-10__12_42_37.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 69.15 3.82 3.82 3240 0.00 0.00 _dl_relocate_static_pie + 28.42 5.40 1.57 202 0.01 0.01 computeAccelerations() + 2.17 5.52 0.12 _init + 0.00 5.52 0.00 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.52 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.52 0.00 1 0.00 0.00 initialize() + 0.00 5.52 0.00 1 0.00 3.82 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.18% of 5.52 seconds + +index % time self children called name + +[1] 97.8 0.00 5.40 main [1] + 0.00 3.82 1/1 initializeVelocities() [3] + 0.00 1.56 201/201 VelocityVerlet(double, int, _IO_FILE*) [5] + 0.01 0.00 1/202 computeAccelerations() [4] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.82 0.00 3240/3240 initializeVelocities() [3] +[2] 69.3 3.82 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 3.82 1/1 main [1] +[3] 69.3 0.00 3.82 1 initializeVelocities() [3] + 3.82 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.56 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [5] +[4] 28.5 1.57 0.00 202 computeAccelerations() [4] +----------------------------------------------- + 0.00 1.56 201/201 main [1] +[5] 28.4 0.00 1.56 201 VelocityVerlet(double, int, _IO_FILE*) [5] + 1.56 0.00 201/202 computeAccelerations() [4] +----------------------------------------------- + +[6] 2.2 0.12 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [4] computeAccelerations() [6] _init + [5] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_45_22.txt b/analysis/15-10__12_45_22.txt new file mode 100644 index 0000000..3cfdf74 --- /dev/null +++ b/analysis/15-10__12_45_22.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 70.97 4.19 4.19 3240 0.00 0.00 _dl_relocate_static_pie + 26.93 5.79 1.59 202 0.01 0.01 computeAccelerations() + 2.03 5.91 0.12 _init + 0.17 5.92 0.01 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.92 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.92 0.00 1 0.00 0.00 initialize() + 0.00 5.92 0.00 1 0.00 4.19 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.17% of 5.92 seconds + +index % time self children called name + +[1] 98.0 0.00 5.80 main [1] + 0.00 4.19 1/1 initializeVelocities() [3] + 0.01 1.58 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [5] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 4.19 0.00 3240/3240 initializeVelocities() [3] +[2] 70.9 4.19 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 4.19 1/1 main [1] +[3] 70.9 0.00 4.19 1 initializeVelocities() [3] + 4.19 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 1.58 201/201 main [1] +[4] 26.9 0.01 1.58 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.58 0.00 201/202 computeAccelerations() [5] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.58 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[5] 26.9 1.59 0.00 202 computeAccelerations() [5] +----------------------------------------------- + +[6] 2.0 0.12 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [5] computeAccelerations() [6] _init + [4] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_47_05.txt b/analysis/15-10__12_47_05.txt new file mode 100644 index 0000000..fe7674f --- /dev/null +++ b/analysis/15-10__12_47_05.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 70.34 3.97 3.97 3240 0.00 0.00 _dl_relocate_static_pie + 28.35 5.58 1.60 202 0.01 0.01 computeAccelerations() + 1.24 5.65 0.07 _init + 0.00 5.65 0.00 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.65 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.65 0.00 1 0.00 0.00 initialize() + 0.00 5.65 0.00 1 0.00 3.97 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.18% of 5.65 seconds + +index % time self children called name + +[1] 98.8 0.00 5.58 main [1] + 0.00 3.97 1/1 initializeVelocities() [3] + 0.00 1.59 201/201 VelocityVerlet(double, int, _IO_FILE*) [5] + 0.01 0.00 1/202 computeAccelerations() [4] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.97 0.00 3240/3240 initializeVelocities() [3] +[2] 70.4 3.97 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 3.97 1/1 main [1] +[3] 70.4 0.00 3.97 1 initializeVelocities() [3] + 3.97 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.59 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [5] +[4] 28.4 1.60 0.00 202 computeAccelerations() [4] +----------------------------------------------- + 0.00 1.59 201/201 main [1] +[5] 28.2 0.00 1.59 201 VelocityVerlet(double, int, _IO_FILE*) [5] + 1.59 0.00 201/202 computeAccelerations() [4] +----------------------------------------------- + +[6] 1.2 0.07 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [4] computeAccelerations() [6] _init + [5] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_52_37.txt b/analysis/15-10__12_52_37.txt new file mode 100644 index 0000000..78b465a --- /dev/null +++ b/analysis/15-10__12_52_37.txt @@ -0,0 +1,178 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 69.85 3.67 3.67 3240 0.00 0.00 _dl_relocate_static_pie + 29.40 5.22 1.55 202 0.01 0.01 computeAccelerations() + 0.57 5.25 0.03 _init + 0.19 5.26 0.01 201 0.00 0.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.26 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.26 0.00 1 0.00 0.00 initialize() + 0.00 5.26 0.00 1 0.00 3.67 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.19% of 5.26 seconds + +index % time self children called name + +[1] 99.4 0.00 5.23 main [1] + 0.00 3.67 1/1 initializeVelocities() [3] + 0.01 1.54 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [5] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.67 0.00 3240/3240 initializeVelocities() [3] +[2] 69.8 3.67 0.00 3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.00 3.67 1/1 main [1] +[3] 69.8 0.00 3.67 1 initializeVelocities() [3] + 3.67 0.00 3240/3240 _dl_relocate_static_pie [2] +----------------------------------------------- + 0.01 1.54 201/201 main [1] +[4] 29.4 0.01 1.54 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.54 0.00 201/202 computeAccelerations() [5] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.54 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[5] 29.4 1.55 0.00 202 computeAccelerations() [5] +----------------------------------------------- + +[6] 0.6 0.03 0.00 _init [6] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [5] computeAccelerations() [6] _init + [4] VelocityVerlet(double, int, _IO_FILE*) [3] initializeVelocities() + [10] MeanSquaredVelocity() [2] _dl_relocate_static_pie diff --git a/analysis/15-10__12_56_56.txt b/analysis/15-10__12_56_56.txt new file mode 100644 index 0000000..5a57a54 --- /dev/null +++ b/analysis/15-10__12_56_56.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 67.07 3.37 3.37 201 16.78 16.78 Potential() + 32.44 5.01 1.63 202 8.08 8.08 computeAccelerations() + 0.60 5.04 0.03 _init + 0.00 5.04 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 5.04 0.00 201 0.00 8.08 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.04 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.04 0.00 1 0.00 0.00 initialize() + 0.00 5.04 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.20% of 5.04 seconds + +index % time self children called name + +[1] 99.4 0.00 5.01 main [1] + 3.37 0.00 201/201 Potential() [2] + 0.00 1.62 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.37 0.00 201/201 main [1] +[2] 67.0 3.37 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.62 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 32.4 1.63 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 1.62 201/201 main [1] +[4] 32.2 0.00 1.62 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.62 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + +[5] 0.6 0.03 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__13_16_04.txt b/analysis/15-10__13_16_04.txt new file mode 100644 index 0000000..e69de29 diff --git a/analysis/15-10__13_16_19.txt b/analysis/15-10__13_16_19.txt new file mode 100644 index 0000000..c18219d --- /dev/null +++ b/analysis/15-10__13_16_19.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 65.95 3.15 3.15 201 15.68 15.68 Potential() + 31.19 4.64 1.49 202 7.38 7.38 computeAccelerations() + 2.93 4.78 0.14 _init + 0.00 4.78 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 4.78 0.00 201 0.00 7.38 VelocityVerlet(double, int, _IO_FILE*) + 0.00 4.78 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 4.78 0.00 1 0.00 0.00 initialize() + 0.00 4.78 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.21% of 4.78 seconds + +index % time self children called name + +[1] 97.1 0.00 4.64 main [1] + 3.15 0.00 201/201 Potential() [2] + 0.00 1.48 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 3.15 0.00 201/201 main [1] +[2] 65.9 3.15 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.48 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 31.2 1.49 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 1.48 201/201 main [1] +[4] 31.0 0.00 1.48 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.48 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + +[5] 2.9 0.14 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__13_30_50.txt b/analysis/15-10__13_30_50.txt new file mode 100644 index 0000000..ae0ff98 --- /dev/null +++ b/analysis/15-10__13_30_50.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 53.93 1.88 1.88 202 9.32 9.32 computeAccelerations() + 43.60 3.40 1.52 201 7.57 7.57 Potential() + 2.01 3.47 0.07 _init + 0.57 3.49 0.02 201 0.10 9.42 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.49 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 3.49 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 3.49 0.00 1 0.00 0.00 initialize() + 0.00 3.49 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.29% of 3.49 seconds + +index % time self children called name + +[1] 98.0 0.00 3.42 main [1] + 0.02 1.87 201/201 VelocityVerlet(double, int, _IO_FILE*) [2] + 1.52 0.00 201/201 Potential() [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 0.02 1.87 201/201 main [1] +[2] 54.2 0.02 1.87 201 VelocityVerlet(double, int, _IO_FILE*) [2] + 1.87 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.87 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [2] +[3] 53.9 1.88 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 1.52 0.00 201/201 main [1] +[4] 43.6 1.52 0.00 201 Potential() [4] +----------------------------------------------- + +[5] 2.0 0.07 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [2] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [4] Potential() diff --git a/analysis/15-10__13_31_39.txt b/analysis/15-10__13_31_39.txt new file mode 100644 index 0000000..6515160 --- /dev/null +++ b/analysis/15-10__13_31_39.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 51.50 1.60 1.60 201 7.97 7.97 Potential() + 44.58 2.99 1.39 202 6.86 6.86 computeAccelerations() + 3.54 3.10 0.11 _init + 0.32 3.11 0.01 201 0.05 6.91 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.11 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 3.11 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 3.11 0.00 1 0.00 0.00 initialize() + 0.00 3.11 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.32% of 3.11 seconds + +index % time self children called name + +[1] 96.5 0.00 3.00 main [1] + 1.60 0.00 201/201 Potential() [2] + 0.01 1.38 201/201 VelocityVerlet(double, int, _IO_FILE*) [3] + 0.01 0.00 1/202 computeAccelerations() [4] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 1.60 0.00 201/201 main [1] +[2] 51.5 1.60 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 1.38 201/201 main [1] +[3] 44.7 0.01 1.38 201 VelocityVerlet(double, int, _IO_FILE*) [3] + 1.38 0.00 201/202 computeAccelerations() [4] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.38 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [3] +[4] 44.6 1.39 0.00 202 computeAccelerations() [4] +----------------------------------------------- + +[5] 3.5 0.11 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [4] computeAccelerations() [9] _dl_relocate_static_pie + [3] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__13_32_27.txt b/analysis/15-10__13_32_27.txt new file mode 100644 index 0000000..a83f0ee --- /dev/null +++ b/analysis/15-10__13_32_27.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 50.20 1.71 1.71 202 8.45 8.45 computeAccelerations() + 48.29 3.35 1.64 201 8.17 8.17 Potential() + 1.18 3.39 0.04 _init + 0.29 3.40 0.01 201 0.05 8.50 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.40 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 3.40 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 3.40 0.00 1 0.00 0.00 initialize() + 0.00 3.40 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.29% of 3.40 seconds + +index % time self children called name + +[1] 98.8 0.00 3.36 main [1] + 0.01 1.70 201/201 VelocityVerlet(double, int, _IO_FILE*) [2] + 1.64 0.00 201/201 Potential() [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 0.01 1.70 201/201 main [1] +[2] 50.3 0.01 1.70 201 VelocityVerlet(double, int, _IO_FILE*) [2] + 1.70 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.70 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [2] +[3] 50.2 1.71 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 1.64 0.00 201/201 main [1] +[4] 48.3 1.64 0.00 201 Potential() [4] +----------------------------------------------- + +[5] 1.2 0.04 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [2] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [4] Potential() diff --git a/analysis/15-10__13_35_15.txt b/analysis/15-10__13_35_15.txt new file mode 100644 index 0000000..31fd5c3 --- /dev/null +++ b/analysis/15-10__13_35_15.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 52.80 1.53 1.53 201 7.62 7.62 Potential() + 45.90 2.86 1.33 202 6.59 6.59 computeAccelerations() + 1.38 2.90 0.04 _init + 0.00 2.90 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 2.90 0.00 201 0.00 6.59 VelocityVerlet(double, int, _IO_FILE*) + 0.00 2.90 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 2.90 0.00 1 0.00 0.00 initialize() + 0.00 2.90 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.34% of 2.90 seconds + +index % time self children called name + +[1] 98.6 0.00 2.86 main [1] + 1.53 0.00 201/201 Potential() [2] + 0.00 1.32 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 1.53 0.00 201/201 main [1] +[2] 52.8 1.53 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.32 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 45.9 1.33 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 1.32 201/201 main [1] +[4] 45.6 0.00 1.32 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.32 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + +[5] 1.4 0.04 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__13_36_30.dot b/analysis/15-10__13_36_30.dot new file mode 100644 index 0000000..4edff09 --- /dev/null +++ b/analysis/15-10__13_36_30.dot @@ -0,0 +1,14 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#fd0e00", fontcolor="#ffffff", fontsize="10.00", label="main\n98.62%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.73", color="#1dba09", fontcolor="#1dba09", fontsize="10.00", label="52.76%\n201×", labeldistance="2.11", penwidth="2.11"]; + 1 -> 3 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.23%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 4 [arrowsize="0.68", color="#0ab027", fontcolor="#0ab027", fontsize="10.00", label="45.64%\n201×", labeldistance="1.83", penwidth="1.83"]; + 2 [color="#1dba09", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n52.76%\n(52.76%)\n201×"]; + 3 [color="#0ab026", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n45.86%\n(45.86%)\n202×"]; + 4 [color="#0ab027", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n45.64%\n(0.00%)\n201×"]; + 4 -> 3 [arrowsize="0.68", color="#0ab027", fontcolor="#0ab027", fontsize="10.00", label="45.64%\n201×", labeldistance="1.83", penwidth="1.83"]; + 5 [color="#0d1275", fontcolor="#ffffff", fontsize="10.00", label="_init\n1.38%\n(1.38%)"]; +} diff --git a/analysis/15-10__13_36_30.txt b/analysis/15-10__13_36_30.txt new file mode 100644 index 0000000..31fd5c3 --- /dev/null +++ b/analysis/15-10__13_36_30.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 52.80 1.53 1.53 201 7.62 7.62 Potential() + 45.90 2.86 1.33 202 6.59 6.59 computeAccelerations() + 1.38 2.90 0.04 _init + 0.00 2.90 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 2.90 0.00 201 0.00 6.59 VelocityVerlet(double, int, _IO_FILE*) + 0.00 2.90 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 2.90 0.00 1 0.00 0.00 initialize() + 0.00 2.90 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.34% of 2.90 seconds + +index % time self children called name + +[1] 98.6 0.00 2.86 main [1] + 1.53 0.00 201/201 Potential() [2] + 0.00 1.32 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 1.53 0.00 201/201 main [1] +[2] 52.8 1.53 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.32 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 45.9 1.33 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 1.32 201/201 main [1] +[4] 45.6 0.00 1.32 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.32 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + +[5] 1.4 0.04 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__13_37_14.dot b/analysis/15-10__13_37_14.dot new file mode 100644 index 0000000..4edff09 --- /dev/null +++ b/analysis/15-10__13_37_14.dot @@ -0,0 +1,14 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#fd0e00", fontcolor="#ffffff", fontsize="10.00", label="main\n98.62%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.73", color="#1dba09", fontcolor="#1dba09", fontsize="10.00", label="52.76%\n201×", labeldistance="2.11", penwidth="2.11"]; + 1 -> 3 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.23%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 4 [arrowsize="0.68", color="#0ab027", fontcolor="#0ab027", fontsize="10.00", label="45.64%\n201×", labeldistance="1.83", penwidth="1.83"]; + 2 [color="#1dba09", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n52.76%\n(52.76%)\n201×"]; + 3 [color="#0ab026", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n45.86%\n(45.86%)\n202×"]; + 4 [color="#0ab027", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n45.64%\n(0.00%)\n201×"]; + 4 -> 3 [arrowsize="0.68", color="#0ab027", fontcolor="#0ab027", fontsize="10.00", label="45.64%\n201×", labeldistance="1.83", penwidth="1.83"]; + 5 [color="#0d1275", fontcolor="#ffffff", fontsize="10.00", label="_init\n1.38%\n(1.38%)"]; +} diff --git a/analysis/15-10__13_37_14.txt b/analysis/15-10__13_37_14.txt new file mode 100644 index 0000000..31fd5c3 --- /dev/null +++ b/analysis/15-10__13_37_14.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 52.80 1.53 1.53 201 7.62 7.62 Potential() + 45.90 2.86 1.33 202 6.59 6.59 computeAccelerations() + 1.38 2.90 0.04 _init + 0.00 2.90 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 2.90 0.00 201 0.00 6.59 VelocityVerlet(double, int, _IO_FILE*) + 0.00 2.90 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 2.90 0.00 1 0.00 0.00 initialize() + 0.00 2.90 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.34% of 2.90 seconds + +index % time self children called name + +[1] 98.6 0.00 2.86 main [1] + 1.53 0.00 201/201 Potential() [2] + 0.00 1.32 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 1.53 0.00 201/201 main [1] +[2] 52.8 1.53 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.32 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 45.9 1.33 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 1.32 201/201 main [1] +[4] 45.6 0.00 1.32 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 1.32 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + +[5] 1.4 0.04 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__13_39_56.dot b/analysis/15-10__13_39_56.dot new file mode 100644 index 0000000..3f8e61c --- /dev/null +++ b/analysis/15-10__13_39_56.dot @@ -0,0 +1,14 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#fc1400", fontcolor="#ffffff", fontsize="10.00", label="main\n98.05%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.71", color="#0ab50b", fontcolor="#0ab50b", fontsize="10.00", label="49.75%\n201×", labeldistance="1.99", penwidth="1.99"]; + 1 -> 3 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.25%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 4 [arrowsize="0.69", color="#0ab317", fontcolor="#0ab317", fontsize="10.00", label="48.05%\n201×", labeldistance="1.92", penwidth="1.92"]; + 2 [color="#0ab50b", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n49.75%\n(0.32%)\n201×"]; + 2 -> 3 [arrowsize="0.70", color="#0ab50e", fontcolor="#0ab50e", fontsize="10.00", label="49.43%\n201×", labeldistance="1.98", penwidth="1.98"]; + 3 [color="#0ab50c", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n49.68%\n(49.68%)\n202×"]; + 4 [color="#0ab317", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n48.05%\n(48.05%)\n201×"]; + 5 [color="#0d1575", fontcolor="#ffffff", fontsize="10.00", label="_init\n1.95%\n(1.95%)"]; +} diff --git a/analysis/15-10__13_39_56.txt b/analysis/15-10__13_39_56.txt new file mode 100644 index 0000000..5bc36f0 --- /dev/null +++ b/analysis/15-10__13_39_56.txt @@ -0,0 +1,183 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 49.71 1.53 1.53 202 7.58 7.58 computeAccelerations() + 48.09 3.01 1.48 201 7.37 7.37 Potential() + 1.95 3.07 0.06 _init + 0.32 3.08 0.01 201 0.05 7.63 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.08 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 3.08 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 3.08 0.00 1 0.00 0.00 initialize() + 0.00 3.08 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.32% of 3.08 seconds + +index % time self children called name + +[1] 98.1 0.00 3.02 main [1] + 0.01 1.52 201/201 VelocityVerlet(double, int, _IO_FILE*) [2] + 1.48 0.00 201/201 Potential() [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [10] + 0.00 0.00 1/1 initializeVelocities() [12] + 0.00 0.00 1/1 initialize() [11] +----------------------------------------------- + 0.01 1.52 201/201 main [1] +[2] 49.8 0.01 1.52 201 VelocityVerlet(double, int, _IO_FILE*) [2] + 1.52 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 1.52 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [2] +[3] 49.7 1.53 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 1.48 0.00 201/201 main [1] +[4] 48.1 1.48 0.00 201 Potential() [4] +----------------------------------------------- + +[5] 1.9 0.06 0.00 _init [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [12] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[10] 0.0 0.00 0.00 201 MeanSquaredVelocity() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initialize() [11] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[12] 0.0 0.00 0.00 1 initializeVelocities() [12] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [11] initialize() [3] computeAccelerations() [9] _dl_relocate_static_pie + [2] VelocityVerlet(double, int, _IO_FILE*) [12] initializeVelocities() [5] _init + [10] MeanSquaredVelocity() [4] Potential() diff --git a/analysis/15-10__13_43_56.dot b/analysis/15-10__13_43_56.dot new file mode 100644 index 0000000..52c7929 --- /dev/null +++ b/analysis/15-10__13_43_56.dot @@ -0,0 +1,13 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.29%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 3 [arrowsize="0.76", color="#3fc009", fontcolor="#3fc009", fontsize="10.00", label="57.44%\n201×", labeldistance="2.30", penwidth="2.30"]; + 1 -> 4 [arrowsize="0.65", color="#0bab3e", fontcolor="#0bab3e", fontsize="10.00", label="42.01%\n201×", labeldistance="1.68", penwidth="1.68"]; + 2 [color="#41c109", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n57.72%\n(57.72%)\n202×"]; + 3 [color="#3fc009", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n57.44%\n(0.00%)\n201×"]; + 3 -> 2 [arrowsize="0.76", color="#3fc009", fontcolor="#3fc009", fontsize="10.00", label="57.44%\n201×", labeldistance="2.30", penwidth="2.30"]; + 4 [color="#0bab3e", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n42.01%\n(42.01%)\n201×"]; +} diff --git a/analysis/15-10__13_43_56.txt b/analysis/15-10__13_43_56.txt new file mode 100644 index 0000000..fff2dde --- /dev/null +++ b/analysis/15-10__13_43_56.txt @@ -0,0 +1,179 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 57.77 2.13 2.13 202 10.55 10.55 computeAccelerations() + 42.04 3.68 1.55 201 7.72 7.72 Potential() + 0.27 3.69 0.01 201 0.05 0.05 MeanSquaredVelocity() + 0.00 3.69 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 3.69 0.00 201 0.00 10.55 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.69 0.00 1 0.00 0.00 initialize() + 0.00 3.69 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.27% of 3.69 seconds + +index % time self children called name + +[1] 100.0 0.00 3.69 main [1] + 0.00 2.12 201/201 VelocityVerlet(double, int, _IO_FILE*) [3] + 1.55 0.00 201/201 Potential() [4] + 0.01 0.00 1/202 computeAccelerations() [2] + 0.01 0.00 201/201 MeanSquaredVelocity() [5] + 0.00 0.00 1/1 initializeVelocities() [11] + 0.00 0.00 1/1 initialize() [10] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 2.12 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [3] +[2] 57.7 2.13 0.00 202 computeAccelerations() [2] +----------------------------------------------- + 0.00 2.12 201/201 main [1] +[3] 57.4 0.00 2.12 201 VelocityVerlet(double, int, _IO_FILE*) [3] + 2.12 0.00 201/202 computeAccelerations() [2] +----------------------------------------------- + 1.55 0.00 201/201 main [1] +[4] 42.0 1.55 0.00 201 Potential() [4] +----------------------------------------------- + 0.01 0.00 201/201 main [1] +[5] 0.3 0.01 0.00 201 MeanSquaredVelocity() [5] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [11] +[9] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [9] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[10] 0.0 0.00 0.00 1 initialize() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initializeVelocities() [11] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [10] initialize() [2] computeAccelerations() [9] _dl_relocate_static_pie + [3] VelocityVerlet(double, int, _IO_FILE*) [11] initializeVelocities() + [5] MeanSquaredVelocity() [4] Potential() diff --git a/analysis/15-10__13_45_16.dot b/analysis/15-10__13_45_16.dot new file mode 100644 index 0000000..ab5dc6c --- /dev/null +++ b/analysis/15-10__13_45_16.dot @@ -0,0 +1,13 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.29%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 3 [arrowsize="0.76", color="#41c109", fontcolor="#41c109", fontsize="10.00", label="57.72%\n201×", labeldistance="2.31", penwidth="2.31"]; + 1 -> 4 [arrowsize="0.65", color="#0bab3e", fontcolor="#0bab3e", fontsize="10.00", label="41.99%\n201×", labeldistance="1.68", penwidth="1.68"]; + 2 [color="#44c108", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n58.01%\n(58.01%)\n202×"]; + 3 [color="#41c109", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n57.72%\n(0.00%)\n201×"]; + 3 -> 2 [arrowsize="0.76", color="#41c109", fontcolor="#41c109", fontsize="10.00", label="57.72%\n201×", labeldistance="2.31", penwidth="2.31"]; + 4 [color="#0bab3e", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n41.99%\n(41.99%)\n201×"]; +} diff --git a/analysis/15-10__13_45_16.txt b/analysis/15-10__13_45_16.txt new file mode 100644 index 0000000..e5273cf --- /dev/null +++ b/analysis/15-10__13_45_16.txt @@ -0,0 +1,179 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 58.05 2.10 2.10 202 10.40 10.40 computeAccelerations() + 42.02 3.62 1.52 201 7.57 7.57 Potential() + 0.00 3.62 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 3.62 0.00 201 0.00 10.40 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.62 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 3.62 0.00 1 0.00 0.00 initialize() + 0.00 3.62 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.28% of 3.62 seconds + +index % time self children called name + +[1] 100.0 0.00 3.62 main [1] + 0.00 2.09 201/201 VelocityVerlet(double, int, _IO_FILE*) [3] + 1.52 0.00 201/201 Potential() [4] + 0.01 0.00 1/202 computeAccelerations() [2] + 0.00 0.00 201/201 MeanSquaredVelocity() [9] + 0.00 0.00 1/1 initializeVelocities() [11] + 0.00 0.00 1/1 initialize() [10] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 2.09 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [3] +[2] 58.0 2.10 0.00 202 computeAccelerations() [2] +----------------------------------------------- + 0.00 2.09 201/201 main [1] +[3] 57.7 0.00 2.09 201 VelocityVerlet(double, int, _IO_FILE*) [3] + 2.09 0.00 201/202 computeAccelerations() [2] +----------------------------------------------- + 1.52 0.00 201/201 main [1] +[4] 42.0 1.52 0.00 201 Potential() [4] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [11] +[8] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [8] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[9] 0.0 0.00 0.00 201 MeanSquaredVelocity() [9] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[10] 0.0 0.00 0.00 1 initialize() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initializeVelocities() [11] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [8] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [10] initialize() [2] computeAccelerations() [8] _dl_relocate_static_pie + [3] VelocityVerlet(double, int, _IO_FILE*) [11] initializeVelocities() + [9] MeanSquaredVelocity() [4] Potential() diff --git a/analysis/15-10__13_45_49.dot b/analysis/15-10__13_45_49.dot new file mode 100644 index 0000000..865ba58 --- /dev/null +++ b/analysis/15-10__13_45_49.dot @@ -0,0 +1,13 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.77", color="#48c208", fontcolor="#48c208", fontsize="10.00", label="58.53%\n201×", labeldistance="2.34", penwidth="2.34"]; + 1 -> 3 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.21%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 4 [arrowsize="0.64", color="#0baa42", fontcolor="#0baa42", fontsize="10.00", label="41.27%\n201×", labeldistance="1.65", penwidth="1.65"]; + 2 [color="#48c208", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n58.53%\n(58.53%)\n201×"]; + 3 [color="#0baa41", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n41.47%\n(41.47%)\n202×"]; + 4 [color="#0baa42", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n41.27%\n(0.00%)\n201×"]; + 4 -> 3 [arrowsize="0.64", color="#0baa42", fontcolor="#0baa42", fontsize="10.00", label="41.27%\n201×", labeldistance="1.65", penwidth="1.65"]; +} diff --git a/analysis/15-10__13_45_49.txt b/analysis/15-10__13_45_49.txt new file mode 100644 index 0000000..1f88700 --- /dev/null +++ b/analysis/15-10__13_45_49.txt @@ -0,0 +1,179 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 58.57 3.02 3.02 201 15.04 15.04 Potential() + 41.50 5.16 2.14 202 10.60 10.60 computeAccelerations() + 0.00 5.16 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 5.16 0.00 201 0.00 10.60 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.16 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.16 0.00 1 0.00 0.00 initialize() + 0.00 5.16 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.19% of 5.16 seconds + +index % time self children called name + +[1] 100.0 0.00 5.16 main [1] + 3.02 0.00 201/201 Potential() [2] + 0.00 2.13 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [9] + 0.00 0.00 1/1 initializeVelocities() [11] + 0.00 0.00 1/1 initialize() [10] +----------------------------------------------- + 3.02 0.00 201/201 main [1] +[2] 58.5 3.02 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 2.13 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 41.5 2.14 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 2.13 201/201 main [1] +[4] 41.3 0.00 2.13 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 2.13 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [11] +[8] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [8] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[9] 0.0 0.00 0.00 201 MeanSquaredVelocity() [9] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[10] 0.0 0.00 0.00 1 initialize() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initializeVelocities() [11] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [8] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [10] initialize() [3] computeAccelerations() [8] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [11] initializeVelocities() + [9] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__13_46_01.dot b/analysis/15-10__13_46_01.dot new file mode 100644 index 0000000..e38964c --- /dev/null +++ b/analysis/15-10__13_46_01.dot @@ -0,0 +1,13 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.77", color="#49c208", fontcolor="#49c208", fontsize="10.00", label="58.67%\n201×", labeldistance="2.35", penwidth="2.35"]; + 1 -> 3 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.20%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 4 [arrowsize="0.64", color="#0ba943", fontcolor="#0ba943", fontsize="10.00", label="41.12%\n201×", labeldistance="1.64", penwidth="1.64"]; + 2 [color="#49c208", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n58.67%\n(58.67%)\n201×"]; + 3 [color="#0ba943", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n41.13%\n(41.13%)\n202×"]; + 4 [color="#0ba943", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n41.12%\n(0.19%)\n201×"]; + 4 -> 3 [arrowsize="0.64", color="#0ba944", fontcolor="#0ba944", fontsize="10.00", label="40.93%\n201×", labeldistance="1.64", penwidth="1.64"]; +} diff --git a/analysis/15-10__13_46_01.txt b/analysis/15-10__13_46_01.txt new file mode 100644 index 0000000..728455a --- /dev/null +++ b/analysis/15-10__13_46_01.txt @@ -0,0 +1,179 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 58.72 3.01 3.01 201 14.99 14.99 Potential() + 41.16 5.12 2.11 202 10.45 10.45 computeAccelerations() + 0.20 5.13 0.01 201 0.05 10.50 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.13 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 5.13 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 5.13 0.00 1 0.00 0.00 initialize() + 0.00 5.13 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.19% of 5.13 seconds + +index % time self children called name + +[1] 100.0 0.00 5.13 main [1] + 3.01 0.00 201/201 Potential() [2] + 0.01 2.10 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 201/201 MeanSquaredVelocity() [9] + 0.00 0.00 1/1 initializeVelocities() [11] + 0.00 0.00 1/1 initialize() [10] +----------------------------------------------- + 3.01 0.00 201/201 main [1] +[2] 58.7 3.01 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 2.10 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 41.1 2.11 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.01 2.10 201/201 main [1] +[4] 41.1 0.01 2.10 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 2.10 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [11] +[8] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [8] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[9] 0.0 0.00 0.00 201 MeanSquaredVelocity() [9] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[10] 0.0 0.00 0.00 1 initialize() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initializeVelocities() [11] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [8] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [10] initialize() [3] computeAccelerations() [8] _dl_relocate_static_pie + [4] VelocityVerlet(double, int, _IO_FILE*) [11] initializeVelocities() + [9] MeanSquaredVelocity() [2] Potential() diff --git a/analysis/15-10__16_05_34.dot b/analysis/15-10__16_05_34.dot new file mode 100644 index 0000000..6fcfeff --- /dev/null +++ b/analysis/15-10__16_05_34.dot @@ -0,0 +1,13 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.78", color="#5bc508", fontcolor="#5bc508", fontsize="10.00", label="60.93%\n201×", labeldistance="2.44", penwidth="2.44"]; + 1 -> 3 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.19%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 4 [arrowsize="0.62", color="#0ba650", fontcolor="#0ba650", fontsize="10.00", label="38.88%\n201×", labeldistance="1.56", penwidth="1.56"]; + 2 [color="#5bc508", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n60.93%\n(60.93%)\n201×"]; + 3 [color="#0ba74f", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n39.07%\n(39.07%)\n202×"]; + 4 [color="#0ba650", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n38.88%\n(0.00%)\n201×"]; + 4 -> 3 [arrowsize="0.62", color="#0ba650", fontcolor="#0ba650", fontsize="10.00", label="38.88%\n201×", labeldistance="1.56", penwidth="1.56"]; +} diff --git a/analysis/15-10__16_05_34.txt b/analysis/15-10__16_05_34.txt new file mode 100644 index 0000000..02a7df6 --- /dev/null +++ b/analysis/15-10__16_05_34.txt @@ -0,0 +1,168 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 60.96 3.15 3.15 201 15.68 15.68 Potential() + 39.09 5.17 2.02 202 10.01 10.01 computeAccelerations() + 0.00 5.17 0.00 201 0.00 10.01 VelocityVerlet(double, int, _IO_FILE*) + 0.00 5.17 0.00 1 0.00 0.00 initialize() + 0.00 5.17 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.19% of 5.17 seconds + +index % time self children called name + +[1] 100.0 0.00 5.17 main [1] + 3.15 0.00 201/201 Potential() [2] + 0.00 2.01 201/201 VelocityVerlet(double, int, _IO_FILE*) [4] + 0.01 0.00 1/202 computeAccelerations() [3] + 0.00 0.00 1/1 initializeVelocities() [9] + 0.00 0.00 1/1 initialize() [8] +----------------------------------------------- + 3.15 0.00 201/201 main [1] +[2] 60.9 3.15 0.00 201 Potential() [2] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 2.01 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [4] +[3] 39.1 2.02 0.00 202 computeAccelerations() [3] +----------------------------------------------- + 0.00 2.01 201/201 main [1] +[4] 38.9 0.00 2.01 201 VelocityVerlet(double, int, _IO_FILE*) [4] + 2.01 0.00 201/202 computeAccelerations() [3] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[8] 0.0 0.00 0.00 1 initialize() [8] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[9] 0.0 0.00 0.00 1 initializeVelocities() [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [8] initialize() [3] computeAccelerations() [2] Potential() + [4] VelocityVerlet(double, int, _IO_FILE*) [9] initializeVelocities() diff --git a/analysis/15-10__16_22_23.dot b/analysis/15-10__16_22_23.dot new file mode 100644 index 0000000..f2804e8 --- /dev/null +++ b/analysis/15-10__16_22_23.dot @@ -0,0 +1,13 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.28%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 3 [arrowsize="0.75", color="#35be09", fontcolor="#35be09", fontsize="10.00", label="56.11%\n201×", labeldistance="2.24", penwidth="2.24"]; + 1 -> 4 [arrowsize="0.66", color="#0aad34", fontcolor="#0aad34", fontsize="10.00", label="43.61%\n201×", labeldistance="1.74", penwidth="1.74"]; + 2 [color="#37bf09", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n56.39%\n(56.39%)\n202×"]; + 3 [color="#35be09", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n56.11%\n(0.00%)\n201×"]; + 3 -> 2 [arrowsize="0.75", color="#35be09", fontcolor="#35be09", fontsize="10.00", label="56.11%\n201×", labeldistance="2.24", penwidth="2.24"]; + 4 [color="#0aad34", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n43.61%\n(43.61%)\n201×"]; +} diff --git a/analysis/15-10__16_22_23.txt b/analysis/15-10__16_22_23.txt new file mode 100644 index 0000000..217d885 --- /dev/null +++ b/analysis/15-10__16_22_23.txt @@ -0,0 +1,168 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 56.42 2.03 2.03 202 10.06 10.06 computeAccelerations() + 43.64 3.60 1.57 201 7.82 7.82 Potential() + 0.00 3.60 0.00 201 0.00 10.06 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.60 0.00 1 0.00 0.00 initialize() + 0.00 3.60 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.28% of 3.60 seconds + +index % time self children called name + +[1] 100.0 0.00 3.60 main [1] + 0.00 2.02 201/201 VelocityVerlet(double, int, _IO_FILE*) [3] + 1.57 0.00 201/201 Potential() [4] + 0.01 0.00 1/202 computeAccelerations() [2] + 0.00 0.00 1/1 initializeVelocities() [9] + 0.00 0.00 1/1 initialize() [8] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 2.02 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [3] +[2] 56.4 2.03 0.00 202 computeAccelerations() [2] +----------------------------------------------- + 0.00 2.02 201/201 main [1] +[3] 56.1 0.00 2.02 201 VelocityVerlet(double, int, _IO_FILE*) [3] + 2.02 0.00 201/202 computeAccelerations() [2] +----------------------------------------------- + 1.57 0.00 201/201 main [1] +[4] 43.6 1.57 0.00 201 Potential() [4] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[8] 0.0 0.00 0.00 1 initialize() [8] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[9] 0.0 0.00 0.00 1 initializeVelocities() [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [8] initialize() [2] computeAccelerations() [4] Potential() + [3] VelocityVerlet(double, int, _IO_FILE*) [9] initializeVelocities() diff --git a/analysis/15-10__16_26_36.dot b/analysis/15-10__16_26_36.dot new file mode 100644 index 0000000..e3e1e29 --- /dev/null +++ b/analysis/15-10__16_26_36.dot @@ -0,0 +1,13 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="0.35", color="#0d0e73", fontcolor="#0d0e73", fontsize="10.00", label="0.28%\n1×", labeldistance="0.50", penwidth="0.50"]; + 1 -> 3 [arrowsize="0.74", color="#2fbd09", fontcolor="#2fbd09", fontsize="10.00", label="55.34%\n201×", labeldistance="2.21", penwidth="2.21"]; + 1 -> 4 [arrowsize="0.67", color="#0aae2f", fontcolor="#0aae2f", fontsize="10.00", label="44.38%\n201×", labeldistance="1.78", penwidth="1.78"]; + 2 [color="#31be09", fontcolor="#ffffff", fontsize="10.00", label="computeAccelerations()\n55.62%\n(55.62%)\n202×"]; + 3 [color="#2fbd09", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, _IO_FILE*)\n55.34%\n(0.00%)\n201×"]; + 3 -> 2 [arrowsize="0.74", color="#2fbd09", fontcolor="#2fbd09", fontsize="10.00", label="55.34%\n201×", labeldistance="2.21", penwidth="2.21"]; + 4 [color="#0aae2f", fontcolor="#ffffff", fontsize="10.00", label="Potential()\n44.38%\n(44.38%)\n201×"]; +} diff --git a/analysis/15-10__16_26_36.txt b/analysis/15-10__16_26_36.txt new file mode 100644 index 0000000..1ee2334 --- /dev/null +++ b/analysis/15-10__16_26_36.txt @@ -0,0 +1,168 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name + 55.65 2.03 2.03 202 10.06 10.06 computeAccelerations() + 44.41 3.65 1.62 201 8.06 8.06 Potential() + 0.00 3.65 0.00 201 0.00 10.06 VelocityVerlet(double, int, _IO_FILE*) + 0.00 3.65 0.00 1 0.00 0.00 initialize() + 0.00 3.65 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.27% of 3.65 seconds + +index % time self children called name + +[1] 100.0 0.00 3.65 main [1] + 0.00 2.02 201/201 VelocityVerlet(double, int, _IO_FILE*) [3] + 1.62 0.00 201/201 Potential() [4] + 0.01 0.00 1/202 computeAccelerations() [2] + 0.00 0.00 1/1 initializeVelocities() [9] + 0.00 0.00 1/1 initialize() [8] +----------------------------------------------- + 0.01 0.00 1/202 main [1] + 2.02 0.00 201/202 VelocityVerlet(double, int, _IO_FILE*) [3] +[2] 55.6 2.03 0.00 202 computeAccelerations() [2] +----------------------------------------------- + 0.00 2.02 201/201 main [1] +[3] 55.3 0.00 2.02 201 VelocityVerlet(double, int, _IO_FILE*) [3] + 2.02 0.00 201/202 computeAccelerations() [2] +----------------------------------------------- + 1.62 0.00 201/201 main [1] +[4] 44.4 1.62 0.00 201 Potential() [4] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[8] 0.0 0.00 0.00 1 initialize() [8] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[9] 0.0 0.00 0.00 1 initializeVelocities() [9] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [8] initialize() [2] computeAccelerations() [4] Potential() + [3] VelocityVerlet(double, int, _IO_FILE*) [9] initializeVelocities() diff --git a/analysis/16-10__00_53_26.dot b/analysis/16-10__00_53_26.dot new file mode 100644 index 0000000..3fafa07 --- /dev/null +++ b/analysis/16-10__00_53_26.dot @@ -0,0 +1,10 @@ +digraph { + graph [fontname=Arial, nodesep=0.125, ranksep=0.25]; + node [fontcolor=white, fontname=Arial, height=0, shape=box, style=filled, width=0]; + edge [fontname=Arial]; + 1 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="main\n100.00%\n(0.00%)"]; + 1 -> 2 [arrowsize="1.00", color="#ff0000", fontcolor="#ff0000", fontsize="10.00", label="100.00%\n201×", labeldistance="4.00", penwidth="4.00"]; + 2 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="VelocityVerlet(double, int, double*, _IO_FILE*)\n100.00%\n(0.00%)\n201×"]; + 2 -> 3 [arrowsize="1.00", color="#ff0000", fontcolor="#ff0000", fontsize="10.00", label="100.00%\n201×", labeldistance="4.00", penwidth="4.00"]; + 3 [color="#ff0000", fontcolor="#ffffff", fontsize="10.00", label="PotentialAndAcceleration()\n100.00%\n(100.00%)\n201×"]; +} diff --git a/analysis/16-10__00_53_26.txt b/analysis/16-10__00_53_26.txt new file mode 100644 index 0000000..d8da5ba --- /dev/null +++ b/analysis/16-10__00_53_26.txt @@ -0,0 +1,177 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls ms/call ms/call name +100.06 2.77 2.77 201 13.79 13.79 PotentialAndAcceleration() + 0.00 2.77 0.00 3240 0.00 0.00 _dl_relocate_static_pie + 0.00 2.77 0.00 201 0.00 13.79 VelocityVerlet(double, int, double*, _IO_FILE*) + 0.00 2.77 0.00 201 0.00 0.00 MeanSquaredVelocity() + 0.00 2.77 0.00 1 0.00 0.00 initialize() + 0.00 2.77 0.00 1 0.00 0.00 computeAccelerations() + 0.00 2.77 0.00 1 0.00 0.00 initializeVelocities() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.36% of 2.77 seconds + +index % time self children called name + +[1] 100.0 0.00 2.77 main [1] + 0.00 2.77 201/201 VelocityVerlet(double, int, double*, _IO_FILE*) [2] + 0.00 0.00 201/201 MeanSquaredVelocity() [8] + 0.00 0.00 1/1 computeAccelerations() [10] + 0.00 0.00 1/1 initializeVelocities() [11] + 0.00 0.00 1/1 initialize() [9] +----------------------------------------------- + 0.00 2.77 201/201 main [1] +[2] 100.0 0.00 2.77 201 VelocityVerlet(double, int, double*, _IO_FILE*) [2] + 2.77 0.00 201/201 PotentialAndAcceleration() [3] +----------------------------------------------- + 2.77 0.00 201/201 VelocityVerlet(double, int, double*, _IO_FILE*) [2] +[3] 100.0 2.77 0.00 201 PotentialAndAcceleration() [3] +----------------------------------------------- + 0.00 0.00 3240/3240 initializeVelocities() [11] +[7] 0.0 0.00 0.00 3240 _dl_relocate_static_pie [7] +----------------------------------------------- + 0.00 0.00 201/201 main [1] +[8] 0.0 0.00 0.00 201 MeanSquaredVelocity() [8] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[9] 0.0 0.00 0.00 1 initialize() [9] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[10] 0.0 0.00 0.00 1 computeAccelerations() [10] +----------------------------------------------- + 0.00 0.00 1/1 main [1] +[11] 0.0 0.00 0.00 1 initializeVelocities() [11] + 0.00 0.00 3240/3240 _dl_relocate_static_pie [7] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [9] initialize() [10] computeAccelerations() [7] _dl_relocate_static_pie + [2] VelocityVerlet(double, int, double*, _IO_FILE*) [11] initializeVelocities() + [8] MeanSquaredVelocity() [3] PotentialAndAcceleration() diff --git a/cp_average-orig.txt b/cp_average-orig.txt new file mode 100644 index 0000000..e1f62cf --- /dev/null +++ b/cp_average-orig.txt @@ -0,0 +1,3 @@ + Total Time (s) T (K) P (Pa) PV/nT (J/(mol K)) Z V (m^3) N + -------------- ----------- --------------- -------------- --------------- ------------ ----------- + 1.0050e-12 88.70310 23075480.34971 7.43265 0.89394 1.02479e-25 2160 diff --git a/cp_average.txt b/cp_average.txt new file mode 100644 index 0000000..e1f62cf --- /dev/null +++ b/cp_average.txt @@ -0,0 +1,3 @@ + Total Time (s) T (K) P (Pa) PV/nT (J/(mol K)) Z V (m^3) N + -------------- ----------- --------------- -------------- --------------- ------------ ----------- + 1.0050e-12 88.70310 23075480.34971 7.43265 0.89394 1.02479e-25 2160 diff --git a/cp_output-orig.txt b/cp_output-orig.txt new file mode 100644 index 0000000..9e98c16 --- /dev/null +++ b/cp_output-orig.txt @@ -0,0 +1,202 @@ + time (s) T(t) (K) P(t) (Pa) Kinetic En. (n.u.) Potential En. (n.u.) Total En. (n.u.) + 0.0000e+00 99.823046157131 0.000000000000 2276.129839537671 -21170.987155723102 -18894.857316185429 + 5.0000e-15 99.430066433986 0.000000000000 2267.169254696612 -21153.065287024074 -18885.896032327462 + 1.0000e-14 98.775883795075 0.000000000000 2252.252813230883 -21123.229899935293 -18870.977086704410 + 1.5000e-14 97.862741911230 0.000000000000 2231.431674530326 -21081.582692906752 -18850.151018376426 + 2.0000e-14 96.694206918839 0.000000000000 2204.787152377213 -21028.285410399832 -18823.498258022621 + 2.5000e-14 95.275447081837 0.000000000000 2172.437091700281 -20963.572595041518 -18791.135503341236 + 3.0000e-14 93.613593183031 0.000000000000 2134.544086090446 -20887.768030660878 -18753.223944570433 + 3.5000e-14 91.718175307735 0.000000000000 2091.325437186824 -20801.304686506606 -18709.979249319782 + 4.0000e-14 89.601625625826 0.000000000000 2043.064618935748 -20704.747699715772 -18661.683080780025 + 4.5000e-14 87.279827237114 0.000000000000 1990.123792168963 -20598.819500560676 -18608.695708391711 + 5.0000e-14 84.772675394773 0.000000000000 1932.956601422036 -20484.425558996321 -18551.468957574285 + 5.5000e-14 82.104599400629 0.000000000000 1872.120075006427 -20362.678405373808 -18490.558330367381 + 6.0000e-14 79.304972601851 0.000000000000 1808.283973609195 -20234.916615241480 -18426.632641632285 + 6.5000e-14 76.408318150720 0.000000000000 1742.235481954568 -20102.714524488580 -18360.479042534011 + 7.0000e-14 73.454206638373 0.000000000000 1674.876874684737 -19967.877882712844 -18293.001008028106 + 7.5000e-14 70.486747936098 0.000000000000 1607.213929504612 -19832.420906090741 -18225.206976586131 + 8.0000e-14 67.553612281810 0.000000000000 1540.333606341292 -19698.521671777577 -18158.188065436283 + 8.5000e-14 64.704576976476 0.000000000000 1475.370909629343 -19568.455621741428 -18093.084712112086 + 9.0000e-14 61.989675229269 0.000000000000 1413.466678931913 -19444.510671201177 -18031.043992269264 + 9.5000e-14 59.457101039628 0.000000000000 1355.719816801386 -19328.891029125971 -17973.171212324585 + 1.0000e-13 57.151073500535 0.000000000000 1303.138591377119 -19223.619147227324 -17920.480555850205 + 1.0500e-13 55.109870455531 0.000000000000 1256.595800527268 -19130.445501262071 -17873.849700734805 + 1.1000e-13 53.364208054286 0.000000000000 1216.791823047155 -19050.774326347972 -17833.982503300816 + 1.1500e-13 51.936086547624 0.000000000000 1184.228300885332 -18985.610801550443 -17801.382500665113 + 1.2000e-13 50.838162498530 0.000000000000 1159.193824520485 -18935.532402510558 -17776.338577990075 + 1.2500e-13 50.073654330447 0.000000000000 1141.761779307151 -18900.684708342607 -17758.922929035456 + 1.3000e-13 49.636744184237 0.000000000000 1131.799508476207 -18880.799949102369 -17749.000440626161 + 1.3500e-13 49.513403842570 0.000000000000 1128.987145571103 -18875.234971146470 -17746.247825575367 + 1.4000e-13 49.682546840563 0.000000000000 1132.843884467593 -18883.024119879890 -17750.180235412299 + 1.4500e-13 50.117395092442 0.000000000000 1142.759140712276 -18902.941905316977 -17760.182764604702 + 1.5000e-13 50.786947776435 0.000000000000 1158.026044517046 -18933.570293319983 -17775.544248802937 + 1.5500e-13 51.657451571600 0.000000000000 1177.874964579916 -18973.365995237076 -17795.491030657162 + 1.6000e-13 52.693790969831 0.000000000000 1201.505209488391 -19020.724039042074 -17819.218829553683 + 1.6500e-13 53.860740664264 0.000000000000 1228.113584237426 -19074.034979707631 -17845.921395470206 + 1.7000e-13 55.124044818248 0.000000000000 1256.918999339337 -19131.734155057813 -17874.815155718476 + 1.7500e-13 56.451307566455 0.000000000000 1287.182775715643 -19192.342288329801 -17905.159512614158 + 1.8000e-13 57.812694084840 0.000000000000 1318.224630246533 -19254.497422337990 -17936.272792091459 + 1.8500e-13 59.181451839188 0.000000000000 1349.434561096222 -19316.978636350079 -17967.544075253856 + 1.9000e-13 60.534267721256 0.000000000000 1380.280991005091 -19378.722272414110 -17998.441281409021 + 1.9500e-13 61.851479519092 0.000000000000 1410.315589161191 -19438.831519967276 -18028.515930806087 + 2.0000e-13 63.117160367879 0.000000000000 1439.175196818513 -19496.580214362293 -18057.405017543781 + 2.0500e-13 64.319093228780 0.000000000000 1466.581245372786 -19551.411630146489 -18084.830384773704 + 2.1000e-13 65.448649730056 0.000000000000 1492.336993739269 -19602.932923795233 -18110.595930055963 + 2.1500e-13 66.500584588746 0.000000000000 1516.322840828575 -19650.905736346343 -18134.582895517768 + 2.2000e-13 67.472754109371 0.000000000000 1538.489906853600 -19695.233339332757 -18156.743432479157 + 2.2500e-13 68.365765787239 0.000000000000 1558.852043707764 -19735.944638051864 -18177.092594344100 + 2.3000e-13 69.182566628108 0.000000000000 1577.476447975430 -19773.175370815090 -18195.698922839660 + 2.3500e-13 69.927980965569 0.000000000000 1594.473122407151 -19807.146987447421 -18212.673865040269 + 2.4000e-13 70.608214296791 0.000000000000 1609.983562557461 -19838.143954290543 -18228.160391733083 + 2.4500e-13 71.230347089962 0.000000000000 1624.169214761089 -19866.490578068064 -18242.321363306975 + 2.5000e-13 71.801849695525 0.000000000000 1637.200415310187 -19892.528777416042 -18255.328362105854 + 2.5500e-13 72.330153566790 0.000000000000 1649.246613578247 -19916.598426529152 -18267.351812950907 + 2.6000e-13 72.822312032462 0.000000000000 1660.468637075040 -19939.021811565053 -18278.553174490014 + 2.6500e-13 73.284774263109 0.000000000000 1671.013537509926 -19960.093299816941 -18289.079762307014 + 2.7000e-13 73.723279888511 0.000000000000 1681.012187893841 -19980.074570635283 -18299.062382741442 + 2.7500e-13 74.142862889948 0.000000000000 1690.579371289844 -19999.194880378862 -18308.615509089017 + 2.8000e-13 74.547937343440 0.000000000000 1699.815735900242 -20017.655086920513 -18317.839351020270 + 2.8500e-13 74.942428850070 0.000000000000 1708.810791894348 -20035.633755351471 -18326.822963457125 + 2.9000e-13 75.329915690697 0.000000000000 1717.646129968400 -20053.293681694198 -18335.647551725800 + 2.9500e-13 75.713751254186 0.000000000000 1726.398212910802 -20070.787526274078 -18344.389313363277 + 3.0000e-13 76.097150480774 0.000000000000 1735.140346653345 -20088.261770810641 -18353.121424157296 + 3.0500e-13 76.483234204483 0.000000000000 1743.943691351042 -20105.858729244195 -18361.915037893152 + 3.1000e-13 76.875033927270 0.000000000000 1752.877370240729 -20123.716738514144 -18370.839368273417 + 3.1500e-13 77.275464922698 0.000000000000 1762.007856360478 -20141.968898535313 -18379.961042174837 + 3.2000e-13 77.687278065965 0.000000000000 1771.397874194922 -20160.740841278079 -18389.342967083157 + 3.2500e-13 78.113001325101 0.000000000000 1781.105065578145 -20180.148030776116 -18399.042965197972 + 3.3000e-13 78.554881249561 0.000000000000 1791.180655537325 -20200.293067023857 -18409.112411486531 + 3.3500e-13 79.014833544294 0.000000000000 1801.668325300074 -20221.263409567062 -18419.595084266988 + 3.4000e-13 79.494410070760 0.000000000000 1812.603459863198 -20243.129857027652 -18430.526397164453 + 3.4500e-13 79.994787322038 0.000000000000 1824.012885206400 -20265.946014796100 -18441.933129589699 + 3.5000e-13 80.516778488607 0.000000000000 1835.915143411711 -20289.748849423264 -18453.833706011552 + 3.5500e-13 81.060867665302 0.000000000000 1848.321272638574 -20314.560265182699 -18466.238992544124 + 3.6000e-13 81.627260723254 0.000000000000 1861.235967087807 -20340.389453556851 -18479.153486469044 + 3.6500e-13 82.215943291394 0.000000000000 1874.658899075390 -20367.235578193602 -18492.576679118214 + 3.7000e-13 82.826732860944 0.000000000000 1888.585907100593 -20395.090198266520 -18506.504291165926 + 3.7500e-13 83.459310274397 0.000000000000 1903.009713846689 -20423.938749121065 -18520.929035274377 + 3.8000e-13 84.113217059921 0.000000000000 1917.919865400919 -20453.760449780166 -18535.840584379246 + 3.8500e-13 84.787810345616 0.000000000000 1933.301703225284 -20484.526246125533 -18551.224542900251 + 3.9000e-13 85.482176638171 0.000000000000 1949.134398167950 -20516.194838767035 -18567.060440599085 + 3.9500e-13 86.195017970325 0.000000000000 1965.388354437887 -20548.707413611624 -18583.319059173737 + 4.0000e-13 86.924535090611 0.000000000000 1982.022546138700 -20581.982218804693 -18599.959672665991 + 4.0500e-13 87.668337698224 0.000000000000 1998.982470475703 -20615.910386805994 -18616.927916330293 + 4.1000e-13 88.423407755835 0.000000000000 2016.199311227740 -20650.354218869310 -18634.154907641569 + 4.1500e-13 89.186128963618 0.000000000000 2033.590610803502 -20685.148542906329 -18651.557932102827 + 4.2000e-13 89.952378213929 0.000000000000 2051.062355558811 -20720.104945675455 -18669.042590116645 + 4.2500e-13 90.717660093533 0.000000000000 2068.512042668963 -20755.017989203257 -18686.505946534293 + 4.3000e-13 91.477258609354 0.000000000000 2085.832139725595 -20789.672203564809 -18703.840063839212 + 4.3500e-13 92.226382605571 0.000000000000 2102.913400485950 -20823.848761922196 -18720.935361436248 + 4.4000e-13 92.960290192757 0.000000000000 2119.647702062239 -20857.331162655217 -18737.683460592976 + 4.4500e-13 93.674388496471 0.000000000000 2135.930319353714 -20889.909756677880 -18753.979437324168 + 4.5000e-13 94.364314267812 0.000000000000 2151.661763100128 -20921.385385936577 -18769.723622836449 + 4.5500e-13 95.026006222349 0.000000000000 2166.749429328342 -20951.572642707732 -18784.823213379390 + 4.6000e-13 95.655780870001 0.000000000000 2181.109328398624 -20980.303298389339 -18799.193969990716 + 4.6500e-13 96.250420553238 80467840.792713567615 2194.668092420490 -21007.430308610517 -18812.762216190029 + 4.7000e-13 96.808269454089 0.000000000000 2207.387966017444 -21032.877845856605 -18825.489879839162 + 4.7500e-13 97.326210460521 0.000000000000 2219.197873901885 -21056.503368018683 -18837.305494116797 + 4.8000e-13 97.803057915930 0.000000000000 2230.070781150727 -21078.252506416615 -18848.181725265888 + 4.8500e-13 98.238505166071 0.000000000000 2239.999695542206 -21098.111105833519 -18858.111410291312 + 4.9000e-13 98.633168249846 0.000000000000 2248.998663777769 -21116.107281217781 -18867.108617440012 + 4.9500e-13 98.988566034346 94972998.727793812752 2257.102318528319 -21132.310551890921 -18875.208233362602 + 5.0000e-13 99.307661869278 0.000000000000 2264.378229047194 -21146.856551450583 -18882.478322403389 + 5.0500e-13 99.592771137611 0.000000000000 2270.879189879014 -21159.851528696854 -18888.972338817839 + 5.1000e-13 99.847269437732 0.000000000000 2276.682170225925 -21171.450189455321 -18894.768019229396 + 5.1500e-13 100.074685220125 0.000000000000 2281.867624569521 -21181.814192375597 -18899.946567806077 + 5.2000e-13 100.278447435248 0.000000000000 2286.513738626993 -21191.100534083307 -18904.586795456315 + 5.2500e-13 100.461672705272 0.000000000000 2290.691576516283 -21199.451772943339 -18908.760196427054 + 5.3000e-13 100.627014590560 0.000000000000 2294.461643783485 -21206.989138044177 -18912.527494260692 + 5.3500e-13 100.776581191341 0.000000000000 2297.872008585410 -21213.808804935386 -18915.936796349975 + 5.4000e-13 100.911911869151 0.000000000000 2300.957770900096 -21219.980895839133 -18919.023124939038 + 5.4500e-13 101.033994892184 0.000000000000 2303.741464869825 -21225.550344580799 -18921.808879710974 + 5.5000e-13 101.143307782426 0.000000000000 2306.233978782234 -21230.538770911709 -18924.304792129475 + 5.5500e-13 101.239869479028 0.000000000000 2308.435744481167 -21234.946858759158 -18926.511114277990 + 5.6000e-13 101.323303596074 0.000000000000 2310.338179747921 -21238.757213858600 -18928.419034110681 + 5.6500e-13 101.392919892567 0.000000000000 2311.925545951069 -21241.938045193016 -18930.012499241948 + 5.7000e-13 101.447823030728 53725445.422426432371 2313.177427914839 -21244.448106471107 -18931.270678556270 + 5.7500e-13 101.488142754411 0.000000000000 2314.096784012751 -21246.292813008080 -18932.196028995328 + 5.8000e-13 101.511919697247 0.000000000000 2314.638937464924 -21247.382263846608 -18932.743326381686 + 5.8500e-13 101.518575578879 0.000000000000 2314.790702526955 -21247.689574545449 -18932.898872018493 + 5.9000e-13 101.507976654675 0.000000000000 2314.549029600949 -21247.208247442228 -18932.659217841279 + 5.9500e-13 101.480560581955 77381903.001053154469 2313.923897994533 -21245.958024663068 -18932.034126668535 + 6.0000e-13 101.439334088290 0.000000000000 2312.983866047773 -21244.076221061780 -18931.092355014007 + 6.0500e-13 101.383732604552 0.000000000000 2311.716060654832 -21241.537132832749 -18929.821072177918 + 6.1000e-13 101.315971969448 0.000000000000 2310.171006587237 -21238.442190651465 -18928.271184064230 + 6.1500e-13 101.238698040385 0.000000000000 2308.409033750997 -21234.912530993821 -18926.503497242826 + 6.2000e-13 101.154827517789 0.000000000000 2306.496647719039 -21231.081659363481 -18924.585011644442 + 6.2500e-13 101.067381091823 68892508.729905933142 2304.502725201497 -21227.087775933844 -18922.585050732345 + 6.3000e-13 100.982359372982 169562217.574805349112 2302.564089999380 -21223.204904290720 -18920.640814291339 + 6.3500e-13 100.901715040790 91051991.646203160286 2300.725266421466 -21219.522501630421 -18918.797235208956 + 6.4000e-13 100.830134370164 137291796.435539186001 2299.093109253179 -21216.254315185222 -18917.161205932043 + 6.4500e-13 100.769333836480 76790530.791780740023 2297.706756959737 -21213.478762452916 -18915.772005493178 + 6.5000e-13 100.718706329717 0.000000000000 2296.552366432897 -21211.168192826342 -18914.615826393445 + 6.5500e-13 100.677880214588 174120187.506460100412 2295.621463776105 -21209.305675425832 -18913.684211649728 + 6.6000e-13 100.653356339579 55952001.336968310177 2295.062279040333 -21208.187730952512 -18913.125451912179 + 6.6500e-13 100.640958226726 0.000000000000 2294.779581650248 -21207.623870049683 -18912.844288399436 + 6.7000e-13 100.639446819821 0.000000000000 2294.745119083863 -21207.557431715009 -18912.812312631148 + 6.7500e-13 100.648448314501 184333714.889515459538 2294.950367986077 -21207.971234640288 -18913.020866654209 + 6.8000e-13 100.672529346630 54293960.884311266243 2295.499455174933 -21209.073530802154 -18913.574075627221 + 6.8500e-13 100.707723185659 0.000000000000 2296.301932661491 -21210.683117523360 -18914.381184861868 + 6.9000e-13 100.750217435514 138303134.855293035507 2297.270871537114 -21212.625957838518 -18915.355086301402 + 6.9500e-13 100.801028078367 0.000000000000 2298.429437868404 -21214.948521269631 -18916.519083401228 + 7.0000e-13 100.855620721515 0.000000000000 2299.674240034540 -21217.443694224476 -18917.769454189936 + 7.0500e-13 100.912322255911 0.000000000000 2300.967128394048 -21220.035131607368 -18919.068003213320 + 7.1000e-13 100.969409215777 93534525.905966237187 2302.268805088979 -21222.644218475438 -18920.375413386460 + 7.1500e-13 101.027596522277 44072793.526799157262 2303.595571499186 -21225.303672369795 -18921.708100870608 + 7.2000e-13 101.083913384717 136421853.714708119631 2304.879688704620 -21227.877902505759 -18922.998213801140 + 7.2500e-13 101.138079781396 0.000000000000 2306.114771749347 -21230.354134604702 -18924.239362855355 + 7.3000e-13 101.185173168893 0.000000000000 2307.188578536978 -21232.507853405208 -18925.319274868230 + 7.3500e-13 101.223380989136 146989078.742989242077 2308.059779758619 -21234.256387746380 -18926.196607987760 + 7.4000e-13 101.253330191092 0.000000000000 2308.742670883124 -21235.628428887496 -18926.885758004373 + 7.4500e-13 101.270582567130 0.000000000000 2309.136053467775 -21236.421442169143 -18927.285388701370 + 7.5000e-13 101.273396455537 52543282.456574238837 2309.200214757313 -21236.555933866191 -18927.355719108877 + 7.5500e-13 101.260786312900 50478875.563574224710 2308.912682738988 -21235.986832504477 -18927.074149765489 + 7.6000e-13 101.233044644123 114192522.871039137244 2308.280127006291 -21234.727285012257 -18926.447158005965 + 7.6500e-13 101.189872317893 184462270.039994597435 2307.295726872682 -21232.763457389723 -18925.467730517041 + 7.7000e-13 101.132587047742 57767040.799043327570 2305.989528376672 -21230.155248726234 -18924.165720349563 + 7.7500e-13 101.055898509856 172816247.226023375988 2304.240903423288 -21226.661093184430 -18922.420189761142 + 7.8000e-13 100.959467989391 199581971.051283359528 2302.042128756306 -21222.265466619927 -18920.223337863623 + 7.8500e-13 100.844822900482 0.000000000000 2299.428031933284 -21217.037854076494 -18917.609822143211 + 7.9000e-13 100.708132571311 0.000000000000 2296.311267328540 -21210.803457085462 -18914.492189756922 + 7.9500e-13 100.550485537268 82852587.335772812366 2292.716655341487 -21203.611955147448 -18910.895299805961 + 8.0000e-13 100.376412827676 64663370.565699055791 2288.747510902349 -21195.670061386096 -18906.922550483745 + 8.0500e-13 100.186766131912 62818096.025483191013 2284.423253931498 -21187.016783311825 -18902.593529380327 + 8.1000e-13 99.984661803613 40673745.137080729008 2279.814942423773 -21177.794440303867 -18897.979497880093 + 8.1500e-13 99.771608746194 145899561.290219575167 2274.956981861916 -21168.072042021275 -18893.115060159358 + 8.2000e-13 99.536365488773 52575189.963680639863 2269.593048197501 -21157.335923320807 -18887.742875123306 + 8.2500e-13 99.296347675291 26785077.410323273391 2264.120246792246 -21146.381777252493 -18882.261530460248 + 8.3000e-13 99.053958371976 44394650.135883234441 2258.593371513434 -21135.319572248864 -18876.726200735429 + 8.3500e-13 98.814387873513 48920596.857503734529 2253.130769627242 -21124.386318174860 -18871.255548547619 + 8.4000e-13 98.580425959226 99841331.509202435613 2247.796052696381 -21113.709426047943 -18865.913373351563 + 8.4500e-13 98.359247104798 47265490.834025457501 2242.752810581265 -21103.616095545032 -18860.863284963765 + 8.5000e-13 98.150778120109 0.000000000000 2237.999374426635 -21094.102841062511 -18856.103466635876 + 8.5500e-13 97.956110742762 0.000000000000 2233.560637647702 -21085.219160015433 -18851.658522367732 + 8.6000e-13 97.778084686544 0.000000000000 2229.501350395173 -21077.094264683878 -18847.592914288703 + 8.6500e-13 97.619512630961 0.000000000000 2225.885646393700 -21069.856257653217 -18843.970611259516 + 8.7000e-13 97.483219554591 0.000000000000 2222.777939807007 -21063.634066041552 -18840.856126234543 + 8.7500e-13 97.371998065401 26645073.594592466950 2220.241906695509 -21058.555489844177 -18838.313583148669 + 8.8000e-13 97.289063475627 0.000000000000 2218.350861473179 -21054.767939120688 -18836.417077647508 + 8.8500e-13 97.235933357948 0.000000000000 2217.139407296187 -21052.341552058635 -18835.202144762450 + 8.9000e-13 97.214039677538 50761698.241923235357 2216.640195328640 -21051.342483408411 -18834.702288079770 + 8.9500e-13 97.223115878023 0.000000000000 2216.847147646246 -21051.759012974468 -18834.911865328220 + 9.0000e-13 97.263060663199 0.000000000000 2217.757954528769 -21053.586579173647 -18835.828624644877 + 9.0500e-13 97.332007238955 31399035.525223266333 2219.330049996222 -21056.739562301977 -18837.409512305756 + 9.1000e-13 97.427574349810 134108345.848325118423 2221.509137502269 -21061.108561615609 -18839.599424113338 + 9.1500e-13 97.543947992142 46993105.597974032164 2224.162648189874 -21066.427494870091 -18842.264846680217 + 9.2000e-13 97.680103711247 0.000000000000 2227.267222804751 -21072.649039091510 -18845.381816286757 + 9.2500e-13 97.830104234863 0.000000000000 2230.687481761890 -21079.501925473214 -18848.814443711322 + 9.3000e-13 97.989644951229 42377817.226953580976 2234.325272824403 -21086.789585495320 -18852.464312670916 + 9.3500e-13 98.156013360592 46175612.273578554392 2238.118746530957 -21094.388188629342 -18856.269442098386 + 9.4000e-13 98.324581727232 56844353.038442038000 2241.962382886326 -21102.086544355490 -18860.124161469164 + 9.4500e-13 98.492884883650 131755971.208584144711 2245.799972011856 -21109.772051808748 -18863.972079796891 + 9.5000e-13 98.651587182847 61568287.064322657883 2249.418645782222 -21117.018743873890 -18867.600098091669 + 9.5500e-13 98.801142011416 41643130.795075833797 2252.828742158333 -21123.846914048638 -18871.018171890304 + 9.6000e-13 98.938967520086 73259641.783949464560 2255.971390725063 -21130.138592788724 -18874.167202063662 + 9.6500e-13 99.054039784001 0.000000000000 2258.595227841666 -21135.390897197922 -18876.795669356256 + 9.7000e-13 99.152235518797 59873855.602764263749 2260.834252302343 -21139.871903600666 -18879.037651298324 + 9.7500e-13 99.228184578056 65545500.698350220919 2262.566015925287 -21143.336738614140 -18880.770722688852 + 9.8000e-13 99.287298173864 133043291.212442994118 2263.913903257108 -21146.032356644424 -18882.118453387317 + 9.8500e-13 99.332676848904 67949306.321875095367 2264.948611776983 -21148.100272304408 -18883.151660527423 + 9.9000e-13 99.358256017024 0.000000000000 2265.531858933524 -21149.264149768715 -18883.732290835193 + 9.9500e-13 99.365437590893 118461652.350641116500 2265.695610644236 -21149.587715831352 -18883.892105187115 + 1.0000e-12 99.359604739027 0.000000000000 2265.562612016246 -21149.316492672522 -18883.753880656277 diff --git a/cp_output.txt b/cp_output.txt new file mode 100644 index 0000000..5196ce5 --- /dev/null +++ b/cp_output.txt @@ -0,0 +1,202 @@ + time (s) T(t) (K) P(t) (Pa) Kinetic En. (n.u.) Potential En. (n.u.) Total En. (n.u.) + 0.0000e+00 99.823046157131 0.000000000000 2276.129839537671 -21170.987155723738 -18894.857316186066 + 5.0000e-15 99.430066433986 0.000000000000 2267.169254696612 -21153.065287023051 -18885.896032326440 + 1.0000e-14 98.775883795075 0.000000000000 2252.252813230883 -21123.229899936763 -18870.977086705880 + 1.5000e-14 97.862741911230 0.000000000000 2231.431674530326 -21081.582692909291 -18850.151018378965 + 2.0000e-14 96.694206918839 0.000000000000 2204.787152377214 -21028.285410402823 -18823.498258025611 + 2.5000e-14 95.275447081837 0.000000000000 2172.437091700281 -20963.572595040936 -18791.135503340654 + 3.0000e-14 93.613593183031 0.000000000000 2134.544086090446 -20887.768030660216 -18753.223944569771 + 3.5000e-14 91.718175307735 0.000000000000 2091.325437186824 -20801.304686508829 -18709.979249322005 + 4.0000e-14 89.601625625826 0.000000000000 2043.064618935748 -20704.747699715073 -18661.683080779327 + 4.5000e-14 87.279827237114 0.000000000000 1990.123792168963 -20598.819500558115 -18608.695708389150 + 5.0000e-14 84.772675394773 0.000000000000 1932.956601422036 -20484.425558998624 -18551.468957576588 + 5.5000e-14 82.104599400629 0.000000000000 1872.120075006427 -20362.678405372902 -18490.558330366475 + 6.0000e-14 79.304972601851 0.000000000000 1808.283973609195 -20234.916615244118 -18426.632641634922 + 6.5000e-14 76.408318150720 0.000000000000 1742.235481954568 -20102.714524491177 -18360.479042536608 + 7.0000e-14 73.454206638373 0.000000000000 1674.876874684737 -19967.877882713929 -18293.001008029190 + 7.5000e-14 70.486747936098 0.000000000000 1607.213929504612 -19832.420906091691 -18225.206976587080 + 8.0000e-14 67.553612281810 0.000000000000 1540.333606341292 -19698.521671778017 -18158.188065436723 + 8.5000e-14 64.704576976476 0.000000000000 1475.370909629343 -19568.455621743615 -18093.084712114272 + 9.0000e-14 61.989675229269 0.000000000000 1413.466678931914 -19444.510671202428 -18031.043992270515 + 9.5000e-14 59.457101039628 0.000000000000 1355.719816801386 -19328.891029127131 -17973.171212325746 + 1.0000e-13 57.151073500535 0.000000000000 1303.138591377119 -19223.619147223981 -17920.480555846862 + 1.0500e-13 55.109870455531 0.000000000000 1256.595800527268 -19130.445501260390 -17873.849700733124 + 1.1000e-13 53.364208054286 0.000000000000 1216.791823047155 -19050.774326345723 -17833.982503298568 + 1.1500e-13 51.936086547624 0.000000000000 1184.228300885332 -18985.610801552139 -17801.382500666808 + 1.2000e-13 50.838162498530 0.000000000000 1159.193824520485 -18935.532402510431 -17776.338577989947 + 1.2500e-13 50.073654330447 0.000000000000 1141.761779307151 -18900.684708343262 -17758.922929036111 + 1.3000e-13 49.636744184237 0.000000000000 1131.799508476207 -18880.799949101500 -17749.000440625292 + 1.3500e-13 49.513403842570 0.000000000000 1128.987145571103 -18875.234971146012 -17746.247825574908 + 1.4000e-13 49.682546840563 0.000000000000 1132.843884467593 -18883.024119881375 -17750.180235413784 + 1.4500e-13 50.117395092442 0.000000000000 1142.759140712276 -18902.941905318730 -17760.182764606456 + 1.5000e-13 50.786947776435 0.000000000000 1158.026044517046 -18933.570293319775 -17775.544248802729 + 1.5500e-13 51.657451571600 0.000000000000 1177.874964579916 -18973.365995238219 -17795.491030658304 + 1.6000e-13 52.693790969831 0.000000000000 1201.505209488392 -19020.724039040269 -17819.218829551879 + 1.6500e-13 53.860740664264 0.000000000000 1228.113584237426 -19074.034979710228 -17845.921395472804 + 1.7000e-13 55.124044818248 0.000000000000 1256.918999339337 -19131.734155056572 -17874.815155717235 + 1.7500e-13 56.451307566455 0.000000000000 1287.182775715643 -19192.342288330583 -17905.159512614940 + 1.8000e-13 57.812694084840 0.000000000000 1318.224630246533 -19254.497422337830 -17936.272792091298 + 1.8500e-13 59.181451839188 0.000000000000 1349.434561096222 -19316.978636348747 -17967.544075252525 + 1.9000e-13 60.534267721256 0.000000000000 1380.280991005090 -19378.722272416126 -17998.441281411036 + 1.9500e-13 61.851479519092 0.000000000000 1410.315589161190 -19438.831519965486 -18028.515930804297 + 2.0000e-13 63.117160367879 0.000000000000 1439.175196818513 -19496.580214363818 -18057.405017545305 + 2.0500e-13 64.319093228780 0.000000000000 1466.581245372786 -19551.411630147253 -18084.830384774468 + 2.1000e-13 65.448649730056 0.000000000000 1492.336993739269 -19602.932923796499 -18110.595930057229 + 2.1500e-13 66.500584588746 0.000000000000 1516.322840828575 -19650.905736343353 -18134.582895514777 + 2.2000e-13 67.472754109371 0.000000000000 1538.489906853600 -19695.233339333208 -18156.743432479609 + 2.2500e-13 68.365765787239 0.000000000000 1558.852043707764 -19735.944638051518 -18177.092594343754 + 2.3000e-13 69.182566628108 0.000000000000 1577.476447975430 -19773.175370816847 -18195.698922841417 + 2.3500e-13 69.927980965569 0.000000000000 1594.473122407151 -19807.146987448348 -18212.673865041197 + 2.4000e-13 70.608214296791 0.000000000000 1609.983562557461 -19838.143954290230 -18228.160391732767 + 2.4500e-13 71.230347089962 0.000000000000 1624.169214761088 -19866.490578068206 -18242.321363307117 + 2.5000e-13 71.801849695525 0.000000000000 1637.200415310187 -19892.528777415318 -18255.328362105131 + 2.5500e-13 72.330153566790 0.000000000000 1649.246613578247 -19916.598426527238 -18267.351812948993 + 2.6000e-13 72.822312032462 0.000000000000 1660.468637075040 -19939.021811565046 -18278.553174490007 + 2.6500e-13 73.284774263109 0.000000000000 1671.013537509926 -19960.093299817938 -18289.079762308011 + 2.7000e-13 73.723279888511 0.000000000000 1681.012187893841 -19980.074570631343 -18299.062382737502 + 2.7500e-13 74.142862889948 0.000000000000 1690.579371289844 -19999.194880377057 -18308.615509087213 + 2.8000e-13 74.547937343440 0.000000000000 1699.815735900243 -20017.655086923547 -18317.839351023304 + 2.8500e-13 74.942428850070 0.000000000000 1708.810791894347 -20035.633755350580 -18326.822963456234 + 2.9000e-13 75.329915690697 0.000000000000 1717.646129968400 -20053.293681693533 -18335.647551725131 + 2.9500e-13 75.713751254186 0.000000000000 1726.398212910802 -20070.787526273314 -18344.389313362513 + 3.0000e-13 76.097150480774 0.000000000000 1735.140346653344 -20088.261770810910 -18353.121424157565 + 3.0500e-13 76.483234204483 0.000000000000 1743.943691351043 -20105.858729244606 -18361.915037893563 + 3.1000e-13 76.875033927270 0.000000000000 1752.877370240729 -20123.716738515381 -18370.839368274654 + 3.1500e-13 77.275464922698 0.000000000000 1762.007856360478 -20141.968898536077 -18379.961042175601 + 3.2000e-13 77.687278065965 0.000000000000 1771.397874194921 -20160.740841279039 -18389.342967084118 + 3.2500e-13 78.113001325101 0.000000000000 1781.105065578145 -20180.148030773624 -18399.042965195480 + 3.3000e-13 78.554881249561 0.000000000000 1791.180655537325 -20200.293067024315 -18409.112411486989 + 3.3500e-13 79.014833544294 0.000000000000 1801.668325300073 -20221.263409567557 -18419.595084267483 + 3.4000e-13 79.494410070760 0.000000000000 1812.603459863199 -20243.129857024793 -18430.526397161593 + 3.4500e-13 79.994787322038 0.000000000000 1824.012885206400 -20265.946014794816 -18441.933129588415 + 3.5000e-13 80.516778488607 0.000000000000 1835.915143411711 -20289.748849423788 -18453.833706012076 + 3.5500e-13 81.060867665302 0.000000000000 1848.321272638574 -20314.560265183038 -18466.238992544462 + 3.6000e-13 81.627260723254 0.000000000000 1861.235967087807 -20340.389453556760 -18479.153486468953 + 3.6500e-13 82.215943291394 0.000000000000 1874.658899075390 -20367.235578191630 -18492.576679116239 + 3.7000e-13 82.826732860944 0.000000000000 1888.585907100595 -20395.090198266331 -18506.504291165737 + 3.7500e-13 83.459310274397 0.000000000000 1903.009713846690 -20423.938749123387 -18520.929035276698 + 3.8000e-13 84.113217059921 0.000000000000 1917.919865400918 -20453.760449780180 -18535.840584379261 + 3.8500e-13 84.787810345616 0.000000000000 1933.301703225285 -20484.526246127400 -18551.224542902113 + 3.9000e-13 85.482176638171 0.000000000000 1949.134398167950 -20516.194838769807 -18567.060440601857 + 3.9500e-13 86.195017970325 0.000000000000 1965.388354437887 -20548.707413612181 -18583.319059174293 + 4.0000e-13 86.924535090611 0.000000000000 1982.022546138701 -20581.982218803405 -18599.959672664703 + 4.0500e-13 87.668337698224 0.000000000000 1998.982470475703 -20615.910386809352 -18616.927916333647 + 4.1000e-13 88.423407755835 0.000000000000 2016.199311227741 -20650.354218867549 -18634.154907639808 + 4.1500e-13 89.186128963618 0.000000000000 2033.590610803501 -20685.148542904655 -18651.557932101154 + 4.2000e-13 89.952378213929 0.000000000000 2051.062355558810 -20720.104945676489 -18669.042590117679 + 4.2500e-13 90.717660093533 0.000000000000 2068.512042668962 -20755.017989206564 -18686.505946537603 + 4.3000e-13 91.477258609354 0.000000000000 2085.832139725595 -20789.672203564089 -18703.840063838492 + 4.3500e-13 92.226382605571 0.000000000000 2102.913400485948 -20823.848761924040 -18720.935361438093 + 4.4000e-13 92.960290192757 0.000000000000 2119.647702062238 -20857.331162653845 -18737.683460591608 + 4.4500e-13 93.674388496471 0.000000000000 2135.930319353715 -20889.909756677669 -18753.979437323953 + 4.5000e-13 94.364314267812 0.000000000000 2151.661763100128 -20921.385385938695 -18769.723622838566 + 4.5500e-13 95.026006222349 0.000000000000 2166.749429328343 -20951.572642707342 -18784.823213379001 + 4.6000e-13 95.655780870001 0.000000000000 2181.109328398624 -20980.303298390198 -18799.193969991575 + 4.6500e-13 96.250420553238 80467840.792713567615 2194.668092420491 -21007.430308609462 -18812.762216188970 + 4.7000e-13 96.808269454089 0.000000000000 2207.387966017444 -21032.877845856307 -18825.489879838860 + 4.7500e-13 97.326210460521 0.000000000000 2219.197873901885 -21056.503368019159 -18837.305494117274 + 4.8000e-13 97.803057915930 0.000000000000 2230.070781150726 -21078.252506416535 -18848.181725265807 + 4.8500e-13 98.238505166071 0.000000000000 2239.999695542205 -21098.111105833741 -18858.111410291534 + 4.9000e-13 98.633168249846 0.000000000000 2248.998663777767 -21116.107281217497 -18867.108617439728 + 4.9500e-13 98.988566034346 94972998.727793619037 2257.102318528317 -21132.310551890587 -18875.208233362267 + 5.0000e-13 99.307661869278 0.000000000000 2264.378229047195 -21146.856551451376 -18882.478322404182 + 5.0500e-13 99.592771137611 0.000000000000 2270.879189879013 -21159.851528698535 -18888.972338819520 + 5.1000e-13 99.847269437732 0.000000000000 2276.682170225925 -21171.450189452768 -18894.768019226842 + 5.1500e-13 100.074685220125 0.000000000000 2281.867624569520 -21181.814192374412 -18899.946567804891 + 5.2000e-13 100.278447435248 0.000000000000 2286.513738626993 -21191.100534083187 -18904.586795456195 + 5.2500e-13 100.461672705272 0.000000000000 2290.691576516282 -21199.451772940978 -18908.760196424697 + 5.3000e-13 100.627014590560 0.000000000000 2294.461643783485 -21206.989138045006 -18912.527494261521 + 5.3500e-13 100.776581191341 0.000000000000 2297.872008585410 -21213.808804938173 -18915.936796352762 + 5.4000e-13 100.911911869151 0.000000000000 2300.957770900096 -21219.980895836838 -18919.023124936743 + 5.4500e-13 101.033994892184 0.000000000000 2303.741464869823 -21225.550344580923 -18921.808879711101 + 5.5000e-13 101.143307782426 0.000000000000 2306.233978782232 -21230.538770913121 -18924.304792130890 + 5.5500e-13 101.239869479028 0.000000000000 2308.435744481166 -21234.946858762414 -18926.511114281249 + 5.6000e-13 101.323303596075 0.000000000000 2310.338179747921 -21238.757213857058 -18928.419034109138 + 5.6500e-13 101.392919892567 0.000000000000 2311.925545951070 -21241.938045192641 -18930.012499241569 + 5.7000e-13 101.447823030728 53725445.422426432371 2313.177427914839 -21244.448106468873 -18931.270678554036 + 5.7500e-13 101.488142754411 0.000000000000 2314.096784012751 -21246.292813008859 -18932.196028996106 + 5.8000e-13 101.511919697247 0.000000000000 2314.638937464925 -21247.382263847125 -18932.743326382199 + 5.8500e-13 101.518575578879 0.000000000000 2314.790702526955 -21247.689574542950 -18932.898872015994 + 5.9000e-13 101.507976654675 0.000000000000 2314.549029600947 -21247.208247444145 -18932.659217843197 + 5.9500e-13 101.480560581955 77381903.001053184271 2313.923897994531 -21245.958024661049 -18932.034126666520 + 6.0000e-13 101.439334088290 0.000000000000 2312.983866047773 -21244.076221061096 -18931.092355013323 + 6.0500e-13 101.383732604552 0.000000000000 2311.716060654831 -21241.537132832713 -18929.821072177881 + 6.1000e-13 101.315971969448 0.000000000000 2310.171006587237 -21238.442190649999 -18928.271184062763 + 6.1500e-13 101.238698040385 0.000000000000 2308.409033750997 -21234.912530993683 -18926.503497242684 + 6.2000e-13 101.154827517789 0.000000000000 2306.496647719039 -21231.081659365700 -18924.585011646661 + 6.2500e-13 101.067381091823 68892508.729905828834 2304.502725201497 -21227.087775933629 -18922.585050732130 + 6.3000e-13 100.982359372982 169562217.574805825949 2302.564089999381 -21223.204904289967 -18920.640814290586 + 6.3500e-13 100.901715040789 91051991.646203294396 2300.725266421464 -21219.522501627449 -18918.797235205984 + 6.4000e-13 100.830134370164 137291796.435539186001 2299.093109253175 -21216.254315185197 -18917.161205932021 + 6.4500e-13 100.769333836480 76790530.791780710220 2297.706756959737 -21213.478762451316 -18915.772005491577 + 6.5000e-13 100.718706329717 0.000000000000 2296.552366432897 -21211.168192827805 -18914.615826394907 + 6.5500e-13 100.677880214588 174120187.506460040808 2295.621463776105 -21209.305675427091 -18913.684211650987 + 6.6000e-13 100.653356339579 55952001.336968332529 2295.062279040330 -21208.187730950522 -18913.125451910193 + 6.6500e-13 100.640958226726 0.000000000000 2294.779581650248 -21207.623870046969 -18912.844288396722 + 6.7000e-13 100.639446819821 0.000000000000 2294.745119083862 -21207.557431716312 -18912.812312632450 + 6.7500e-13 100.648448314501 184333714.889515429735 2294.950367986077 -21207.971234640954 -18913.020866654879 + 6.8000e-13 100.672529346630 54293960.884311273694 2295.499455174934 -21209.073530805086 -18913.574075630153 + 6.8500e-13 100.707723185659 0.000000000000 2296.301932661493 -21210.683117522771 -18914.381184861279 + 6.9000e-13 100.750217435514 138303134.855293035507 2297.270871537113 -21212.625957837827 -18915.355086300715 + 6.9500e-13 100.801028078367 0.000000000000 2298.429437868401 -21214.948521267324 -18916.519083398922 + 7.0000e-13 100.855620721515 0.000000000000 2299.674240034537 -21217.443694229245 -18917.769454194706 + 7.0500e-13 100.912322255911 0.000000000000 2300.967128394046 -21220.035131608522 -18919.068003214474 + 7.1000e-13 100.969409215777 93534525.905966281891 2302.268805088978 -21222.644218472902 -18920.375413383925 + 7.1500e-13 101.027596522277 44072793.526799127460 2303.595571499186 -21225.303672369242 -18921.708100870055 + 7.2000e-13 101.083913384717 136421853.714707940817 2304.879688704620 -21227.877902503318 -18922.998213798699 + 7.2500e-13 101.138079781396 0.000000000000 2306.114771749346 -21230.354134606736 -18924.239362857388 + 7.3000e-13 101.185173168893 0.000000000000 2307.188578536977 -21232.507853406762 -18925.319274869784 + 7.3500e-13 101.223380989136 146989078.742989242077 2308.059779758618 -21234.256387747693 -18926.196607989077 + 7.4000e-13 101.253330191092 0.000000000000 2308.742670883125 -21235.628428886590 -18926.885758003464 + 7.4500e-13 101.270582567130 0.000000000000 2309.136053467773 -21236.421442171075 -18927.285388703302 + 7.5000e-13 101.273396455537 52543282.456574201584 2309.200214757315 -21236.555933864631 -18927.355719107316 + 7.5500e-13 101.260786312900 50478875.563574202359 2308.912682738990 -21235.986832501610 -18927.074149762622 + 7.6000e-13 101.233044644123 114192522.871039077640 2308.280127006295 -21234.727285010234 -18926.447158003939 + 7.6500e-13 101.189872317893 184462270.039994597435 2307.295726872683 -21232.763457390127 -18925.467730517445 + 7.7000e-13 101.132587047742 57767040.799043186009 2305.989528376670 -21230.155248725994 -18924.165720349323 + 7.7500e-13 101.055898509856 172816247.226023137569 2304.240903423288 -21226.661093183931 -18922.420189760644 + 7.8000e-13 100.959467989391 199581971.051283329725 2302.042128756305 -21222.265466617788 -18920.223337861484 + 7.8500e-13 100.844822900482 0.000000000000 2299.428031933282 -21217.037854075654 -18917.609822142371 + 7.9000e-13 100.708132571311 0.000000000000 2296.311267328539 -21210.803457083963 -18914.492189755423 + 7.9500e-13 100.550485537268 82852587.335772901773 2292.716655341486 -21203.611955150660 -18910.895299809174 + 8.0000e-13 100.376412827676 64663370.565698929131 2288.747510902347 -21195.670061385928 -18906.922550483581 + 8.0500e-13 100.186766131912 62818096.025483205914 2284.423253931496 -21187.016783314237 -18902.593529382742 + 8.1000e-13 99.984661803613 40673745.137080848217 2279.814942423770 -21177.794440305268 -18897.979497881497 + 8.1500e-13 99.771608746194 145899561.290220409632 2274.956981861917 -21168.072042023745 -18893.115060161828 + 8.2000e-13 99.536365488773 52575189.963680595160 2269.593048197501 -21157.335923320476 -18887.742875122975 + 8.2500e-13 99.296347675291 26785077.410323355347 2264.120246792245 -21146.381777252631 -18882.261530460386 + 8.3000e-13 99.053958371976 44394650.135883271694 2258.593371513433 -21135.319572248656 -18876.726200735222 + 8.3500e-13 98.814387873513 48920596.857503511012 2253.130769627241 -21124.386318174587 -18871.255548547346 + 8.4000e-13 98.580425959226 99841331.509202435613 2247.796052696378 -21113.709426046975 -18865.913373350595 + 8.4500e-13 98.359247104798 47265490.834025427699 2242.752810581264 -21103.616095547717 -18860.863284966454 + 8.5000e-13 98.150778120109 0.000000000000 2237.999374426636 -21094.102841060936 -18856.103466634300 + 8.5500e-13 97.956110742762 0.000000000000 2233.560637647699 -21085.219160019245 -18851.658522371545 + 8.6000e-13 97.778084686544 0.000000000000 2229.501350395175 -21077.094264684623 -18847.592914289449 + 8.6500e-13 97.619512630961 0.000000000000 2225.885646393700 -21069.856257654694 -18843.970611260993 + 8.7000e-13 97.483219554591 0.000000000000 2222.777939807006 -21063.634066039940 -18840.856126232935 + 8.7500e-13 97.371998065401 26645073.594592507929 2220.241906695510 -21058.555489846436 -18838.313583150928 + 8.8000e-13 97.289063475627 0.000000000000 2218.350861473177 -21054.767939119265 -18836.417077646089 + 8.8500e-13 97.235933357948 0.000000000000 2217.139407296185 -21052.341552060254 -18835.202144764069 + 8.9000e-13 97.214039677538 50761698.241923153400 2216.640195328642 -21051.342483409033 -18834.702288080392 + 8.9500e-13 97.223115878023 0.000000000000 2216.847147646246 -21051.759012974402 -18834.911865328155 + 9.0000e-13 97.263060663199 0.000000000000 2217.757954528771 -21053.586579172133 -18835.828624643364 + 9.0500e-13 97.332007238955 31399035.525223337114 2219.330049996223 -21056.739562300845 -18837.409512304621 + 9.1000e-13 97.427574349810 134108345.848325207829 2221.509137502274 -21061.108561615383 -18839.599424113108 + 9.1500e-13 97.543947992142 46993105.597974054515 2224.162648189872 -21066.427494868156 -18842.264846678285 + 9.2000e-13 97.680103711247 0.000000000000 2227.267222804753 -21072.649039091608 -18845.381816286856 + 9.2500e-13 97.830104234863 0.000000000000 2230.687481761892 -21079.501925474484 -18848.814443712592 + 9.3000e-13 97.989644951229 42377817.226953610778 2234.325272824403 -21086.789585493058 -18852.464312668653 + 9.3500e-13 98.156013360592 46175612.273578517139 2238.118746530956 -21094.388188631267 -18856.269442100311 + 9.4000e-13 98.324581727232 56844353.038441978395 2241.962382886327 -21102.086544355090 -18860.124161468764 + 9.4500e-13 98.492884883650 131755971.208584472537 2245.799972011856 -21109.772051806496 -18863.972079794639 + 9.5000e-13 98.651587182847 61568287.064323358238 2249.418645782224 -21117.018743873177 -18867.600098090952 + 9.5500e-13 98.801142011416 41643130.795075871050 2252.828742158335 -21123.846914048914 -18871.018171890581 + 9.6000e-13 98.938967520086 73259641.783949404955 2255.971390725063 -21130.138592788979 -18874.167202063916 + 9.6500e-13 99.054039784001 0.000000000000 2258.595227841666 -21135.390897197216 -18876.795669355550 + 9.7000e-13 99.152235518797 59873855.602764435112 2260.834252302346 -21139.871903597585 -18879.037651295239 + 9.7500e-13 99.228184578056 65545500.698350295424 2262.566015925287 -21143.336738616144 -18880.770722690857 + 9.8000e-13 99.287298173864 133043291.212443158031 2263.913903257109 -21146.032356642456 -18882.118453385345 + 9.8500e-13 99.332676848904 67949306.321875020862 2264.948611776986 -21148.100272307896 -18883.151660530912 + 9.9000e-13 99.358256017024 0.000000000000 2265.531858933524 -21149.264149767267 -18883.732290833741 + 9.9500e-13 99.365437590893 118461652.350641056895 2265.695610644238 -21149.587715830981 -18883.892105186744 + 1.0000e-12 99.359604739027 0.000000000000 2265.562612016245 -21149.316492673424 -18883.753880657179 diff --git a/out/MD b/out/MD index 348e0b1..f396242 100755 Binary files a/out/MD and b/out/MD differ diff --git a/src/MD-original.cpp b/src/MD-original.cpp index 6f31307..ebe0de0 100644 --- a/src/MD-original.cpp +++ b/src/MD-original.cpp @@ -561,7 +561,7 @@ computeAccelerations () { // returns sum of dv/dt*m/A (aka Pressure) from elastic collisions with walls double -VelocityVerlet (double dt, int iter, FILE *fp) { +VelocityVerlet (double dt, int iter, double *PE, FILE *fp) { int i, j, k; double psum = 0.; diff --git a/src/MD.cpp b/src/MD.cpp index ca24197..9a30330 100644 --- a/src/MD.cpp +++ b/src/MD.cpp @@ -26,7 +26,6 @@ */ #include -#include #include #include #include @@ -69,7 +68,7 @@ void initialize (); // update positions and velocities using Velocity Verlet algorithm // print particle coordinates to file for rendering via VMD or other animation // software return 'instantaneous pressure' -double VelocityVerlet (double dt, int iter, FILE *fp); +double VelocityVerlet (double dt, int iter, double *PE, FILE *fp); // Compute Force using F = -dV/dr // solve F = ma for use in Velocity Verlet void computeAccelerations (); @@ -335,7 +334,7 @@ main () { // Also computes the Pressure as the sum of momentum changes from // wall collisions / timestep which is a Kinetic Theory of gasses // concept of Pressure - Press = VelocityVerlet (dt, i + 1, tfp); + Press = VelocityVerlet (dt, i + 1, &PE, tfp); Press *= PressFac; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -346,7 +345,6 @@ main () { // extract the gas constant mvs = MeanSquaredVelocity (); KE = Kinetic (); - PE = Potential (); // Temperature from Kinetic Theory Temp = m * mvs / (3 * kB) * TempFac; @@ -497,40 +495,83 @@ Kinetic () { // Write Function here! // printf(" Total Kinetic Energy is %f\n",N*mvs*m/2.); return kin; } +double +PotentialAndAcceleration () { + double quot, rnorm, term1, term2, Pot; + int i, j, k; + double f, dist, tmp = 0.; + double distTmp = 0; + double posItoJ[3]; // position of i relative to j + double epsilon_8 = 8. * epsilon; + + memset (a, 0, sizeof (a)); + + Pot = 0.; + + for (i = 0; i < N - 1; i++) { + for (j = i + 1; j < N; j++) { + // CALCULATE POTENTIAL ENERGY + dist = 0.; + distTmp = 0; + + for (int k = 0; k < 3; k++) { + // POT + distTmp = r[i][k] - r[j][k]; + dist += distTmp * distTmp; + // ACCEL + posItoJ[k] = distTmp; + } + + quot = sigma / sqrt (dist); + term2 = quot * quot; + term2 = term2 * term2 * term2; + term1 = term2 * term2; + + Pot += 8 * epsilon * (term1 - term2); + + // From derivative of Lennard-Jones with sigma and epsilon + // set equal to 1 in natural units! + double rSqd_inv7 + = 1.0 / (dist * dist * dist * dist * dist * dist * dist); + double rSqd_inv4 = rSqd_inv7 * dist * dist * dist; + f = 24 * (2 * rSqd_inv7 - rSqd_inv4); + + // from F = ma, where m = 1 in natural units! + for (k = 0; k < 3; k++) { + tmp = posItoJ[k] * f; + a[i][k] += tmp; + a[j][k] -= tmp; + } + } + } + return Pot; +} // Function to calculate the potential energy of the system double Potential () { double quot, r2, rnorm, term1, term2, Pot; - int i, j, k; + int i, j; Pot = 0.; -#pragma omp parallel for reduction(+ : Pot) private(j, k, r2, rnorm, quot, \ - term1, term2) - for (i = 0; i < N; i++) { - for (j = 0; j < N; j++) { + for (i = 0; i < N - 1; i++) { + for (j = i + 1; j < N; j++) { + r2 = 0.; - if (j != i) { - r2 = 0.; - for (k = 0; k < 3; k++) { - double tmp = r[i][k] - r[j][k]; - r2 += tmp * tmp; - } - rnorm = sqrt (r2); - quot = sigma / rnorm; - term2 = quot * quot; - term2 = term2 * term2 * term2; - term1 = term2 * term2; - - double local_energy = 4 * epsilon * (term1 - term2); - -#pragma omp atomic - Pot += local_energy; + for (int k = 0; k < 3; k++) { + double tmp = r[i][k] - r[j][k]; + r2 += tmp * tmp; } + + quot = sigma / sqrt (r2); + term2 = quot * quot; + term2 = term2 * term2 * term2; + term1 = term2 * term2; + + Pot += 8 * epsilon * (term1 - term2); } } - return Pot; } @@ -540,34 +581,34 @@ Potential () { void computeAccelerations () { int i, j, k; - double f, rSqd; + double f, rSqd, tmp = 0.; double rij[3]; // position of i relative to j - for (i = 0; i < N; i++) { // set all accelerations to zero - for (k = 0; k < 3; k++) { - a[i][k] = 0; - } - } + memset (a, 0, sizeof (a)); for (i = 0; i < N - 1; i++) { // loop over all distinct pairs i,j for (j = i + 1; j < N; j++) { // initialize r^2 to zero rSqd = 0; + // component-by-componenent position of i relative + // to j for (k = 0; k < 3; k++) { - // component-by-componenent position of i relative - // to j rij[k] = r[i][k] - r[j][k]; - // sum of squares of the components - rSqd += rij[k] * rij[k]; + tmp = rij[k]; + rSqd += tmp * tmp; } - // From derivative of Lennard-Jones with sigma and epsilon // set equal to 1 in natural units! - f = 24 * (2 * pow (rSqd, -7) - pow (rSqd, -4)); + double rSqd_inv7 + = 1.0 / (rSqd * rSqd * rSqd * rSqd * rSqd * rSqd * rSqd); + double rSqd_inv4 = rSqd_inv7 * rSqd * rSqd * rSqd; + f = 24 * (2 * rSqd_inv7 - rSqd_inv4); + + // from F = ma, where m = 1 in natural units! for (k = 0; k < 3; k++) { - // from F = ma, where m = 1 in natural units! - a[i][k] += rij[k] * f; - a[j][k] -= rij[k] * f; + tmp = rij[k] * f; + a[i][k] += tmp; + a[j][k] -= tmp; } } } @@ -575,7 +616,7 @@ computeAccelerations () { // returns sum of dv/dt*m/A (aka Pressure) from elastic collisions with walls double -VelocityVerlet (double dt, int iter, FILE *fp) { +VelocityVerlet (double dt, int iter, double *PE, FILE *fp) { int i, j, k; double psum = 0.; @@ -594,7 +635,8 @@ VelocityVerlet (double dt, int iter, FILE *fp) { // printf(" %i %6.4e %6.4e %6.4e\n",i,r[i][0],r[i][1],r[i][2]); } // Update accellerations from updated positions - computeAccelerations (); + // computeAccelerations (); + *PE = PotentialAndAcceleration (); // Update velocity with updated acceleration for (i = 0; i < N; i++) { for (j = 0; j < 3; j++) {