Course detail

Automation of Calculation, Simulation and Visualization

FSI-LAV Acad. year: 2024/2025 Summer semester

This course offers a structured approach to programming fundamentals and their applications in the context of energy engineering. The initial weeks focus on establishing a solid foundation, introducing students to basic programming concepts and data processing techniques. As the course progresses, we delve deeper into advanced programming features, such as debugging, logging, and profiling. The utilization of both standard and third-party libraries is explored. Additionally, the course underscores the significance of data analysis and presentation, emphasizing the use of Python libraries like Numpy, Pandas, and Plotly, enabling the creation of visually appealing and interactive graphs.

Furthermore, students will be introduced to specialized tools such as FeniCSx, Coolprop, and Xsteam, which are essential for addressing energy-related tasks. The course concludes with coverage of optimization techniques, parallel programming for processing large volumes of data, and a comprehensive review of assignments completed by students throughout the semester, ultimately leading to earning credit.

Department

Learning outcomes of the course unit

Prerequisites

A foundational understanding of mathematics and physics at the undergraduate level, coupled with analytical thinking skills.

Planned learning activities and teaching methods

Assesment methods and criteria linked to learning outcomes

Regular and active participation in exercises, delivery of all assigned tasks is required for credit to be granted.

Language of instruction

Czech

Aims

In this course, students will learn how to automate calculations and design processes for developing in-house software by utilizing the Python programming language, along with compatible libraries and open-source software. This approach minimizes the need for manual and intellectual labor, ultimately enhancing efficiency. Furthermore, students will also become acquainted with tools for visually presenting results and data through appealing diagrams, extending beyond engineering calculations.

Specification of controlled education, way of implementation and compensation for absences

The study programmes with the given course

Programme C-AKR-P: , Lifelong learning
branch CLS: , 2 credits, elective

Programme N-ETI-P: Power and Thermo-fluid Engineering, Master's
branch ENI: Power Engineering, 2 credits, compulsory

Type of course unit

 

Computer-assisted exercise

26 hours, optionally

Syllabus

Week 1 – Introduction to programming 1 – Data types, Basic operations, Generic operations,


Week 2 – Introduction to programming 2 – Flow control, Loops, Functions, arguments,


Week 3 – Objects, Inheritance, Polymorphism,


Week 4– Debugging, logging, profiling,


Week 5 – Python Standard Libraries, Third Party Modules, Imports,


Week 6 – Working with files, Text and binary files,


Week 7 – Arrays and Matrices, Numpy library,


Week 8 – Time series, Data analysis, Pandas,


Week 9 – Data presentation, Interactive graphs, Plots, Dashboard,


Week 10 – Selected Libraries for Energy Engineers, FeniCSx, Coolprop, Xsteam,


Week 11 – Optimization, SciPy, PyTorch,


Week 12 – Parallel programming for processing a large volume of data,


Week 13 – Review of assignments, Credit.