The list below gives an impression of the methods and techniques that VORtech can leverage.
VORtech is expert in many programming languages. When studying the client’s code, we can deal with most programming languages. We improve code or port it to new software in a more appropriate programming language. A selection of the programming languages that VORtech uses is the following:
- Performance oriented languages, like Fortran, C++ and C
- Functional programming languages, like Haskell and Elm
- Other languages, like C#, Java, Excel/VBA and domain-specific languages
High Performance Computing
VORtech improves code by making it as efficient as possible, so that it runs well with the best algorithm for the available hardware.
- MPI, OpenMP (parallel programming platforms)
- CUDA, OpenCL, OpenACC (GPU parallelism)
- Multi-core computing, cloud computing, cluster computing, super computers (CPU parallelism)
- HDF, NetCDF (file formats for storing large amounts of data)
VORtech is expert in data-driven projects, where we handle and store big data, analyse this data and get insights from this data.
- LSTM, random forests, SVM
- SQLite, PostgreSQL, mySQL, noSQL
- Time-series analysis, statistics, linear algebra
- Scikit-learn, TensorFlow, NumPy
VORtech are experts in simulation methods in order to carry out e.g. scenario analyses.
- Numerical simulation
- Monte-Carlo methods
- Discrete-event simulations
VORtech has a special expertise in data assimilation, where measurements and models are integrated to make model outcomes more accurate.
- Kalman filtering
- Inverse/adjoint models
VORtech applies optimization methods to solve e.g. portfolio problems.
- (Non)linear mathematical optimization
- Combinatoric algorithms
VORtech has a lot of expertise in numerical mathematics, which is often the basis of the mathematical models and programming codes we we deal with.
- Finite difference methods, finite element methods, finite volume methods, boundary integral methods (discretization methods)
- Implicit and explicit time integration, eigenvalue problems
- Domain decomposition methods, adaptive refinement, multi-grid, sparse grids
- Iterative solvers, preconditioning, direct (dense/sparse) matrix solvers
Software design and development methods
VORtech is specialized in designing and developing scientific software and uses different methods for this:
- UML for designing object oriented applications
- Agile/Scrum for developing applications
- CI/CD for software management
Project management, quality assurance
VORtech is often involved in large complex projects. Carrying out good project management and quality management is essential.