ConceptEV Node

This node provides an interface to evaluate ConceptEV designs within a parametric design study.

Overview

The ConceptEV node enables

  • using a concept previously defined inside Ansys ConceptEV as reference design.

  • accessing its parameters and responses.

  • submitting design variations to ConceptEV and retrieving the results.

It can be used to control attributes of components and it can be used to switch between components.

It includes the capability to submit:

  • custom battery by uploading a

    • .xlsx file for lookup table-based battery

  • custom inverters by uploading a

    • .xlsx file for loss map-based inverter

  • custom motors by uploading a

    • .lab file for lab file-based motor

    • .xlsx file for loss map-based motor

  • custom transmissions by uploading a

    • .xlsx file for loss map-based transmission.

Example files can be found in the ConceptEV help section, which also contains a more detailed guide on how to use the ConceptEV optiSLang integration.

In order to use the ConceptEV node, an active account for Ansys ConceptEV is required.

  • For connecting with ConceptEV, the user needs to authenticate with ConceptEV. As soon as the authentication is necessary, a new browser tab will open automatically and request the user to provide their Ansys ConceptEV credentials. This happens typically in the following two situations:

    • User clicks the Update accounts button.

    • User starts the optiSLang workflow.

    This authentication typically needs to be done once per optiSLang session. Once the authentication is completed, the authentication token data is cached in the optiSLang project working directory in a file named conceptev_token_cache.bin.

    It can also happen that from time to time additional browser tabs are opened in order to automatically refresh the authentication token.

  • A connection debug log is created in the optiSLang projects working directory in a file named conceptev_debug.log. In case of connectivity issues during the Reload parametrization phase or the optiSLang project execution, it might contain information to resolve them.

Setup

