scholarly journals Expanding the Functionality of Optical CAD Using the Python Scripting Language

Author(s):  
Mikhail Sergeevich Kopylov

Nowadays, scripting is becoming a basic functionality in a very large number of different applications. This paper considers the experience of expanding the program capabilities of the optical modeling system using the Python scripting language. A brief overview of existing solutions is discussed. The approach based on the method of using the unified entity interface is proposed, which makes the process of expansion of the system simple and convenient for both its developers and end users. The new program modules like script interpreter,script editor and built-in parametric object libraries have been designed and integrated into the optical modeling system to work with scenarios are considered in detail. Software extension mechanism by means of adding new script-based object classes is provided. Examples of using Python API for a number of simple operations and examples of work with some simulation and automation modules based on scenarios are considered.

2013 ◽  
Vol 69 (7) ◽  
pp. 1274-1282 ◽  
Author(s):  
Nicholas K. Sauter ◽  
Johan Hattne ◽  
Ralf W. Grosse-Kunstleve ◽  
Nathaniel Echols

Current pixel-array detectors produce diffraction images at extreme data rates (of up to 2 TB h−1) that make severe demands on computational resources. New multiprocessing frameworks are required to achieve rapid data analysis, as it is important to be able to inspect the data quickly in order to guide the experiment in real time. By utilizing readily available web-serving tools that interact with the Python scripting language, it was possible to implement a high-throughput Bragg-spot analyzer (cctbx.spotfinder) that is presently in use at numerous synchrotron-radiation beamlines. Similarly, Python interoperability enabled the production of a new data-reduction package (cctbx.xfel) for serial femtosecond crystallography experiments at the Linac Coherent Light Source (LCLS). Future data-reduction efforts will need to focus on specialized problems such as the treatment of diffraction spots on interleaved lattices arising from multi-crystal specimens. In these challenging cases, accurate modeling of close-lying Bragg spots could benefit from the high-performance computing capabilities of graphics-processing units.


2021 ◽  
Vol 12 (4) ◽  
pp. 216-222
Author(s):  
N. K. Petrova ◽  
◽  
A. P. Mukhachev ◽  
A. A. Zagidullin ◽  
S. M. Koutsenko ◽  
...  

The description and principles of developing a mobile application for the Android platform that provides free access to electronic courses on teaching the basic structures of the Python language and the construction of template programming algorithms based on them are presented. The content of the course is based on the principle of comparative analysis with the C++ language, one of the goals of which is to differentiate the tasks for which it is more efficient to use either the Python scripting language or the C++ compiler. The developed application is logically integral, allows the possibility of supplementing with new data — examples, types of algorithms — and, no less important, is free.


2012 ◽  
Vol 486 ◽  
pp. 492-496
Author(s):  
Tian Gu ◽  
Cheng Xi Lei ◽  
Zhong Wen Xing

The temperature fields in hot-stamping process for BR1500HS steel sheet was simulated under the ABAQUS environment. Python scripting language was used for post-processing module of ABAQUS for secondary development, to obtain the volume fraction of martensite based on the formulas proposed by Koistinen and Marburger. The comparison results between simulation and metallograph show that the simulation can predict the volume fraction of martensitic effectively and thus can provide the guidance for the optimizing process parameters.


2020 ◽  
Author(s):  
Magnus Norling

<p>The open source Mobius framework allows for quick develoment of models based on ODE- and discrete-timestep equations. One can build and explore many model structures with only small modifications to the model code. Model run speed is fast, making it feasible to do extensive automated parameter space exploration, for instance using optimizers or MCMC algorithms. The framework can compile models to a format where they are accessible for interaction using the Python scripting language. Moreover, several calibration and uncertainty analysis tools in Python are already set up so that they can be used with any Mobius model. This can then be used to evaluate model structures using Bayesian methods. We show an example of evaluating a few DOC catchment models using this framework. Modelling frameworks are a good alternative to one-size-fits-all models, and we hope Mobius will be a useful tool for promoting more robust modelling. </p>


2016 ◽  
Author(s):  
Amin Mahpour

AbstractPyMAP is a native python module for analysis of 450k methylation platform and is freely available for public use. The package can be easily deployed to cloud platforms that support python scripting language for large-scale methylation studies. By implementing fast parsing functionality, this module can be used to analyze large scale methylation datasets. Additionally, command-line executables shipped with the module can be used to perform common analysis tasks on personal computers.Availability and implementation: PyMAP is implemented in Python and the source code is available under GPL v2 license from http://aminmahpour.github.io/PyMAP/.


2016 ◽  
Vol 9 (3) ◽  
pp. 1019-1035 ◽  
Author(s):  
J. Florian Wellmann ◽  
Sam T. Thiele ◽  
Mark D. Lindsay ◽  
Mark W. Jessell

