Fino’s documents

Parallelepiped whose Young’s modulus is a function of the temperature

A benchmark thermal-mechanical problem that has an analytical solution was solved using fino. Even though the original problem is defined over a simple parallelepiped, this reports uses a fully unstructured grid to validate the code using arbitrary jacobians and not just structured hexahedra. The way fino handles dependence of parameters on space, in this case through intermediate distributions such as the temperature, is illustrated by the simplicity of the input files used to solve both the thermal and the mechanical problems. The comparison between the numerical and the analytical solutions are within the order of \(10^{-6}\) even for coarse grids.

Thermo-elastic expansion of finite cylinders

The problem of the thermal expansion of a cylinder under a know temperature distribution (given as an algebraic expression of \(x\), \(y\) and \(z\)) is solved with the free and open source tool fino using a finite-element formulation and the results are compared to those reported by Veeder in 1967 using a power series approach. The original problem was posed to study deformations and stresses on the uranium pellets located inside nuclear reactor fuel elements under heavy temperature gradients, which continues to be an interesting problem even nowadays. Not only does this report solve again the problem and compare the results with the original ones, but it also illustrates how the fino back-end works and what its distinctive features are.

Evaluation of partial derivatives of pointwise node-based data over unstructured grids

This brief note introduces a proposal to obtain the nodal values \(P_j\) of a partial derivative of a pointwise node-centered scalar field such as displacements \(u_j\) or temperatures \(T_j\) obtained with the finite-element method. We require that the nodal values of the derivative \(P_j\) interpolated with the shape functions \(h_j(\vec{x})\) give the same internal product against each of the shape functions \(h_j(\vec{x})\) than the derivative of the original field (say \(\partial h/\partial x\)) computed by using the derivative of the shape functions, say \(\partial h_j/\partial x\). This requirement involves the mass matrix \(M\), which we diagonalize to reduce the computational effort needed to obtain the nodal values \(P_j\). We show a snippet of computational code as implemented in Seamplex’ Fino.

Description of the computational tool wasora

Wasora is a free computational tool designed to aid cognizant experts to analyze complex systems by solving mathematical problems by means of a high-level plain-text input file containing a syntactically-sweetened description of definitions and instructions. Some of its main features are:

  • evaluation of algebraic expressions
  • one and multi-dimensional function interpolation
  • scalar, vector and matrix operations
  • numerical integration, differentiation and root finding of functions
  • possibility to solve iterative and/or time-dependent problems
  • adaptive integration of systems of differential-algebraic equations
  • I/O from files and shared-memory objects (with optional synchronization using semaphores)
  • execution of arbitrary code provided as shared object files
  • parametric runs using quasi-random sequence numbers to efficiently sweep a sub-space of parameter space
  • solution of systems of non-linear algebraic equations
  • non-linear fit of scattered data to one or multidimensional functions
  • non-linear multidimensional optimization
  • management of unstructured grids
  • complex extensions by means of plugins

Besides solving general math problems usually associated with engineering analysis, the code is designed in such a way that particular (and potentialy complex) computations may be implemented as plugins (such as computations based on the finite element method or dedicated neutronic codes) that run over the framework, taking advantage of all the common background wasora provides. This technical document introduces the code and describes its main features by walking through the rationale behind its design and the types of problems that are suitable to be tackled with wasora.