Setting up the ConceptEV node consists of the following steps:

  1. Set up a reference concept inside ConceptEV (see Recommendations below).

  2. Copy the reference URL (example: https://conceptev.ansys.com/ws/concept/51930119-be60-4a92-997d-3a081d9afc95/configurations) or just the concept id (example: 51930119-be60-4a92-997d-3a081d9afc95) to the clipboard.

  3. In optiSLang, create a ConceptEV node and open it.

  4. Switch to the Settings tab. Click the Update accounts button to load the available accounts. This will open up a browser window to authenticate with ConceptEV. Select the appropriate account in the Account name dropdown menu.

  5. Paste the reference URL/concept id from Step 2 into the field Reference concept ID.

    For now, leave the remaining settings at their default values.

  6. Switch to the Parametrization tab and click the Reload parametrization button.

    This will solve the reference concept again in order to provide the response values corresponding to the input values. Depending on the concept model size (for example, the number and type of motors and the length of the drive cycles), this can take some time, during which the ConceptEV node will appear unresponsive.


    Tip:  The results produced during this step are cached in the optiSLang .opr directory. As long as the cached data is not moved/deleted, any future Reload parametization action for that reference concept inside this project will use the cached data and will load the parameters/responses much faster.

    If you are planning to use the same reference design in another optiSLang project, you can copy the cached information from the existing .opr directory to the .opr directory of the new optiSLang project to speed up loading parameters and responses.


  7. Once the Reload Parametrization step is done, you can register parameters as well as responses.

Parameters

The parameters can be found in a tree view grouped according to:

  • Architecture

    This provides access to the available component choices from the ConceptEV Architecture tab.

  • Components

    This provides access to the available parameters for components found in the ConceptEV Components tab:

    • Transmissions

    • Motors

    • Inverters

    • Batteries

  • Configurations

    This provides access to the available parameters for configurations found in the ConceptEV Vehicle Configurations tab:

    • Aerodynamics

    • Masses

    • Wheels

    • Ancillary loads

    • Deceleration limits

  • Requirements

    This provides access to the available parameters for requirements found in the ConceptEV Requirements tab:

    • Static requirements

    • Dynamic requirements

    • Drive cycles


Note:  The architecture related parameters are mostly discrete parameters of type string or integer. This will also be reflected automatically in the parameter manager.


Outputs

Responses are displayed as a tree view grouped by evaluated requirements, including a Summary as the last item. The summary contains information regarding:

  • Number of fulfilled requirements

  • Total cost

    • Cost by component

  • Total mass

Solver

Concepts are not solved locally. Instead the ConceptEV node submits the solve jobs to Ansys ConceptEV. The designs submitted by optiSLang are stored in ConceptEV and can be reviewed within ConceptEV.

Settings

NameDefault valueDescription
Account name""Click the Update accounts button to populate the dropdown menu with the account names available to you.
Reference concept ID""

Use the unique concept id found in the browser URL or the full browser URL.

This field is mandatory and needs to be filled before clicking Reload parametrization.

Use separate projectFalse
  • True: optiSLang will store all Concepts in the ConceptEV project specified in the field Project name. If the project does not exist yet, it will be created.

  • False: optiSLang will store all Concepts in the same ConceptEV project which contains the reference concept.

Project name%OSL_PROJECT_NAME% [%OSL_SYSTEM_NAME%]

If the Use separate project setting is activated, optiSLang will store all concepts in a project with the project name specified in this field.

Environment variables can be used using %name% or ${name} syntax. In addition to the regular environment variables and environment variables provided by optiSLang, the following variables may be used:

  • %OSL_PROJECT_NAME% / ${OSL_PROJECT_NAME}: Name of optiSLang project.

  • %OSL_SYSTEM_NAME% / ${OSL_SYSTEM_NAME}: Name of optiSLang system.

  • %OSL_NODE_NAME% / ${OSL_NODE_NAME}: Name of optiSLang node.

  • %OSL_DESIGN_NAME% / ${OSL_DESIGN_NAME}: Name of optiSLang design.

  • %TIMESTAMP% / ${TIMESTAMP}: Current timestamp.

Concept name pattern[%OSL_NODE_NAME%]: %OSL_DESIGN_NAME% (%TIMESTAMP%)

Naming pattern for how the concepts will be named inside ConceptEV.

Environment variables can be used using %name% or ${name} syntax. In addition to the regular environment variables and environment variables provided by optiSLang, the following variables may be used:

  • %OSL_PROJECT_NAME% / ${OSL_PROJECT_NAME}: Name of optiSLang project.

  • %OSL_SYSTEM_NAME% / ${OSL_SYSTEM_NAME}: Name of optiSLang system.

  • %OSL_NODE_NAME% / ${OSL_NODE_NAME}: Name of optiSLang node.

  • %OSL_DESIGN_NAME% / ${OSL_DESIGN_NAME}: Name of optiSLang design.

  • %TIMESTAMP% / ${TIMESTAMP}: Current timestamp.

Local architecture checkTrue
  • True: Perform a local architecture check before submitting to ConceptEV. This avoids submitting architecture combinations which would be rejected by ConceptEV.

  • False: Skip local architecture check and submit also infeasible architecture combinations to ConceptEV.

Note:  It is to be expected that a number of the designs created by optiSLang sensitivity or optimization systems are infeasible and will not be computed by ConceptEV. For instance, it is not possible to combine two motors and a clutch for one and the same axle.

Force SI unitsFalse
  • True: Return results in SI units used by the ConceptEV solver.

  • False: Return results in the units as defined in the ConceptEV user interface.

Custom battery
  • "Not used": Battery choices only consist of the batteries available in the template concept.

  • Lookup table: Adds .xlsx file based custom battery name Custom battery.

    In order to use the custom battery, perform the following steps:

    1. Select option "Lookup table" in the custom battery dropdown menu.

    2. In the parametrization tab, click Reload parametrization. This will add a corresponding entry in the parameters under "Batteries/Custom_battery".

    3. Drag and drop Components/Batteries/Custom_battery_1/Custom_battery__filepath to input slots to create an input slot for the custom battery filepath. Connect a string or path object indicating the .xlsx file location on your local hard disk to this input slot to assign the file.

    4. Optionally do the same for the numeric values of ../Custom_battery__cost and ../Custom_battery__mass.

    5. In order to use this custom battery, add the choice "Custom_battery" to the discrete states of parameter "battery".

Custom inverter 1
  • "Not used": Inverter choices only consist of the inverters available in the template concept.

  • Lossmap: Adds .xlsx file based custom inverter with name Custom inverter 1.

    In order to use the custom inverter, perform the following steps:

    1. Select option "Lossmap" in the custom inverter dropdown menu.

    2. In the parametrization tab, click Reload parametrization. This will add a corresponding entry in the parameters under "Inverters/Custom_inverter_1".

    3. Drag and drop Components/Inverters/Custom_inverter_1/Custom_inverter_1__filepath to input slots to create an input slot for the custom inverter 1 filepath. Connect a string or path object indicating the .xlsx file location on your local hard disk to this input slot to assign the file.

    4. Optionally do the same for the numeric values of ../Custom_inverter_1__cost, ../Custom_inverter_1__mass, and ../Custom_inverter_1__max_power.

    5. In order to use this custom inverter either on front and/or rear axle, add the choice "Custom_inverter_1" to the discrete states of parameters front_inverter and/or rear_inverter, respectively.

Custom inverter 2
  • "Not used": Inverter choices only consist of the inverters available in the template concept.

  • Lossmap: Adds .xlsx file based custom inverter with name Custom inverter 2.

    In order to use the custom inverter, perform the following steps:

    1. Select option "Lossmap" in the custom inverter dropdown menu.

    2. In the parametrization tab, click Reload parametrization. This will add a corresponding entry in the parameters under "Inverters/Custom_inverter_2".

    3. Drag and drop Components/Inverters/Custom_inverter_2/Custom_inverter_2__filepath to input slots to create an input slot for the custom inverter 2 filepath. Connect a string or path object indicating the .xlsx file location on your local hard disk to this input slot to assign the file.

    4. Optionally do the same for the numeric values of ../Custom_inverter_2__cost, ../Custom_inverter_2__mass, and ../Custom_inverter_2__max_power.

    5. In order to use this custom inverter either on front and/or rear axle, add the choice "Custom_inverter_2" to the discrete states of parameters front_inverter and/or rear_inverter, respectively.

Custom transmission 1
  • "Not used": Transmission choices only consist of the transmissions available in the template concept.

  • Lossmap: Adds .xlsx file based custom transmission with name Custom transmission 1.

    In order to use the custom transmission, perform the following steps:

    1. Select option "Lossmap" in the custom transmission dropdown menu.

    2. In the parametrization tab, click Reload parametrization. This will add a corresponding entry in the parameters under "Transmissions/Custom_transmission_1".

    3. Drag and drop Components/Transmissions/Custom_transmission_1/Custom_transmission_1__filepath to input slots to create an input slot for the custom transmission 1 filepath. Connect a string or path object indicating the .xlsx file location on your local hard disk to this input slot to assign the file.

    4. Optionally do the same for the numeric values of ../Custom_transmission_1__cost, ../Custom_transmission_1__mass, ../Custom_transmission_1__max_power, and ../Custom_transmission_1__max_torque.

    5. In order to use this custom transmission either on front and/or rear axle, add the choice "Custom_transmission_1" to the discrete states of parameters front_transmission and/or rear_transmission, respectively.

Custom transmission 2
  • "Not used": Transmission choices only consist of the transmissions available in the template concept.

  • Lossmap: Adds .xlsx file based custom transmission with name Custom transmission 2.

    In order to use the custom transmission, perform the following steps:

    1. Select option "Lossmap" in the custom transmission dropdown menu.

    2. In the parametrization tab, click Reload parametrization. This will add a corresponding entry in the parameters under "Transmissions/Custom_transmission_2".

    3. Drag and drop Components/Transmissions/Custom_transmission_2/Custom_transmission_2__filepath to input slots to create an input slot for the custom transmission 2 filepath. Connect a string or path object indicating the .xlsx file location on your local hard disk to this input slot to assign the file.

    4. Optionally do the same for the numeric values of ../Custom_transmission_2__cost, ../Custom_transmission_2__mass, ../Custom_transmission_2__max_power, and ../Custom_transmission_2__max_torque.

    5. In order to use this custom transmission either on front and/or rear axle, add the choice "Custom_transmission_2" to the discrete states of parameters front_transmission and/or rear_transmission, respectively.

Custom motor 1
  • "Not used": Motor choices only consist of the motors available in the template concept.

  • Lab Model: Adds .lab file based custom motor with name Custom motor 1.

  • Lossmap: Adds .xlsx file based custom motor with name "Custom motor 1".*

Lab model and Lossmap: In order to use the custom motor, perform the following steps:

  1. Select either the "Lab Model" or "Lossmap" option in the dropdown menu.

  2. On the Parametrization tab, click Reload Parametrization. This will add a corresponding entry in the parameters under "Motors/Custom_motor_1".

  3. Drag and drop Components/Motors/Custom_motor_1/Custom_motor_1__filepath to input slots to create an input slot for the custom motor 1 filepath.

  4. In the optiSLang scenery, connect a string or path object indicating the .lab/.xlsx file location on your local hard disk to this input slot to assign the file.

    The .lab/.xlsx file can be a static file stored in an absolute path or it can be created from a MotorCAD node via scripting.

  5. Optionally register ../Custom_motor_1__cost, ../Custom_motor_1__mass, and ../Custom_motor_1__poles as input slots or parameters to assign corresponding values.

  6. In order for optiSLang to use this custom motor either on front and/or rear axle, add the choice "Custom_motor_1" to the discrete states of parameters front_motor and/or rear_motor, respectively.

Custom motor 2
  • "Not used": Motor choices only consist of the motors available in the template concept.

  • Lab Model: Adds .lab file based custom motor with name "Custom motor 2".

  • Lossmap: Adds .xlsx file based custom motor with name "Custom motor 2".

Lab model and Lossmap: In order to use the custom motor, perform the following steps:

  1. Select either the "Lab Model" or "Lossmap" option in the dropdown menu.

  2. On the Parametrization tab, click Reload Parametrization. This will add a corresponding entry in the parameters under "Motors/Custom_motor_2".

  3. Drag and drop Components/Motors/Custom_motor_2/Custom_motor_2__filepath to input slots to create an input slot for the custom motor 2 filepath.

  4. In the optiSLang scenery, connect a string or path object indicating the .lab/.xlsx file location on your local hard disk to this input slot to assign the file.

    The .lab/.xlsx file can be a static file stored in an absolute path or it can be created from a MotorCAD node via scripting.

  5. Optionally register ../Custom_motor_2__cost, ../Custom_motor_2__mass, and ../Custom_motor_2__poles as input slots or parameters to assign corresponding values.

  6. In order for optiSLang to use this custom motor either on front and/or rear axle, add the choice "Custom_motor_2" to the discrete states of parameters front_motor and/or rear_motor, respectively.

Run Options

This node has general Run Options. The number of supported options is individual for each node.

See the Recommendations below for best practices on Maximum execution runtime and Delay between executions run options.

Recommendations

  • Run Options

    • Assign a Maximum execution runtime appropriate to your ConceptEV model size, so that the optiSLang workflow is not blocked by a "stuck" job.

    • Define a Delay between executions of ~5 seconds to not overburden the connection between client and ConceptEV cloud.

  • Unit handling

    • There is no automatic unit-conversion in place in the optiSLang ConceptEV integration. When creating a workflow based on a ConceptEV design, the currently used unit system will also be used inside the optiSLang workflow and any parameter ranges will be with reference to this unit system. When sharing an optiSLang project and corresponding ConceptEV projects with other people, make sure that everyone using the workflow is using the same unit system as ConceptEV.

  • ConceptEV reference design

    • When the parameters are loaded for the first time, the reference concept will be solved in ConceptEV to produce all the inputs and corresponding reference outputs for the user to register. Depending on model size, this solve will take some time, during which optiSLang will not be responsive.

      To reduce the wait time, consider the following recommendations:

      • Inside ConceptEV, define the reference design as 2WD.

      • If available, use IPM motor in the reference design.

      This will reduce the wait time during the parametrization. It is possible to use 4WD and other motors through the integration during any subsequent parametric study.

Supported Versions

See the Supported Versions table.