Professional Documents
Culture Documents
Case Directory
|-> system
| |->controlDict : start,end,step,i/o
| |->fvSchemes : discretization params
| |->fvSolution : Solver related stuff
|
|->constant
| |->Material Properties
| |->polyMesh
| |->points
| |->ells
| |->faces
| |->boundaries
|
|->many time_directory
(gzip compression)
StandAlone Excecutables
|->
controlDict
|-> Has a bunch of keyword value pairs
|-> Has time control and write control
fvSchemes
|->fintite volume discretization schemes
|->ddtSchemes
|->gradSchemes
|->divSchemes
|->laplacian
|->Etc…
fvSolutions
|->solvers
| {
| variable_name
| {
| solver solver_name;
| preconditioner name;
| tolerance value;
| reltol value;
| }
| }
|
|->Global_Algorithm_Settings
| {
| …..
| }
|
|->relaxationFactors
| {
| variableName value
| }
Banana Trick : keywords and values for dictionaries for different solvers. Put blank stuff for
getting the list of schemes
Mesh
|->At start of simulation located in constant/polyMesh
|-> Points, Faces, Owner, Neighbour, Boundary
Utilities
|-> Based under system
Residuals
|-> Command : foamLog log_fileName
|-> cd logs/
|-> xmgrace variable_name
OR
|-> Command : pyFoam
Other_Utilities
|->foamCalc – calculate gradients
Source Code
|-> solvers/basic/scalarTransportFoam
|->Make
|->files : name of exec and location
|->options : include & library folders
|-> scalarTransportFoam.C
|-> lnInclude/fvCFD.H
|->foamTime.H : define object of class time
|->fvMesh.H : define mesh object
|->argList.H : contains list of arguments for the certain job
|->createFields.H
Build Commands
|->wmake
|->wclean
|->wmake libso
To access variables
|-> T.internalfield()[index]
functionObject
|->system/controlDict
|->function
(
newFunctionObject
{
type hrvsFunctionObject;
functionObjectLibs(“libpost.so”);
}
);
hrvsFunctionObject.H
|->#include ”functionObject.H”
| #include “dictionary.H”
| #include “fvMesh.H”
|
| namespace Foam{
| class hrvsFunctionObject:public functionObject
| {
| const Time& time_;
| word RegionName_;
| wordlist ObjectNames_;
| label intervals_;
| private:
| public:
| TypeName(“hrvsFunctionObject”);
| //Constructors
hrvsFunctionObject.C
//constructors
Foam:: hrvsFunctionObject:: hrvsFunctionObject
( const word& name_;
const Time& T;
const dictionary& dict;
) : functionObjectName(name),time_t(t),regionName_(polyMesh::defaultRegion),…..
createFields.H
|-> word fieldname(transportProperties.lookup(“field”));
|->label cellindex(readLabel(transportProperties.lookup(“index”)));
Now T.internalField()[cellindex]
}
|-> word fieldname(smaplingProperties.lookup(“field”));
|->label cellindex(readLabel(samplingProperties.lookup(“index”)));
Now in myscalartransportFoam.c
“# include ‘readSampling.H’”