Abstract. We present a novel methodology for performing experiments with subsurface structural models using a set of flexible and extensible Python modules. We utilize the ability of kinematic modelling techniques to describe major deformational, tectonic, and magmatic events at low computational cost to develop experiments testing the interactions between multiple kinematic events, effect of uncertainty regarding event timing, and kinematic properties. These tests are simple to implement and perform, as they are automated within the Python scripting language, allowing the encapsulation of entire kinematic experiments within high-level class definitions and fully reproducible results. In addition, we provide a link to geophysical potential-field simulations to evaluate the effect of parameter uncertainties on maps of gravity and magnetics. We provide relevant fundamental information on kinematic modelling and our implementation, and showcase the application of our novel methods to investigate the interaction of multiple tectonic events on a pre-defined stratigraphy, the effect of changing kinematic parameters on simulated geophysical potential fields, and the distribution of uncertain areas in a full 3-D kinematic model, based on estimated uncertainties in kinematic input parameters. Additional possibilities for linking kinematic modelling to subsequent process simulations are discussed, as well as additional aspects of future research. Our modules are freely available on github, including documentation and tutorial examples, and we encourage the contribution to this project.


2019 ◽  
Vol 220 (1) ◽  
pp. 682-702
Author(s):  
Peter Mora ◽  
Gabriele Morra ◽  
David A Yuen

SUMMARY The lattice Boltzmann method (LBM) is a method to simulate fluid dynamics based on modelling distributions of particles moving and colliding on a lattice. The Python scripting language provides a clean programming paradigm to develop codes based on the LBM, however in order to reach performance comparable to compiled languages, it needs to be carefully implemented, maximizing its vectorized tools, mostly integrated in the NumPy module. We present here the details of a Python implementation of a concise LBM code, with the purpose of offering a pedagogical tool for students and professionals in the geosciences who are approaching this technique for the first time. The first half of the paper focuses on how to vectorize a 2-D LBM code and show how if carefully done, this allows performance close to a compiled code. In the second part of the paper, we use the vectorization described earlier to naturally write a parallel implementation using MPI and test both weak and hard scaling up to 1280 cores. One benchmark, Poiseuille flow and two applications, one on sound wave propagation and another on fluid-flow through a simplified model of a rock matrix are finally shown.


2020 ◽  
Author(s):  
Lisa Gallagher ◽  
Abram Farley ◽  
Sebastien Jourdain ◽  
Patrick O'Leary ◽  
Laura Condon ◽  
...  

<p>The Integrated Groundwater Modeling Center is a small research center with a focus on hydrological research and a mission to develop and promote education and outreach in our community. We believe that students of all ages learn better when learning is fun, social, and hands-on. We strive to develop games that will immerse and educate users in geoscience concepts by collaborating closely with computer scientists and software engineers. For the work presented here, we have partnered with the University of Arizona and Kitware, Inc., blending technologies and expertise to develop a game to teach hydrogeology concepts.</p><p>We have developed an interactive computer simulation of a physical teaching model for students. This computer simulation has a game-like web browser-based interface but builds upon open source software components developed by Kitware (e.g. ParaView and SimPut) executing the integrated hydrology model ParFlow, using a framework built upon the widely used Python scripting language. Students run the simulation using a familiar web-app like interface with sliders and buttons yet are learning real hydrologic concepts and can compare to the physical model. Here, we will present this interactive toolkit and the physical sand tank aquifer model on which it’s based.</p>


2014 ◽  
Vol 29 (S2) ◽  
pp. S48-S64 ◽  
Author(s):  
Vidya M. Ayer ◽  
Sheila Miguez ◽  
Brian H. Toby

The importance of software continues to grow for all areas of scientific research, no less for powder diffraction. Knowing how to program a computer is a basic and useful skill for scientists. This paper explains the three approaches for programming languages and why scripting languages are preferred for non-expert programmers. The Python-scripting language is extremely efficient for science and its use by scientists is growing. Python is also one of the easiest languages to learn. The language is introduced, as well as a few of the many add-on packages available that extend its capabilities, for example, for numerical computations, scientific graphics, and graphical user interface programming. Resources for learning Python are also provided.


2020 ◽  
Vol 25 (2) ◽  
pp. 102-108
Author(s):  
Alexey S. Vodopyanov ◽  
Yury N. Khomyakov ◽  
Ruslan V. Pisanov ◽  
Angelina Yu. Furina ◽  
Anton A. Lopatin ◽  
...  

With regard to the rapid spread of the latest coronavirus infection (COVID-19) in the Russian Federation in 2020, 70 workplaces were organized in Antiplague Center of Rospotrebnadzor and were seconded by specialists from the Rospotrebnadzor research antiplague institutes. However, the round-the-clock three-shift mode of operation significantly complicates the organization and documentation of the studies and increases the risk of errors. Subsequently in Antiplague Center of Rospotrebnadzor, we have conducted the work to automate the most problematic stages of conducting polymerase chain reaction (PCR) studies for the latest coronavirus infection and to develop an algorithm for real-time monitoring of the results. The development of our own software solutions was carried out in Python 3.8.2. The initial data for automation were.xlsx files automatically generated by the thermocycler software and typical tabular templates filled in at the sample analysis and RNA extraction stages. The software we developed consolidated the data into a single file register to detect potential errors simultaneously (e.g., the presence of duplicates, differences in the lists of samples at different stages, etc.). Using the Python scripting language provides cross-platform functionality (the ability to work in any operating system) and allows you to easily and quickly modify the system when changing any parameters or input file structure. Thus, 7 days were spent on the development and commissioning of this software complex, which is particularly important when working in an emergency and high alert mode. Therefore, using the approach we developed made it possible to more quickly detect technical errors, discordant results, and samples requiring re-examination, which in turn reduced the time for issuing results.


Sign in / Sign up

Export Citation Format

Share Document