C++ Code Organization
Top Level Directory Structure
- arch - make file architectures
- bin - support scripts for compilation
- doc - various forms of documentation, such as doxygen and man file
- docker - docker files for building FLOOXS on various platforms (how we test on platforms we don't run)
- Params - simulation parameter files
- src - source code
- TclLib - TCL front end support functions, such as models
- Test - Test simulation files accumulated over many years
Source Structure
- BasePDE
- engine for alagator scripting
- builds and solves partial differential equations
- diffuse
- All code pertaining specifically to diffusion
- The newton solver is also located here
- field
- Finite element specific code,
- Contains the field server that controls all mesh properties
- Where all elements, meshes, and data fields are defined
- front
- Tcl front end user commands
- include
- helpful include files for use in the code
- param.tcl
- a file that contains pdbSet commands
- plplot.tcl
- A blank file needed for plplot
- template
- template files for flooxs Seq and List objects
- db
- specific sqlite3 version and interface for flooxs
- doalldirs
- script that is used to build the templates in all directories
- flooxs.cc
- where TCL commands are defined
- help.cc
- old help menu command
- LevelSet
- All code that pertains to level set geometry formation and meshing
- mater
- material specific code
- plot
- old plot directory, still contains some useful functions used elsewhere
- pltcltk
- directory for testing plplot
- test
- contains simple tests that can be run when building flooxs (make test)
- device
- code specific to the device command and FLOODS solutions
- etch
- Old etching code
- Still contains the OctTree, mask and machine commands
- FLOOXS.models
- Master tcl startup model file
- implant
- contains implant command code
- main.cc
- contains program main function
- math
- vector and matrix specific functions
- plplot
- new plotting directory, contains plplot bindings