Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "CAEBAT in ICE"

(Running a Simulation with CAEBAT)
(Running a Simulation with CAEBAT)
Line 113: Line 113:
 
Then you must restart the bash profile for this change to take effect by:
 
Then you must restart the bash profile for this change to take effect by:
 
*. ~/.bash_profile
 
*. ~/.bash_profile
 
 
    Wiki Home
 
    Browse Pages
 
    Browse Labels
 
 
    Formatting Help
 
 
CAEBAT
 
Authors:
 
 
This page describes the structure and usage of CAEBAT, building instructions, how to run an example, and how it is related to NiCE.
 
 
Table of Contents
 
 
    Introduction to CAEBAT
 
        OASFramework
 
        VIBE
 
        Other
 
        CAEBAT in NiCE
 
            Model
 
            Launcher
 
            Analysis ("Pretty Pictures")
 
    Building CAEBAT
 
        OASFramework
 
        VIBE
 
        DATA
 
    Running a Simulation with CAEBAT
 
    Input Parameters
 
        Individual configuration sections
 
            AMPERES
 
            DUALFOIL
 
        Time loop specification
 
 
Introduction to CAEBAT
 
 
Computer-Aided Engineering for Electric Drive Vehicle Batteries (CAEBAT) is an open-architecture framework that integrates multi-physics and multi-scale battery models. After experimental validation, these simulations can be used for research, design, and manufacturing.
 
OASFramework
 
 
The OAS modeling framework integrates all the physics necessary for development of realistic and predictive battery performance and safety models. This framework uses a Python scripting language, and controls the battery state through component and state adapters.
 
 
The component adapters interact with the components by preparing the necessary inputs to run the components and by scheduling the component runs. The state adapters interact with the battery state file by updating all the necessary information about the battery state and the methods for coupling the components. The Battery state file is the core for passing data between components.
 
VIBE
 
 
VIBE expands to Virtual Integrated Battery Environment. The OAS framework, along with physics and support components and the adapters constitute the VIBE. The current components are electrochemistry, thermal, electrical, and cost model.
 
Other
 
 
The data for CAEBAT is in a tar.gz file available upon request.
 
 
The Battery Markup Language (Battery ML) provides standardized format for the definition of all the necessary information.
 
 
The BatteryML Schema controls the structure of the output, and it uses a relational data model to stay flexible and avoid data duplication.
 
CAEBAT in NiCE
 
 
We plan to integrate CAEBAT into NiCE as a plugin so we have a tool for simulating battery codes. NiCE will simply use its current tools to run CAEBAT, behind the scenes. These are a compiled effort based on the meeting of 3/21/2013. We will design CAEBAT into three different pieces:
 
 
    Model
 
    Launcher
 
    Analysis (tentative)
 
 
Model
 
 
There are multiple pieces to this particular module and will probably be the most complex. The CAEBAT program will require 3 types of input files in varying degrees of format and complexity:
 
 
    The workstation.config. This will probably be pre-generated under the hood by NiCE or another script and not be visible in the model builder.
 
    The Chartran.config file. This is a configuration setup file for the simulation. This will be pre-generated with NiCE's XML format for creating the model, and the input model will be generated in the listed format (a combination of key/value pairs with bracketing). Part of the k/v pair parsing is in NiCE, but will need to investigate K/V parsing for tables and MasterDetailsPairs.
 
    The "model" BatML.file. The schema will be provided by the CAEBAT Folks where we will investigate a way to generically handle the schema file in order to produce the GUI layout in the model, and then transform the values inputted into the schema enforced xml file.
 
 
Launcher
 
 
The basic launcher in development will suffice, but will investigate looking into adding Entries into the JobLauncher to handle multiple input files.
 
Analysis ("Pretty Pictures")
 
 
AUTOCAD or other visualization tools to show the results of the simulation.
 
 
The standing basis for the model will be CAEBAT CASE 4 model.
 
Building CAEBAT
 
OASFramework
 
 
To create the OASFramework :
 
 
*Create a directory CAEBAT and cd to that directory
 
 
*Check out the source code from the repository using the following command:
 
 
svn checkout http://svn.code.sf.net/p/ipsframework/code/trunk OASFramework
 
 
*To build the library, use the following terminal commands:
 
 
cd OASFramework
 
