calculix / CalculiX-Examples

CalculiX examples by Prof. Martin Kraska from Brandenburg University of Applied Sciences. Excellent starting point to master parametric modelling with CGX and CCX.
MIT License
308 stars 95 forks source link

Keep output files #41

Closed imirzov closed 4 years ago

imirzov commented 4 years ago

Dear Prof. Kraska,

Each time a user runs test.py he produces many output files. Why don't you keep all output files on the GutHub repository?

I suppose it could be useful: for example, if someone fail to successfully run an example and generate all the model files, he still can use models directly from the repository.

Also keeping all the files on the GitHub is useful for developers. Now before committing a new feature a have to delete all generated output files. It's bothering.

mkraska commented 4 years ago

I want to keep a minimal footprint in terms of storage space and bandwidth. Therefore I limit the repository to the source files and those result files (mainly images) required for documentation.

Yet I understand that some users might not get CGX to work, but still want to test CCX. I could add the required files for some selected examples. Which candidates would you recommend for this? Would the complete CCX input be sufficient or would you also want the FRD files?

As to git committing: I am not sure that I get your point right:

I never delete any file just for committing something new. Instead, I add the new or updated files explicitly using git add. I am not a git power user and there might be more efficient approaches. I guess things could get a lot easier with proper use of .gitignore.

In the context of automatic regression testing I thought of adding some reference results to the repository for automatic diff check with new CGX/CCX versions or as local sanity check for new users. This is what the test.py scripts finally should do. Not just run the simulation but also check for differences to the reference results.

imirzov commented 4 years ago

Now before each commit I delete all produced files to minimize affect on your repository and to simplify your work on checking everything during merging. Staging feature helps but not so much.

For future I can propose to improve scripts in a way when all output files will be saved to a separate directory like 'Refs'. It will simplify committing. And to exclude all result files from committing we may only add 'Refs' folder to the .gitignore.

Into 'Refs' you could save results for absolutely all examples and push everything to the GitHub - don't care about bandwidth and storage. With FRD it'll be approximately 1.1 GB.

mkraska commented 4 years ago

1.1GB is 20 times the current size of 50MB. I have to care about storage, because I don't know what a commit of 1GB would do with my virtual box with just 1GB free disk space. I could easily get stuck with a broken system. This may change in future but not soon...

imirzov commented 4 years ago

OK. But at least putting output files into 'Refs' directory is good for order.