Well, I did not expect the top-level structure to be a problem, more than the structure under sfepy/ :)
There is a standard Python package structure that most packages adhere to, and that includes:
build/ for generated files (created by the build process - setup.py) doc/ for documentation examples/ bin/ for executables (we have script/ instead, as Python "executables" are not binary)
then the files like README, VERSION, LICENSE, INSTALL etc. all should be in the main directory, etc.
So what we have more are: meshes, output, output-tests
As for meshes, the current way allows to reuse a single mesh in several examples, and I myself use heavily the possibility to change simply a mesh that is used in an input file (e.g. to switch between a coarse mesh for debugging and a fine mesh for actual computations).
I agree that for a newcomer the structure might seem too complex, but it has a reason. What could be improved is the organization and naming of the examples and meshes, as the current state is a result more of an organic evolution than of a careful planning :)
So to conclude: think of examples/ as a beginner's playground, and sfepy/ as "advanced user's/developer's" territory. The other directories can be mostly ignored...
Is that ok? r.
On 07/11/11 19:08, tone....@gmail.com wrote:
I've been playing with sfepy for somedays, but still confused about what file/folder does what. My proposal is, there can be two top level folder inside the sfepy source folder => sfepy folder and setup folder. just like-
/sfepy-2011.2/ -- (extracted sfepy source folder)
/sfepy-2011.2/setup/ -- (inside will be doc folder, setup+license folder, example folder, tests folder - total four (4) folder)
/sfepy-2011.2/sfepy/ -- (inside will be input folder, sfepy program folder, output folder- total three (3) folder)
input folder will be for both the problem definition file+mesh file (input file and mesh file must have to reside in the same folder, in this case its input folder or anywhere in the hard disk), and the file name of both the problem definition file+mesh file will be same, so that sfepy can automatically load the mesh file once the input file has been loaded.
in this way, the main sfepy program can be kept simple and easy to understand& use for advanced users. The setup folder will help the new comers to learn and exercise, and slowly move on to sfepy folder for advanced use.
let me know what do you think.
cheers!