mkdir build
 
cd build
 
ccmake ..
 
 
    Press c to configure the build, then e to exit
 
    Edit the key CMAKE_INSTALL_PREFIX to enter the bin installation directory /PATH/TO/OASFramework/install
 
    Press c to reconfigure the build
 
 
    Enter g to generate and exit from ccmake
 
 
    make
 
    make install
 
 
VIBE
 
 
*Pre-install HDF5 and 32bit CGNS
 
 
For CGNS: in ccmake enable Fortran, HDF5 and tests. Also enable the tools if you wish to query the output.
 
 
If you want to perform optimization or parameter sweep, you also need to install DAKOTA (Design Analysis Kit for Optimization and Terascale Applications).
 
 
*Untar the VIBE compressed file into the CAEBAT directory.
 
 
tar xzvf VIBE.tar.gz
 
cd VIBE/trunk/components/config/
 
ln -sf makeconfig.gnu makeconfig.local
 
cd ../
 
make
 
 
    Configure the installation location to /usr/bin/install and remember not to end with a "/"
 
    make install (this will install everything in the bin directory under components)
 
 
DATA
 
 
    Untar the DATA directory (tar xzvf CAEBAT-DATA.tar.gz) into the /CAEBAT directory.
 
 
Running a Simulation with CAEBAT
 
 
In order to run this, make a new directory in CAEBAT called RunExample. When going through these steps remember not to have "/" on the end, and that "Library" must be spelled correctly. Create the following directories in RunExample:
 
 
    Data
 
    Results
 
    Physics
 
 
Move the following configuration files into RunExample:
 
 
thermal_chartran_cell_twoway.conf
 
workstation.conf
 
 
Move the following data files into RunExample/Data/dualfoil/
 
 
li-ion-ebar.in
 
dualfoil5.in
 
 
Configure the workstation.conf
 
 
    Change PHYS_BIN_ROOT = /RunExample/Physics
 
    Change DATA_ROOT = /RunExample/Data
 
 
Next, Configure the thermal_chartran_cell_twoway.conf
 
 
    Change CAEBAT_ROOT = /CAEBAT/VIBE/trunk/components
 
    Change SIM_ROOT = /RunExample/Results
 
 
Next, do sourcing to use the cgns library, by using the following commands:
 
 
vi ~/.bash_profile
 
 
Create a new Library by typing the following below your current library:
 
 
LD_LIBRARY_PATH=/opt/cgns-3.1.3-i686_gcc-4.4.6/lib:$LD_LIBRARY_PATH
 
 
Then you must restart the bash profile for this change to take effect by:
 
 
. ~/.bash_profile
 
  
 
Check that this library assignment worked by using:
 
Check that this library assignment worked by using:

Revision as of 20:40, 3 February 2015

This page describes the structure and usage of CAEBAT, building instructions, how to run an example, and how it is related to ICE.

Introduction to CAEBAT

Computer-Aided Engineering for Electric Drive Vehicle Batteries (CAEBAT) is an open-architecture framework that integrates multi-physics and multi-scale battery models. After experimental validation, these simulations can be used for research, design, and manufacturing.

OASFramework

The OAS modeling framework integrates all the physics necessary for development of realistic and predictive battery performance and safety models. This framework uses a Python scripting language, and controls the battery state through component and state adapters.

The component adapters interact with the components by preparing the necessary inputs to run the components and by scheduling the component runs. The state adapters interact with the battery state file by updating all the necessary information about the battery state and the methods for coupling the components. The Battery state file is the core for passing data between components.

VIBE

VIBE expands to Virtual Integrated Battery Environment. The OAS framework, along with physics and support components and the adapters constitute the VIBE. The current components are electrochemistry, thermal, electrical, and cost model.

Other

The data for CAEBAT is in a tar.gz file available upon request.

The Battery Markup Language (Battery ML) provides standardized format for the definition of all the necessary information.

The BatteryML Schema controls the structure of the output, and it uses a relational data model to stay flexible and avoid data duplication.

CAEBAT in ICE

We plan to integrate CAEBAT into ICE as a plugin so we have a tool for simulating battery codes. ICE will simply use its current tools to run CAEBAT, behind the scenes. These are a compiled effort based on the meeting of 3/21/2013. We will design CAEBAT into three different pieces:

