tsave initial conditions, add function to write all output files - slidergrid - grid of elastic sliders on a frictional surface
(HTM) git clone git://src.adamsgaard.dk/slidergrid
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 695b94d0b8c81fbbcfca476c06eda313facaf72c
(DIR) parent 153343f86817343c65a421adafecbb2769977911
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Thu, 17 Mar 2016 16:41:37 -0700
save initial conditions, add function to write all output files
Diffstat:
M Makefile | 5 +++--
M slidergrid/main.c | 38 ++++++++-----------------------
M slidergrid/simulation.c | 34 +++++++++++++++++++++++++++++++
M slidergrid/simulation.h | 2 ++
4 files changed, 49 insertions(+), 30 deletions(-)
---
(DIR) diff --git a/Makefile b/Makefile
t@@ -14,8 +14,8 @@ default: run-test
run-test: test
./$<
- #python postprocessing.py --plot-sliders $<-output
-
+ @#python postprocessing.py --plot-sliders $<-output
+ @#rsync -rav test-output /var/www/html/
test: test.o $(ESSENTIALOBJS)
$(CC) $(LDLIBS) $^ -o $@
t@@ -29,5 +29,6 @@ debug: $(BIN)
clean:
@$(RM) $(BIN)
+ @$(RM) -r $(BIN)-output
@$(RM) *.o
@$(RM) $(SRCFOLDER)*.o
(DIR) diff --git a/slidergrid/main.c b/slidergrid/main.c
t@@ -112,11 +112,17 @@ int main(int argc, char** argv)
}
}
+ // save initial conditions to output files
+ if (write_simulation_output(sim, output_folder)) {
+ fprintf(stderr, "\nFatal error: Could not write one or more "
+ "output files.\n");
+ return EXIT_FAILURE;
+ }
+
// main temporal loop
sim.iteration = 0;
Float time_since_status = 0.0;
Float time_since_file = 0.0;
- char filename[1000];
for (sim.time = 0.0;
sim.time <= sim.time_end;
sim.time += sim.dt) {
t@@ -136,36 +142,12 @@ int main(int argc, char** argv)
}
if (time_since_file >= sim.file_interval) {
-
- // slider parameters
- sprintf(filename, "%s/%s.sliders.%06d.txt",
- output_folder, sim.id, sim.file_number);
- if (save_slider_positions_to_file(sim.sliders, sim.N, filename)) {
- fprintf(stderr, "\nFatal error: Could not save to output file "
- "'%s'.\n", filename);
+ if (write_simulation_output(sim, output_folder)) {
+ fprintf(stderr, "\nFatal error: Could not write one or more "
+ "output files.\n");
return EXIT_FAILURE;
}
-
- // other parameters
- sprintf(filename, "%s/%s.general.%06d.txt",
- output_folder, sim.id, sim.file_number);
- if (save_general_state_to_file(sim, filename)) {
- fprintf(stderr, "\nFatal error: Could not save to output file "
- "'%s'.\n", filename);
- return EXIT_FAILURE;
- }
-
- // sliders to VTK file
- sprintf(filename, "%s/%s.sliders.%06d.vtu",
- output_folder, sim.id, sim.file_number);
- if (save_sliders_to_vtk_file(sim.sliders, sim.N, filename)) {
- fprintf(stderr, "\nFatal error: Could not save to output file "
- "'%s'.\n", filename);
- return EXIT_FAILURE;
- }
-
time_since_file = 0.0;
- sim.file_number++;
}
if (verbose) {
(DIR) diff --git a/slidergrid/simulation.c b/slidergrid/simulation.c
t@@ -298,3 +298,37 @@ int save_sliders_to_vtk_file(
return 0;
}
+int write_simulation_output(simulation sim, char* output_folder)
+{
+ char filename[1000];
+
+ // slider parameters
+ sprintf(filename, "%s/%s.sliders.%06d.txt",
+ output_folder, sim.id, sim.file_number);
+ if (save_slider_positions_to_file(sim.sliders, sim.N, filename)) {
+ fprintf(stderr, "\nFatal error: Could not save to output file "
+ "'%s'.\n", filename);
+ return 1;
+ }
+
+ // other parameters
+ sprintf(filename, "%s/%s.general.%06d.txt",
+ output_folder, sim.id, sim.file_number);
+ if (save_general_state_to_file(sim, filename)) {
+ fprintf(stderr, "\nFatal error: Could not save to output file "
+ "'%s'.\n", filename);
+ return 1;
+ }
+
+ // sliders to VTK file
+ sprintf(filename, "%s/%s.sliders.%06d.vtu",
+ output_folder, sim.id, sim.file_number);
+ if (save_sliders_to_vtk_file(sim.sliders, sim.N, filename)) {
+ fprintf(stderr, "\nFatal error: Could not save to output file "
+ "'%s'.\n", filename);
+ return 1;
+ }
+
+ sim.file_number++;
+ return 0;
+}
(DIR) diff --git a/slidergrid/simulation.h b/slidergrid/simulation.h
t@@ -39,6 +39,8 @@ int save_sliders_to_vtk_file(
const int N,
const char* filename);
+int write_simulation_output(simulation sim, char* output_folder);
+
// user-defined function which sets up the simulation
simulation setup_simulation();