Skip to content
This repository has been archived by the owner on Jun 28, 2024. It is now read-only.

Releases: cea-hpc/NabLab

v0.4.0

11 Mar 11:59
Compare
Choose a tag to compare
  • File extensions change from 'nabla' to 'n' and 'nablagen' to 'ngen'
  • New job graph visualization: press F2 key on the ngen file open in the editor
  • New "language extension" concept for external functions:
Application DepthInit;

MainModule DepthInit depthInit
{
	meshClassName = "CartesianMesh2D";
	nodeCoord = X;
	time = t;
	timeStep = δt;
	iterationMax = maxIter;
	timeMax = maxTime;
}

StlThread
{
	outputPath = "/DepthInit/src-gen-cpp/stl-thread";
	extension BatiLib providedBy BatiLibCpp;
}
  • Support of multiple n files composed in ngen into a unique dataflow graph:
Application HydroRemap;

MainModule Hydro h
{
	meshClassName = "CartesianMesh2D";
	nodeCoord = X;
	time = t;
	timeStep = δt;
	iterationMax = maxIter;
	timeMax = maxTime;
}

AdditionalModule Remap r1
{
	r1.X = h.X;
	r1.rv1 = h.hv1;
	r1.rv2 = h.hv4;
}

AdditionalModule Remap r2
{
	r2.X = h.X;
	r2.rv1 = h.hv3;
	r2.rv3 = h.hv6;
}

v0.3.3

18 Sep 10:21
Compare
Choose a tag to compare
  • New features in the C++ and Java mesh libraries
  • LaTeX formula color available in project options and scrollbars added into the view
  • New time iterator feature to support two iterators at the same level:
iterate n while (t^{n+1} < maxTime && n+1 < maxIter), 
{ 
	k while (k+1 < maxIterK);
	l while (l+1 < maxIterL);
}
  • NabLab console improved with messages during code generation
  • LevelDB variable persistence supported in Java
  • Options can have no default value
  • Options become optional in Json file if they have a default value (mandatory otherwise)
  • Mesh becomes an external component initialized with a Json "mesh" block. The nablagen file needs a meshClassName property:
SimulationVariables
{
	meshClassName = "CartesianMesh2D";
	nodeCoord = X;
	time = t;
	timeStep = δt;
	iterationMax = maxIterations;
	timeMax = stopTime;
}

v0.3.2

09 Jul 11:05
Compare
Choose a tag to compare

v0.3.1

04 Jul 08:20
Compare
Choose a tag to compare
  • New solveLinearSystem function with a x0
  • Refactoring of the mesh Java library
  • New syntax for connectivities which always return a set (can be a singleton) and are always referenced by a loop
connectivity nodes: → {node};
connectivity cells: → {cell};
connectivity faces: → {face};
connectivity neighbourCells: cell → {cell};
connectivity nodesOfFace: face → {node};
connectivity nodesOfCell: cell → {node};
connectivity commonFace: cell × cell → face;  // singleton

ComputeOutgoingFlux: ∀j1∈cells(), outgoingFlux{j1} = δt/V{j1} 
     * ∑{j2∈neighbourCells(j1)}(∑{cf∈commonFace(j1,j2)}( (u^{n}{j2}-u^{n}{j1}) 
     / norm(center{j2}-center{j1}) * surface{cf}));

v0.3.0

04 Jun 07:13
Compare
Choose a tag to compare
  • Performance of Integrated Development Environment improved
  • New interactive Job Graph view in NabLab perspective
  • New while instruction
  • Bug fix on jobs Hierarchical Logical Time computation
  • Improved naming index of reduction variables
  • Post-processing variables (outputPeriod, lastDump) moved from IrModule to PostProcessingInfo
  • Jobs sorted by at and name in the IR model

v0.2.1

16 May 11:59
Compare
Choose a tag to compare

Minor improvements of version 0.2.0 to prepare a new test case:

  • dump of output variables forced after last iteration
  • old mandatory options can stay options or become variables

v0.2.0

15 May 05:59
Compare
Choose a tag to compare
  • Environment upgraded to Java 11 and Eclipse 2020-03
  • MutiArray mixing static/dynamic dimensions
  • Header files (.h) created by all C++ generators
  • Json user data file generated with option default values
  • Json editor integrated to NabLab product
  • Vectors data supported in VTK files
  • New user friendly nablagen syntax

v0.1.3

22 Apr 15:19
Compare
Choose a tag to compare
  • Bug fix on STL thread parallel_for
  • Unary operator '-' added on vectors in cpplib
  • Various improvements in CMakeLists.txt of cpplib
  • New option keyword and removal of const keyword (const automatically inserted during generation)
  • In generated C++, methods representing NabLab functions replaced by C++ functions at the beginning of the generated file (to be used during option definition).
  • Optimization of job dispatching during HLTs computation to reduce generation times

v0.1.2

13 Apr 14:08
Compare
Choose a tag to compare
  • Index and indices stored in IR model (instead of being computed during generation)
  • Improvements of the C++ NabLab mesh library
  • New C++ STL based multi-threaded backend
  • "Modern CMake" support
  • Instructions to store sets and items in variables (1, 2)
  • Instruction to get the number of elements of a set (3)
  • Dynamic base types with const integer expressions (4)
  • Enhancement of loops to get a counter integer variable (5)
  • Exit instructions with a message (6)
const V=100;
ComputeCjr: ∀j∈cells(), {
	item n = topLeftNode();				// (1)
	set rCellsJ = nodesOfCell(j);			// (2)
	const cardRCellsJ = card(rCellsJ);		// (3)
	ℝ[cardRCellsJ] tmp;				// (4)
	∀ r, ir ∈ rCellsJ, {				// (5)
		tmp[ir] = X{r}[0];
		C{j,r} = 0.5 * (X{r+1} - X{r-1});
	}
	if (V<100) exit "Not allowed: V<100";		// (6)
}

v0.1.1

19 Jan 17:16
Compare
Choose a tag to compare

Bug fix on C++ generation and new mesh connectivities