The delay controller object in KULI provides the possibility to delay a signal for a certain period of time or number of timesteps. Within this object a start value needs to be specified that defines the return value until the delay period has passed. In some situations it could be beneficial to define this start value via a simulation parameter, a COM object or another source outside of the delay controller itself.
The attached subsystem shows an easy way to accomplish this task. The basic idea is to set the start value inside the delay controller object to zero and then subtract the intended start value from the signal right before the delay controller and add it again right after the delay controller. The value that will be subtracted and added can easily be defined in various was, including COM objects, constants, simulation parameters, etc.
Keywords: initial valueUsable from release: KULI 13
With the help of the COM interface KULI offers extensive capabilities to control a KULI simulation from other programs like e.g. Microsoft Excel. The attached files show how the built in optimization of KULI can be controlled from Excel. The Excel and KULI files are set up in a way such that also the lower and upper bounds of the optimization parameter(s) as well as the optimization target(s) can be set from Excel. The VBA script is set up in a way such that the variation of the parameters and the progress of the optimization targets are visible in Excel as well. This is particularly useful for optimizations that take a lot of time. The included demo file in this example is based on the tutorial example ExCAR and varies two optimization parameters to achieve two optimization targets. The method and script can easily be adapted to other optimization problems.Usable from release: KULI 13
KULI offers a powerful programming interface to execute and control simulations from external tools.
The attached examples demontrate the usage of this programming interface with different scripting and programming languages (Python, Matlab, C++, C#/.NET).
Keywords: automation, script, COM, Python, C++, 18 KB
This example shows how a VTM control system can be implemented using a state machine. There is no cooling system or A/C system modeled explicitly, but instead both the evaporator and the PTC heater in the HVAC box are represented by area resistances with heat sources. The HVAC blower is modeled as an air mass flow source. The focus is put on the control subsystem, which automatically engages cooling or heating modes according to cabin temperature levels and controls heater, evaporator, fan and HVAC flaps so that a target temperature is reached in a specific cabin zone. This subsystem is made mostly generic and with simple interfaces to allow easy re-use in a wide range of applications. Additionally the cabin model shows an application of the “variable flow fields” feature to correctly reproduce different conditions during heating (air goes to legroom) and cooling (air goes to passenger vents).
Keywords: VTM, VCU, control, state machine, HVAC, comfort, cabinUsable from release: KULI 13
This model is an approximate representation of the Mitsubishi i-MiEV including battery, E-Drive, HVAC-System and controls, cabin model and driving simulation. It is intended as a showcase on how to model certain parts of an electric vehicle and as a base for user models.
The battery is an air cooled battery, which, during fast charging, is cooled with cold air from the HVAC box. HVAC controls are modeled by a state machine in combination with several P controllers. Driving simulation is a simple longitudinal simulation intended for transient prediction of motor operating points. The simulation model is capable of predicting cabin temperatures and the related vehicle energy consumption and range for different ambient conditions (summer, winter…) and any user-defined drive cycle.
Keywords: vehicle model, VTM, i-MiEV, Mitsubishi, workshop, complete, range
Usable from release: KULI 9.1-0.01
KULI hvac is an efficient tool to simulate air conditioning (A/C) systems. On the other hand, KULI base allows to calculate refrigerant properties. By default, media data of several widely-used refrigerants are distributed with KULI. However, custom-tailored applications can require additional ones which have not been provided. This manual describes how to set up a new refrigerant media file for KULI using the third-party software ©REFPROP by NIST.
In the course of electrification, A/C systems get increasingly complex fulfilling new tasks. With the help of KULI hvac, dependencies and interactions between engine compartment flow, engine cooling system and A/C in the vehicle interior can be calculated. KULI base allows requirements-driven pre-selection of refrigerants based on calculation of key properties at given ambient conditions.
Due to the described recent developments, there is a strong need for non-standard refrigerants or mixtures to be incorporated into KULI as custom-tailored media files. This manual describes in detail how to do so. First it gives general information about the KULI Refrigerant Media File explaining its structure and its content. Next it provides an overview on how to generate the input data for the file. Step-by-step instructions guide the user through the setup using ©REFPROP by NIST. Multiple screenshots illustrate how to select the substance, the reference state, the units and the data ranges in the pressure-enthalpy diagram. Further informative figures display selection of properties, change of property order, calculation of values, and copying of data into the KULI Media File. The latter steps need to be done for the Wet Steam and Vapor/Fluid Areas separately. Helpful tips complement the manual preventing common mistakes and representing the experience of the KULI development team. Last but not least, the KULI Media File needs to be verified; this can be done by KULI MediaX.
Keywords: reference data, Mollier chart, Mollier diagram, heat pump, phase change, evaporator, evaporate, condenser, condensateUsable from release: KULI 8.0-1.04
The dynamic solver considers fluid transport, convection and heat conduction within a fluid. To this end, every component inside the circuit carries a fluid volume. This approach enables transient thermal simulation of small and even zero mass flows. As the exemplary driving simulation shows, warm-up, cooling-down and converging of resting and low velocity fluids will be calculated precisely.
The example simulates cooling of an engine loaded by three, successive NEDC driving cycles demonstrating the beauty of transient simulations using KULI´s dynamic solver. The engine is lubricated and cooled by a closed oil circuit which is put into contact with a water/glycol circuit after a first warm-up. It considers the thermal inertia and thermal conductivity of fluid volume held by the components. Heat sources in the oil and the water/glycol circuit, respectively, model the rejected heat. Dummy tubes account for the fluid volumes held by the piping system of the engine.
A thermostat controls the coupling of the oil circuit with the water/glycol circuit via a parallel flow cooler. When its temperature is above 80 °C, it will open a confluence and heat will be exchanged. A second thermostat in the water/glycol circuit controls the coolant flow through the radiator. It keeps the respective branch shut until it reaches a temperature of about 90 °C. Then it begins to open which causes the high velocity, warm coolant in the bypass branch to be mixed with the resting, cold one from the radiator and its supply/discharge pipes. As a consequence the engine will experience a cold flush of coolant. The dynamic solver allows to simulate this phenomenon, calculating the transient thermofluidic properties of converging fluids of different temperatures and velocities. In addition to the already described components, the water/glycol circuit comprises further tubes, fluid resistances, a coolant pump and a heater. Featuring these components, the water/glycol circuit is modeled in a more detailed way than the oil circuit in contact with it.
Keywords: cold sip, temporal, time-critical, thermal mass, advection, point massUsable from release: KULI 13
This example demonstrates how to use KuliCompInterface in Matlab to create a KULI radiator file.
As a prerequisite, KuliCompInterface version 13 must be available on the system.
The data used in the sample is almost similar to the ex_offroad.kuliRAD. As a result the written radiator file is similar to ex_offroad.kuliRAD. Pressure drop and heat data are read from the corresponding .csv files. All other data are hard-coded in the .m file.
Due to the fact, that KuliCompInterface is only available as 32-bit, also Matlab has to be 32-bit.
Keywords: KuliCompInterface, MatlabUsable from release: KULI 12
In some transient application it is required to run a certain cycle (e.g. an NEDC) several times. It would be desirable to specify the boundary conditions of the cycle just once and then obtain this data repeatedly. The modulo function of the user defined calculation controller can be used to accomplish this task very easily.
This example is based on the default example ExEngine_HYBRID_adv and shows how the user defined calculation object is used to take the time, then use the modulo function to compute the remainder when dividing by the cycle length and finally define the simulation parameters with the help of maps.
Keywords: simulation parameter repeat cycle boundary conditions
Usable from release: KULI 12
These examples show how to set up a component test rig for a cross flow heat exchanger in KULI with the possibility to accurately specify the boundary conditions.
In order to predict the performance of a given cross flow heat exchanger (e.g. a radiator), it is sometimes quite useful to model a component test rig in KULI. This is particularly useful if a user receives measurement data or a KULI file of a component and wants to observe how this component performs at certain boundary conditions. In order to accurately specify all inlet conditions (temperatures, flow rates, pressures, humidity) at the same time, different modeling is required depending on the way how the air flow rate is defined (mass flow or entry volume flow or entry speed). The models in this example demonstrate how this can be achieved. They can be used as templates for test rigs in KULI. The component itself and the boundary conditions can easily be exchanged.Usable from release: KULI 12
In modern cooling system applications sometimes a radiator (coolant-air heat exchanger) is used to cool-down air (instead of air cooling-down the coolant). This makes it necessary for the model to consider potential condensation effects in the air.
Specifically only a part of the cooling power of the coolant is sensible heat on the air-side, while the rest compensates the heat from the phase change of the condensing air humidity (latent heat). Accordingly also a condensate mass flow is calculated.
As the KULI radiator component does not have native support for these effects, this library example provides additional functionality using calculation controllers and two air-side heat sources / sinks.Usable from release: KULI 12
This Excel sheet can directly be used to generate the data for a single pass of a 2 layer Cross-Counter-Flow Cooler (radiator, charge air cooler or oil cooler).
In special cases a cooler consists of two layers behind each other. In KULI this can be modeled as two separate coolers connected in series. As usually pressure drop and thermal performance data are available for the whole component only, the target is to generate the data for a single pass of the heat exchanger. This package provides Excel sheets and KULI files to perform this task. The Excel sheets require the Excel Add-In “Solver” and “KuliAnalysis2”. A detailed workflow description is given as well.Usable from release: KULI 12
The COM interface, developed by Microsoft®, provides a standardized interface for programs to communicate with each other. KULI has a set of built-in COM commands, which allow other programs to run and control a KULI simulation.
The current example is an Excel sheet which is created for the control and post processing of the time dependent simulation of a cooling system. The certain benefit of this Excel sheet is, that no Visual Basic programming knowledge of the user is required. Input and output parameters of a KULI file can simply be defined in a list, where the parameters can be chosen from an interactive menu. The sheet allows access to standard KULI COM objects but also to components directly via the KULI Direct Access Interface.Usable from release: KULI 8.0-1.04
This subsystem demonstrates a possibility to model a 4 way valve with which branches of a circuit can be combined or separated.
The attached subsystem has two fluid input ports (in1, in2), two fluid output ports (out1, out2) and one controller input with two possible input values. Depending on the value of the controller input, either in1 is connected to out1 and in2 is connected to out2 (“direct” connection), or in1 is connected to out2 and in2 is connected to out1 (“indirect” connection). In this way two loops/branches of a cooling circuit can either be combined (by using the “indirect” connection) or separated (by using the “direct” connection).Usable from release: KULI 12
This subsystem demonstrates a possibility to model an electric motor with fluid cooling of both stator and rotor.
The built-in model of an electric motor in KULI assumes that the stator is (optionally) fluid-cooled whereas the rotor is not. The rotor is only connected to the stator via conduction. Some e-motor concepts however also include a water cooled rotor. The attached subsystem provides a method with which such a configuration can be modeled. The main idea is to connect the heat conduction connector of the rotor with a point mass in the fluid circuit that models the coolant within the rotor. The point mass itself has a very high heat transfer coefficient. The heat conduction component modeling the heat transfer between the rotor and the water has a heat conductivity coming from CFD analysis.Usable from release: KULI 12
With this model and in particular with this workflow a pareto front diagram can be created in KULI lab.
During the process of optimizing a cooling package, quite often some compromise must be accepted. If you want to improve one value, another one gets worse. So usually it is quite difficult to define what the “optimal” solution really is. The pareto front is a graphical way to illustrate the line of “best compromises” that can be achieved.
The example shows how to generate such a diagram with the help of Monte Carlo Simulation and the 2D diagram features in KULI lab. In this example we vary the oil flow rate and the length of the oil cooler with the aim to reach both a low entry temperature and a low pressure drop in the cooler. Obviously both targets cannot be minimized at the same time, so we would like to see which values can be reached and we want to identify the parameters with which such a good compromise can be achieved.
Usable from release: KULI 12
With KULI you can model cooling systems for railroad applications, which can be diesel or electrical powered. In this specific application you can find a roof mounted cooling system with three coolers. One low temperature circuit for cooling the electric and electronic parts, one high temperature radiator for engine cooling and one intercooler.
One can include different types of fans, hydrostatic, electric or mechanical driven. In the simulation one can control the speed of the fan very flexible depending on the requirements of the cooling system measured by sensors like in the real life. Of course the operating conditions e.g. driving up a high mountain or in hot climate conditions are considered in the cooling system simulation.
At the end of the various variants done in the concept phase to find the best configuration of all components one will get a virtual prototype of the whole cooling system for railroad applications, which you will produce only once in hardware to verify the KULI simulation results on the test bench and in build-in situation.Usable from release: KULI 11.1
One possibility to set a target temperature in the cabin compressors is to control the compressors piston displacement.
This example demonstrates how a subsystem including several calculation controllers can easily be added to an existing HVAC simulation system.
By adjusting the compressors piston displacement, the performance of the compressor is controlled. This controlling strategy is included in a subsystem which mainly consists of calculation controllers.
As a necessary input, the user has to define a required cabin temperature and the upper and lower limit for the piston displacement. The calibration coefficient is a kind of displacement offset for the controller, used in each simulation time step.
If the average cabin temperature exceeds the upper temperature limit plus the temperature tolerance, the max. piston displacement of the compressor is used.
In all other cases the displacement is reduced or increased by the calibration coefficient. Due to the change of the displacement in each simulation time step, a smooth control characteristic is created.Usable from release: KULI 9.1-0.01
This example shows how to find a suitable compressor ratio with the help of parameter variation and a stop controller.
The task of this example is to find the lowest compressor rpm that meets the desired performance results. In this example we assume that the task is to find the compressor rpm such that the evaporator air outlet temperature is at or below 5 °C. Since in reality sometimes only a limited number of distinct ratios between engine rpm and compressor rpm is available, parameter variation is used. In addition a stop controller is applied such that the parameter variation stops as soon as the first suitable solution is found. This avoids the unnecessary calculation of operating points when the solution has already been found. It is important to run the parameter variation with increasing ratio such that the first solution that fulfills the stop criterion is really the solution with the lowest possible compressor rpm.Usable from release: KULI 11
This example shows how to automatically stop a transient KULI simulation if a given signal has become stationary.
In this example a stop controller is used to check if a certain signal has converged. The convergence itself is checked with the help of a series of delay controllers and a calculation controller. So the signal value at the current time t and at the time steps t-10, t-20, t-30, t-40, and t-50 seconds are evaluated. If the difference between the maximum and the minimum of these values is smaller than the value specified in the stop controller, then the simulation is stopped. In the given example the stop criterion is 0.1 K.
The big advantage of using the stop controller is that you can specify a very long simulation time (in the simulation parameters) such that it is ensured that convergence will occur, but if the convergence occurs pretty early, then KULI stops and does not produce “unnecessary” simulation output.
The calculation of this convergence value is put into a subsystem such that it can easily be transferred to other models.Usable from release: KULI 11
With this model the porosity coefficients for the air side resistance of a radiator can be calculated. This makes it easier to use the same air side resistance of a radiator in KULI and in CFD.
In standard underhood CFD calculations the heat exchangers (radiator, charge air cooler, condenser, etc.) are modeled as porous media. If a radiator is available as a KULI file, then this KULI model can be used to obtain the required coefficients which define the resistance of the radiator in the CFD model. In StarCCM+© (from cd-adapco) the resistance is defined in the following way:
delta p / L = alpha * v^2 + beta * v
where delta p is the static air side pressure difference, L is the depth of the radiator, v is the velocity perpendicular to the radiator surface, and alpha and beta are the coefficients that need to be evaluated. The KULI model makes a parameter variation for the velocity, where the lower and upper bounds can be specified as constants (they are predefined with 1 and 10 m/s, which is a reasonable range for most applications). The velocity is converted into a volume flow with the help of the width and height of the radiator. An analysis controller is used to calculate the sum of the deviations between simulated pressure difference at the component and the pressure difference calculated with the approximation formula. The sum of all these deviations is then put into an optimization target which is set to be a minimum. The coefficients alpha and beta serve as optimization parameters. (Usually these coefficients are in a range of up to 1000 or at most 1500, so this can be taken as a range for the optimization parameters.)
The example can easily be modified to include different formulas for porosities as used by other CFD codes.Usable from release: KULI 10.1
Thermostat to control the mass flow through two different branches.
With the subsystem Thermostat it is possible to control the mass flows through two different branches. Over the temperature of the 1.PM fluid resistances are increased or decrease over 2D curves.
To adjust the behavior of the thermostat to your own thermostat the following parameters have to be adjusted:
Usable from release: KULI 9.1-0.01
This example shows how a simple steady states simulation for a steam circuit of a truck – using ethanol as working fluid – can be set up. It consists of the steam circuit itself (closed circuit), an exhaust gas circuit (as source of the heat) and an open water/glycol circuit which acts as heat sink (condenser). Two evaporators are used as heat sources – one in the EGR system and one in the main exhaust system.
The rankine circuit is – similar to the A/C circuit – a thermodynamic cycle. The principle works like this:
In a first step the feed pump provides the working fluid for the expansion device, whereby the steam valves are used for controlling this system. They can either set the exit temperature at the evaporator or a defined mass flow. In this example two valves are used: One for the exhaust gas recirculation path (EGR path) and one for the main exhaust gas path.
In a next step the evaporator transfers the energy from the hot exhaust gas to the fluid and changes the medium’s state from liquid to gaseous. This energy is converted in the expansion device (if not bypassed) to mechanical power and cooled down in the condenser (to guarantee a liquid state for the feed pump).Usable from release: KULI 10
This example shows how a simple steady states simulation for a steam circuit of a truck – using ethanol as working fluid – can be set up. It consists of the steam circuit itself (closed circuit), an exhaust gas circuit (as source of the heat) and an open water/glycol circuit which acts as heat sink (condenser).
The rankine circuit is – similar to the A/C circuit – a thermodynamic cycle. The principle works like this:
In a first step the feed pump provides the working fluid for the expansion device, whereby the steam valve is used for controlling this system. It can either set the exit temperature at the evaporator or a defined mass flow. In a next step the evaporator transfers the energy from the hot exhaust gas to the fluid and changes the medium’s state from liquid to gaseous. This energy is converted in the expansion device (if not bypassed) to mechanical power and cooled down in the condenser (to guarantee a liquid state for the feed pump).
Based on the 2 dimensional characteristic, a 3D profile can be created by rotating the symmetric profile around the central axis. Based on this Profile, the pressure distribution of the fan can be added to the cooling package. Due to the uneven flow distribution, the performance of the cooling system will be influenced.Usable from release: KULI 9.1-0.01