Explore chapters and articles related to this topic
Optimization in Chemical and Biological Engineering using Julia
Published in Mariano Martín Martín, Introduction to Software for Chemical Engineers, 2019
Jordan Jalving, Victor M. Zavala
In this chapter we have presented basic capabilities for solving optimization problems in Julia. Julia is a user-friendly language for scientific computing that provides access to a wide range of tools for algebraic modeling and optimization. Such tools facilitate the creation of optimization models and enable embedding such models in complex computational workflows that might involve statistics, data processing, and plotting/visualization tools. Julia is an ideal tool for prototyping and teaching new optimization concepts to engineers and scientists. This is currently being routinely used to teach optimization to senior undergraduate students at UW-Madison. In our experience, the compact and intuitive syntax of Julia drastically lowers the learning barrier for users with limited expertise in optimization.
Machine Learning
Published in P. Kaliraj, T. Devi, Artificial Intelligence Theory, Models, and Applications, 2021
Julia can provide high-performance computing solutions and analysis. Its syntax is similar to Python and is created to manipulate numerical computing tasks. Deep Learning too is supported by Julia, via the TensorFlow.jl wrapper and the Mocha framework (Beklemysheva, 2020).
A novel homogenization method for periodic piezoelectric composites via diffused material interface
Published in Mechanics of Advanced Materials and Structures, 2023
Sasank Challagulla, Ayyappan Unnikrishna Pillai, Mohammad Masiur Rahaman
Well-known theories like the Mori–Tanaka models are primarily applicable for elliptical inclusions and give erroneous results for a matrix with irregular, polygonal, and non-ellipsoidal inclusions with corners. Moreover, in the context of homogenization, special finite element techniques [45] are required to model the interface of the composites having a complicated material interface. In this article, we propose a novel homogenization method based on the diffused material interface method [46] that is applicable for any arbitrary shape of inclusion and can be used to determine the effective material properties of the piezoelectric composites. We have studied the effect of varying shapes and sizes of non-elliptical inclusions on the homogenized electro-elastic response of periodic composite at the macrolevel. We have implemented the proposed model using a highly extensible finite element toolbox with high-level API, called Gridap in Julia [47, 48]. Julia has computational efficiency similar to static languages like C++ and Fortran while it provides an easy interface as in dynamic languages like MATLAB. Owing to the efficiency of Gridap, there have been some recent attempts in the research community to simulate various mechanics-related problems viz. fracture modeling of the materials using Gridap [49–52].
PDEModelica1: a Modelica language extension for partial differential equations implemented in OpenModelica
Published in International Journal of Modelling and Simulation, 2018
Jan Šilar, Filip Ježek, Jiří Kofránek
There is a new Modelica-like language called Modia [34] based on the Modelica and Julia [35] languages. The compiler and simulation runtime for the new language is implemented in Julia. Julia was designed for numerical computations and symbolic manipulations. Implementing support for PDEs in Modia is another interesting option. Indeed, extending the compiler and simulation runtime of Modia would probably be much easier due to Julia’s numerical and symbolic capabilities, which make it a suitable platform for experimenting with new extensions. On the other hand, if new PDE models are written in extended Modia, coupling with other models written in Modelica is not possible.
A language to simplify computation of differential mobility analyzer response functions
Published in Aerosol Science and Technology, 2018
Julia is a new dynamically typed, high-level programming language (Bezanson et al. 2017). A just-in-time compiler translates Julia expressions into native machine code, which is then executed to evaluate the expression. Julia was selected as the base because it is platform independent and supports the programming concepts that enabled development of a concise DMA language. This includes recursive lambda expressions, complete Unicode UTF-8 character support, a FORTRAN and C interface, and multiple dispatch to extend the native list of operators to user defined data types.