JavaScript is not enabled in your browser
Objexx Engineering

Recent Projects at Objexx


EnergyPlus

Building Energy Simulation

Objexx converted the EnergyPlus building energy modeling application from Fortran to C++ under contract with Autodesk.

The 30 MB of Fortran 90/2003 source code utilized many modern Fortran constructs and the successful conversion demonstrated the capabilities of the Objexx conversion system and the ObjexxFCL for modern Fortran 90-2008.

Objexx is providing ongoing object-oriented design, performance optimization, and team support for this project and is developing the QSS solver for the next-generation EnergyPlus under contract to the US Dept. of Energy and the Lawrence Berkeley National Laboratory.


ObjexxSISAME

ObjexxSISAME GUI The ObjexxSISAME system for optimal design and simulation of structural impacts is under ongoing enhancement including:
  • A cross-platform GUI for building and running models developed with the Qt framework.
  • A performance redesign giving a 7X simulation speedup for 3D models.
  • A new contact interaction model.
  • 3D positioning support for 1/2D models.
  • Real-time model visualization built with OpenSceneGraph.
  • A YAML-style input file format for human readability/editability and fast parsing.
  • Addition of the ObjexxPlot high-performance plotting application.

Falcon: Nuclear Fuel Rod Finite Element Modeling

Fuel Rod Pellet

Objexx reengineered the Falcon nuclear fuel rod FEM application for a major electric power industry research organization in collaboration with ANATECH and the Paul Scherrer Institute.

The Falcon project involves extracting and modernizing a legacy Fortran FEM core, building a user-centric, graphical application for building and running models, designing a flexible input and output file framework, and building an advanced post-processor.

Technologies used to build the new hybrid Falcon system include:

  • Python
  • NumPy
  • F2PY
  • Qt/PyQt/PySide
  • YAML
  • HDF5
  • PyTables/HDF5
  • matplotlib
  • Fortran

SIAM-xLPR and SIAM-PFM

Nozzle

Objexx worked with the SIAM-xLPR/SIAM-PFM team at the Oak Ridge National Laboratory to identify and demonstrate software technology improvements for the Python-Fortran hybrid SIAM-PFM application being developed for the NRC. The focus was on methodologies to eliminate the need for users to install dependencies or to learn/use F2PY.


Rosetta

Protein

Objexx converted the preeminent Rosetta software suite for protein structural identification and design from Fortran to C++ and helped the Rosetta academic consortium with the migration to scalable, object-oriented design.

The ObjexxFCL was used to provide critical functionality within the C++ Rosetta:

  • Multidimensional arrays supporting Fortran indexing and array passing "tricks" to ease the migration for the developers.
  • A unique automatic array dimensioning system to enable dynamic sizing to be introduced with minimal disruption.
  • Array linear indexing support was used to performance tune critical loops with multidimensional array operations to obtain Fortran-competitive speeds.
  • Fortran-compatible strings to preserve existing code look and semantics.

Rosetta continues as a vibrant project with a wide developer base successfully using layered, modular, object-oriented C++ designs to greatly expand the modeling scope and capabilities.


PHENIX

X-Ray Crystallography and Molecular Structure

Objexx converted a major component of the PHENIX X-ray crystallography software from Fortran to C++ for the Lawrence Berkeley National Laboratory. The Objexx conversion process and the ObjexxFCL library were used.

The project included testing and debugging the Fortran and performance-tuning the C++ to meet or exceed Fortran speeds.


Aircraft Flight Software Migration

Jet

Objexx worked with a major aerospace corporation to migrate over 600 FORTRAN-77 applications from the VAX/VMS environment to standard-compliant, portable Fortran 95.