Archives

Reasons and solutions for the optimization algorithm convergence

Various reasons are responsible when the optimization algorithm’s convergence is not ensured. Some of the following steps are beneficial in fixing this issue:  Ensure that the objective function and the constraints are appropriately formulated. Ensure that the objective and constraint functions are continuous and differentiable at least up to the second order. If the objective […]

Gradient vector: If the partial derivative of a function f(x) (function having $n$ variables) with respect to the $n$ variables $x_1$, $x_2$…..$x_n$ at a point $x^{\star}$ is taken, then that partial derivative vector of f(x) represents the “gradient vector” which is represented by symbols like $c$ or $\triangledown {f}$, as: \$\mathbf{c}=\nabla f\left(\mathrm{x}^{*}\right)=\left[\begin{array}{c}\frac{\partial f\left(\mathrm{x}^{*}\right)}{\partial x_{1}} \\ \frac{\partial f\left(\mathrm{x}^{*}\right)}{\partial […]

Norm and condition number of a matrix

In a numerical analysis with a vector involvement, norms are essential to predict the various errors involved in the numerical analysis. A norm is a function ||.|| in a vector space V. If A is a n*n matrix, then its norm is a real number and denoted by ||A||. A norm satisfies the following properties: […]

Dolfin-x: An upgraded version of Dolfin

FEniCSx is the new version of FEniCS that is currently actively developed. Dolfin-x is the computational environment of FEniCS and implements the FEniCS problem-solving environment in Python and C++. New features in Dolfin-x in addition to existing features of Dolfin include: Variational formulations with complex numbers support Support for quadrilateral and hexahedral elements Higher-order […]

Variational Calculus: Deriving the strong and weak form

There are many ways in which we can obtain the weak form and the strong form. We focus on the Variational Principles to derive them because FEniCS works on the variational form

Calculus with Sympy

Sympy is a python package through which we can perform calculus operations in mathematics like differentiation, integration, limits, infinite series, and so on. It is a python library used mainly for symbolic mathematics. The installation of this library is simple by using the following command: pip install sympy In order to write any symbolic expressions, […]

Obtaining volume, centre of gravity and inertia matrix from STL file

In order to get the details about the volume, centre of gravity and inertia matrix from the STL file of the geometry, we use the numpy-stl python library. It is an efficient and simple library to make work with STL files. The installation of this library is done using command:pip install numpy-stlAfter installing this package, […]

Vector and Matrix Operations in PETSc (via petsc4py)

Through this post, you will learn how to do basic vector and matrix operations through petsc4py and how to solve a small linear problem using petsc4py. In addition, FEniCS PETSc formats and conversions are also briefly mentioned.