Model

There are multiple pieces to this particular module and will probably be the most complex. The CAEBAT program will require 3 types of input files in varying degrees of format and complexity:

  • The workstation.config. This will probably be pre-generated under the hood by ICE or another script and not be visible in the model builder.
  • The Chartran.config file. This is a configuration setup file for the simulation. This will be pre-generated with ICE's XML format for creating the model, and the input model will be generated in the listed format (a combination of key/value pairs with bracketing). Part of the k/v pair parsing is in NiCE, but will need to investigate K/V parsing for tables and MasterDetailsPairs.
  • The "model" BatML.file. The schema will be provided by the CAEBAT Folks where we will investigate a way to generically handle the schema file in order to produce the GUI layout in the model, and then transform the values inputted into the schema enforced xml file.

Launcher

The basic launcher in development will suffice, but will investigate looking into adding Entries into the JobLauncher to handle multiple input files.

Analysis ("Pretty Pictures")

AUTOCAD or other visualization tools to show the results of the simulation.

The standing basis for the model will be CAEBAT CASE 4 model.

Building CAEBAT

OASFramework

To create the OASFramework :

  • Create a directory CAEBAT and cd to that directory
  • Check out the source code from the repository using the following command:

svn checkout http://svn.code.sf.net/p/ipsframework/code/trunk OASFramework

  • To build the library, use the following terminal commands:

cd OASFramework mkdir build cd build ccmake ..

  • Press c to configure the build, then e to exit
  • Edit the key CMAKE_INSTALL_PREFIX to enter the bin installation directory /PATH/TO/OASFramework/install
  • Press c to reconfigure the build
  • Enter g to generate and exit from ccmake
  • make
  • make install

VIBE

  • Pre-install HDF5 and 32bit CGNS

For CGNS: in ccmake enable Fortran, HDF5 and tests. Also enable the tools if you wish to query the output.

If you want to perform optimization or parameter sweep, you also need to install DAKOTA (Design Analysis Kit for Optimization and Terascale Applications).

  • Untar the VIBE compressed file into the CAEBAT directory.

tar xzvf VIBE.tar.gz cd VIBE/trunk/components/config/ ln -sf makeconfig.gnu makeconfig.local cd ../ make

Configure the installation location to /usr/bin/install and remember not to end with a "/" make install (this will install everything in the bin directory under components)


DATA

Untar the DATA directory (tar xzvf CAEBAT-DATA.tar.gz) into the /CAEBAT directory.

Running a Simulation with CAEBAT

In order to run this, make a new directory in CAEBAT called RunExample. When going through these steps remember not to have "/" on the end, and that "Library" must be spelled correctly. Create the following directories in RunExample:

  • Data
  • Results
  • Physics

Move the following configuration files into RunExample:

  • thermal_chartran_cell_twoway.conf
  • workstation.conf

Move the following data files into RunExample/Data/dualfoil/

  • li-ion-ebar.in
  • dualfoil5.in

Configure the workstation.conf

  • Change PHYS_BIN_ROOT = /RunExample/Physics
  • Change DATA_ROOT = /RunExample/Data

Next, Configure the thermal_chartran_cell_twoway.conf

  • Change CAEBAT_ROOT = /CAEBAT/VIBE/trunk/components
  • Change SIM_ROOT = /RunExample/Results

Next, do sourcing to use the cgns library, by using the following commands:

  • vi ~/.bash_profile

Create a new Library by typing the following below your current library:

  • LD_LIBRARY_PATH=/opt/cgns-3.1.3-i686_gcc-4.4.6/lib:$LD_LIBRARY_PATH

Then you must restart the bash profile for this change to take effect by:

  • . ~/.bash_profile

Check that this library assignment worked by using:

  • echo $LD_LIBRARY_PATH

Every time the terminal is closed, the . ~/.bash_profile must be run to reassign this library. Now, to actually run the example use the following command while in /RunExample:

  • /CAEBAT/OASFramework/install/bin/ips.py --simulation=thermal_chartran_cell_twoway.conf --log=temp.log --platform=workstation.conf -a

Input Parameters

Individual configuration sections

AMPERES

DUALFOIL

Time loop specification

Back to the top