Thermal Simulation & Current Simulation (Physics)

Ribbon PCBI-Physics A PCB must not get too hot. By using the three-dimensional electric and thermal simulation field solver you predict board, trace and component temperatures under specified heating and cooling conditions. This is reducing the number of prototype trials and saves time in the design phase.



Components and currents heat up the PCB - but how hot will it get? Will you keep the temperature limits? How long will it take to get too hot? How will a mix of high and low load oscillate?

Neither power dissipation nor electrical current are reliable indicators for the expected temperature. Each printed circuit board is a special case with special losses, layer structure, conductor geometry and cooling environment. Not a single data sheet or internet calculator can tell you how high the expected temperature will be.

PCBI physics is not limited to a maximum number of layers, traces, holes or components. In the first calculation projects, some users will be surprised that their rooted ideas about the flow of electricity and heat won´t be reflected in the results. But you can be sure that the calculation is correct, if the entries and assumptions match. On closer inspection, the result can be explained and understood. Experience has shown that calculation and infrared measurement match very well in a flawless model structure. 

What is PCBI Physics?

PCBI physics is more than only a calculator. It is an electrical and thermal 3D field solver.

  • The electric field solver calculates the potential and voltage distribution in traces, planes and vias based on ampere in the detailed layout geometry. Voltage drop and resistance are a by-product.
  • As soon as the voltage distribution is available, the detailed spacial thermal power distribution in traces and layers is alsow known.
  • The thermal field solver adds the electrical power distribution in conductor paths, planes, vias and the thermal power loss (Watt) of components and calculates a detailed temperature field. The heat spreading in copper layers and FR4 is no longer an assumption, but a result.
  • Both solvers can be started either individually or together. The combination of heat and current predicts the track resistance in hot operating conditions.
  • The temperature field can also be solved time-dependent (transient). Either with fixed current and component heating or with different operating states. With only one operation you get a heating curve (when the final temperature becomes stable orwhen a component or a trace exceeds its critical temperature limit). If you use several operation states, you can calculate the temperature of a load profile. Each operation state defines certain networks and components and thus you simulate a load sequence.

Allthough current and temperature are based on similar physical descriptions and equations, the technical treatment and the required data are different. For example, voltage calculations require electrical material parameters, sinks and sources in the networks of interest. The electricity is confined to the traces of the board. Thermal calculations require the thermal conducitivity of the material and some information about how the heat is dissipated from the surface to the plate and how it is transported to the surrounding medium. This is the basic effect of surface cooling. But there is also a "volume cooling". The temperature depends on, how layers and prepregs shift the heat within the PCB volume, how thick an seperated they are, how tightly the heating tracks and components are packed and, where the heat can be transported. There are no hard and fast rules for predicting the right temperature. Therefore, a field simulation is indispensable.

Which data do you need?

For the electrical calculation, current or voltage values must be defined for respective networkds. As PCB-I knows all PCB details such as number and thickness of layers, trace shape, holes, nets and connections, you are free from any geometric input. All you have to do is to transfer the necessary electrical information from the schematics into a table with networks and pads.

The selection of components and nets for an operating state is very convenient. PCBI physics shows a graph of all involved networks, linked pads and components and automatically fills in current values from the point of current supply to the point of extract. Component losses can also be added here.

As mentioned above, heat must be extracted from the plate. If it is released from the surface into the ambient air, the mechanism will be controlled by the so-called heat transfer coefficient. A built-in wizard calculates this value. If heat is extracted by metallic parts (screws), the temperature of the bolt must be known. You can also assign the thermal resistance of a heat sink.

How fast is PCBI physics?

Field calculations are more complex than spreadsheets and require much more resources because the language of the field is partial differential equations. The results are not available in a flash and solving a 3D field takes computer time. For faster processing, physics is therefore not only developed for CPUs, but also for GPUs. With a good graphics card, the speed gain can be enormous. The results of free convection (also called "still air") on the laboratory bench can best be compared with high accuracy. 

Simulation Parameter - Project

This is the first tab of the simulation parameter dialog.

All simulation settings can be imported or exported from/to a xml file by using the “Import Setting” or “Export Setting”(1) button.

Project Settings (2):

Choose your own project name and descriptive text. They will appear in the result summary file and help to sort your calculation runs.

Standard Color Settings (3):

Pins with current sources or sinks as well as components with power dissipation will be drawn with a predefined color for better recognition. By clicking on the colored rectangles the color can be changed.

Tasks/Area (4):

  • Tasks: Choose one or both solvers: Voltage Drop/ Temperature

Simulation Parameter - Board

In the ‘Board’ Tab you can check and define the different materials per layer and the general layer stack-up parameters, especially layer heights.

Shape Material:

If the according layer has any CAD elements, the material for those elements can be selected here. Only electrically conductive materials are selectable from the list. For signal layers, “Copper PCBI” is typically the right material. Prepreg layers normally have no CAD elements (Pads, Arefills, Lines, …) on the layer, that’s why this field is hidden. In special cases, also Prepreg layers can contain e.g. a large pad element, which can represent e.g. an embedded copper coin inlay. If such a pad exists, the material for this copper coin inlay can be defined with this field. New materials must be defined in the “Material library” before they can be selected.

Space Material:

The material of empty space on each layer (=area where no CAD elements are) can be defined with this field. Only materials, which are not electrically conductive, are selectable. Typically this is “FR4PCBI”, but also some HighTG Material or even ceramics, glue or other isolation material can be used. New materials must be defined in the “Material library” before they can be selected.


The thickness and the electrically conductive material of the plated drill sleeves can be defined for each drill layer. Typically this is 25µm copper. In the simulation model the plating value reduces the end diameter of the hole, so a CAD hole with 300µm and 25µm plating results in a 250µm hole. In ODB++, drill pads can have a property “.drill” with the values “plated”, “non-plated” or “via”. By checking the box “Plug ‘VIA’s”, you can define that all “via” drills are completely filled with the selected electrically conductive material instead of using a conductive sleeve.

Edit Stackup and Heights/Distances:

PCBI Physics Board Matrix

The layer matrix is opened with this button to add additional layers, change layer heights or reorder the stack-up.

Conditions for a correct stack-up definition:

  1. Order of component, signal and prepreg layers must be correct.
  2. Type definitions for signal, component, prepreg and drill layers must be set correctly.
  3. Context must be “Board” for all those layers.
  4. Between two signal layers, at least one prepreg/dielectric layer must exist.
  5. Start- and End layer names must be correctly set for drill layers.
  6. Layer Height must be set for prepreg and copper layers.
  7. Outer copper layers must have a Plating value set.

Important: All other information like “via filling” or material definitions are not used in the simulation and must not be set here!

Simulation Parameter - Current

Within a net current must have sources and sinks. The “strength” of the sources must be equal to the “strength” of the sinks for each net. If not, the net is marked in red. With a correct netlist in your CAD data, there should be no red entry at the end. In seldom cases, some nets are shortened by e.g. star points. In those cases it is allowed to have e.g. a 2 Amperes source in GND_A and a 2 Amperes sink in GND_B (when GND_A and GND_B are electrically connected by a star point). Neverthess both nets will be marked in red and the user must be sure about the equality of source and sink strength for the whole net.

PCBI Physics Current

There are two ways for entering the current sources and sinks. Both ways generally show/define the same information, only in two different kinds.


By Net:

PCBI Physics Current by Net

First select one or more net(s) in the list on the left side. The list in the middle will be updated with all components, which are connected to this/these nets. Select the components, which act as current source or sink for this net and press the suitable button:

  • Add Source per Component (Auto): This option is grayed out.
  • Add Source per Pin (Auto): Each pin of this component which is connected to the selected net is defined as Voltage Source, that means it can bring any current strength into the net.
  • Add Source per Component (Fix): The entered current in amperes is equally split on all connected pins of this component (Current Source). That means if you e.g. select 1A for a component with 2 pins connected to the net, each pin will be defined as a 0,5A source.
  • Add Source per Pin (Fix): The entered current in amperes is defined for all connected pins of this component (Current Source). That means if you e.g. select 1A for a component with 2 pins connected to the net, each pin will be defined as a 1A source.
  • Add Sink per Component: The entered current in amperes is equally split on all connected pins of this component. That means if you e.g. select 1A for a component with 2 pins connected to the net, each pin will be defined as a 0,5A sink.
  • Add Sink per Pin: The entered current in amperes is defined for all connected pins of this component. That means if you e.g. select 1A for a component with 2 pins connected to the net, each pin will be defined as a 1A sink.

The pin will be added to the summary list on the right side(4)


By Component:

PCBI Physics Current by Component

Basically the same as “by Net”, but the starting point is a component and pin.

You can select a component and pin on the left side (1) as a voltage source or current source with a fix strength (amperes) and a component and pin on the right side (2) as current sink with a certain strength.

The list in the middle (3) gives an overview about the total strength of sources and sinks per net. As already described, the strengths should be equal, except for explicitly use of star-points or otherwise shorted nets.

In both ways there is the possibility to uncheck a single source/sink rather than to delete it from the list. Unchecked sources/sinks are not used in the simulation, but can easily be activated again for another simulation run without having to be completely newly defined. An application example is to define e.g. 10 current carrying nets, but simulate only e.g. 5 of them at a time.

Simulation Parameter - Components

Either in addition to the currents or without currents, you can enter the thermal power loss of components in Watts.

PCBI Physics Components

Select a reference designator (1), add a power and a component material and press +. (2) to add this component into the list of considered components in the simulation (3).

The component material normally is a non-conductive mixture material of plastic and metal. In the global material library we have predefined 3 different component materials, low, high and very high metal percentage. For components with a bottom heat slug we recommend “very high”. Of course you can define own materials, e.g. to simulate a printed component or a glued cermic part.

Components without power loss do not actively heat, but increase the board surface and by this is contributing to cooling.

We recommend to include all real components (without dummy components like test-points, star-points, …) into the simulation either with or without power loss, as they have a strong influence on the overall temperature due to their volume and material.

For all components considered in the simulation, the component height must be defined correctly.

The height can be changed/defined by clicking into the height cell of a component entry in the list on the right side (4).

By unchecking a component entry in the list on the right side, you can deactivate this component in the simulation without deleting it from the list (5).

IMPORTANT: The bodies of components considered in the simulation are not allowed to overlap or intersect each other! So please be careful with variants or large shielding components.

Heat Sink:

  1. If a heat sink is top-mounted on the component and if you have the correct thermal resistance at hand, then type the appropriate thermal resistance into the field (1):
    PCBI Physics Heat Sink
  2. If a catalogue value of a heat sink is available, which has the desired fin shape and separation, but does not match the size of the component, you have to transform the catalogue value using the heat sink calculator (2). The upper part is the desired heat sink geometry (1). The lower part defines the catalogue values (2). After having entered all values, click into any input field and the transformed Rth is displayed. Accept is transferring the result to the component table (3).
    PCBI Physics Heat Sink Calculator

Simulation Parameter - Environment

To achieve a thermal equilibrium, the board has to be cooled. A good cooling environment (e.g. when strong fans are present) will lead to a low temperature and suppressed cooling (e.g. in an enclosure) to a high temperature (at same power).

PCBI Physics Environment

Ambient temperature (1):

The air temperature in vicinity of top and bottom side.

Heat exchange (2):

One way to simulate cooling is to perform a hydrodynamic flow field calculation, which is by far too time consuming and not appropriate for our purpose. PCB-I uses an approach known from mechanical engineering. The quantity, which can parameterize the heat flux to the ambient, is called heat transfer coefficient h (W/(m²K)). The larger h, the more effective heat can flow to the ambient. h is not a material property! PCBI-Physics uses a total value h, which is the sum of convective and radiative contribution.

Heat exchange calculator (3):

A standard value for h is between 10 to 12 W/m2K. But h depends on power, the board size, the board orientation and the ambient air temperature. The calculator gives a good estimate working in most situations.

PCBI Physics Environment Heat Exchange Calculator

In this example, read the value of 15 W/m²K, then close the calculator and transfer “15” manually to the heat exchange input field.

Supposed operating temperature (4):

The electric resistance of copper traces depends on temperature. It is already defined in the material library. The higher the temperature, the resistance and the electric heating (“Joule heat”). You can think of 3 use cases depending on what you want to know from the simulation.

  1. You want to know the “cold” resistance of the traces at room temperature? Then enter a uniform value of 25 °C.
  2. You want to include trace heating in a new temperature simulation? Then enter an estimate of the expected uniform mean temperature. You could take the estimated plate temperature value from the heat exchange calculator or any other reasonable value.
  3. You want to use the local temperature for the material property? First calculate a precursor like described in 2. or do it with component heating only. Then select the temperature map of the precursor run. Board size, layer stack and raster must not be changed. The pinpoint temperature is used to define the electric property. In this way the physical material properties at each location and layer of the board are adjusted to the prevailing temperature at this location. This gives the most exact simulation result, especially the voltage drop simulation is influenced by this.

Simulation Parameter - Simulate

PCBI Physics Simulation

Raster (1):

The solution requires a large set of nodes inside the PCB volume. Define the spacing in x-y-directions. Standard means a spacing of 0.2 mm, fine 0.1 mm and very fine 0.075 mm.

Especially current-carrying traces (only those) need to have at least one, better two, nodes across width. For example the thinnest trace of interest is 0.2 mm wide, then choose at least a raster of 0.15 mm. better take 0.1 mm: The finer the raster, the more computational work. The vertical spacing is defined by the layer stack-up.

The button (2) helps to determine the right raster size by checking all distances between current carrying nets and their minimum trace widths. If nets are too close together or too thin for the chosen raster, this is reported.

Accuracy (3):

The solution of the fields is done with iterative algorithms, starting from zero and ending at a “converged” final state. The decision when to terminate the iterations is controlled by this flag. Standard is stopping the iterations at a relative residual of 0.1%, extreme stops at 0.01%.

Only experience can tell what to take best. Boards having a small number of nodes (either small by geometry or by coarse raster) could need extreme, because they tend to stop too early. Huge number of nodes could be done with standard. In fact, there is a case specific intimate relation between numerical work and how easy physics boundary conditions and geometry allow for an equilibrium.

Net data (4):

It is recommended to check rely on net information.

The electric solver is setting nodes only into the nets with Ampere values. This saves resources and allows a secure treatment.

Solver (5):

In most cases calculations run much faster on graphic cards (GPU) than they do on the universal processor (CPU) (from our experience up to 10x faster). But that depends strongly on hardware properties. GPU is only available for recent Nvidia graphic cards with at least CUDA 5.x support. The graphic card should also have at least 2 GB of RAM, better would be 4 or 8 GB.

Start (6):

Launches the simulations.

Simulation Parameter - Material Library

The required material data concern thermal and electric resistivity for steady-state calculations plus specific heat capacity and mass density for time-dependent calculations.

Except density, the properties can be set temperature dependent, but is not demanded. If values are given for “Temperature 1” only, the values are temperature independent. If values are given for two different temperatures, they define an infinite straight line. The “supposed operating temperature” action will take use of it.

Because of the contributions of woven glass and epoxy resin to board base material, the “FR4” thermal conductivity is said to be “orthotropic”. x-,y- and z-directions can have different values. EMV requirements may need denser or lesser dense woven glass and by this influence the conductivity. Ask your provider about experimental values. For “isotropic” materials just type the value twice.

PCBI Physics Material Library

Local design Materials (1): The subset of materials used or available in this board calculation. These material properties are also stored in the project depending simulation setting xml file and can be therefore exchanged with other team members without influencing the global library.

Global Design Materials (2): This is the list of available materials in the global, design independent library.

By using the arrow buttons (3) in the middle of the dialog, materials can be copied between the two libraries.

With the import/export buttons (4) you can export selected materials into a xml file and import it again (on another computer for example).

With the buttons “Add”, “Edit” or “Delete” (5) you can create new materials, edit the material properties or remove a material from the lists. Materials ending with “PCBI” can not be changed or removed.

Density (1): This parameter is not used yet in the simulation, as the temperature variations of density can be ignored.

Thermal conductivity (2): Enter data at least for 1 temperature point.

Electric resistivity (3): If the material is an insulator (dielectric), don´t to anything. Else check and give a value at least for Temperature 1. Note the physical unit. You can also uncheck “Electrically Conductive”, e.g. aluminum to simulate the right thermal behavior without having to take care about possible short circuits when using Aluminum layers or inlays.

Specific Heat Capacity (4): Give a value at least for Temperature 1. Note the physical unit. (These parameters are not used yet in the simulation).

PCBI Physics Material Editor

Simulation Status

While iterations are running, the convergence is displayed. The blue line is so-called residuum. The iterations are terminated, when the value has dropped to about 0.1% of the initial value or 0.01%, resp..

The electric calculation:

PCBI Physics Simulation Status Current Calculation

The thermal calculation has an additional red line for the maximum temperature. The red line should be flat for the last few iterations while the blue line is dropping.

PCBI Physics Simulation Status Thermal Calculation

Cancel calculation:

Although it is not recommended the user cancels production runs, each calculation can be canceled at any time, in this way the simulation state at this moment is accepted as end result.

It is recommended to cancel in case of divergence or unrealistic temperature. Then inspect the settings and search for erroneous input (e.g. uneven current sources/sinks).

Result Viewer - Overlay

Results: The field solvers calculate values for each node point according to raster and layer stack. Base variables are electric potential and temperature. Derived values are current density (vector field), resistance, electric flux and heat flux. The results are accessible by “overlay” plotting on the artwork or in tabular form.


The “Result Viewer” opens automatically when the solution is finished or cancelled.

The last simulation result is automatically loaded, but it is also possible to load former results or import/export results from/to any location.

Default background display is the artwork. Results are additional “overlay data”.

Layer (1):

Activate the layer or prepreg for which you want to see the results. When activating one layer, all other layers are deactivated to keep the clearness. If you really want to display more then one layer including its overlay at the same time, please activate the layers in the normal layer list of PCB-Investigator.

Overlay data (2):

Temperature (°C)

PCBI Physics Overlay Data Temperature


Current density (A/mm²)

PCBI Physics Overlay Current Density


Electric potential (V)

PCBI Physics Overlay Electric Potential


Value range (3):

By default the overall minimum/maximum values are set. Small red markers show the minimum/maximum values on this layer. You can set minimum and maximum value you want to see in the overlay, e.g. only everything which is hotter than 50°C.

Color range (4):

The range of colors ,which should be used for the selected value range. You can also right click on this slider and then define any value range you want to have.

This makes especially sense when comparing two results, e.g.:

  • First result has a temperature from 20°C to 90°C.
  • Second result has a temperature from 20°C to 110°C.

By default, red is at 90°C in the first result, and red is at 110°C in second result. But when you define a fix value range from 20°C to 110°C in both cases, colors become comparable, as e.g. yellow will be 70°C in both cases.

Opacity (5):

Saturation of the overlay plot. When defining 100%, the overlay for voltage drop and current density will not be mapped on copper areas only, but will show the real simulated area. There might be a slight mismatch to the CAD copper artwork due to the used raster.

Show Current Flow/ Animation (6):

  • On: arrows indicate the flow direction of current. Always from voltage state high to low. Zooming-in is increasing the number of arrows.
    PCBI Physics Simulation Current Flow
  • Animated: the size of arrows and the speed of animation increases with current density.
    PCBI Physics Simulation Current Flow Arrows

Select affected Net (7):

Select a net or use the mouse wheel to scroll through all nets. The opacity is reduced for all other nets.

Overlay only selected Objects (8):

The overlay is only shown above selected elements/nets, in this way a certain net can be better reviewed.

Result Viewer - Report

PCBI Physics Result Viewer Report

In the report tab, the different simulation parameters and results are shown in following lists (1):

  • Components: Power input und temperature.
  • Pins: Current input, final current and potential.
  • Nets: Min./max. Values of current density and potential, electric resistance, balance and Joule power loss.
  • Drills: Min./max. Values of current density and potential.


Create HTML Report

PCBI Physics Create HTML Report

Creates an interactive standalone .html file with all input data, all result data and all plots. The file can be browsed either off-line or distributed by email to team members or customers.

Result Viewer - Notes

PCBI Physics Result Viewer Notes

In this tab you can add notes to any location and layer. Notes can contain the overlay value (e.g. 50°C), information about source/sinks or any user defined text. The size and color of each note can be defined by clicking in the corresponding cell in the list. Existing notes can be moved by using Drag & Drop.

  1. Adds a new note by clicking into the drawing area of PCB-Investigator.
  2. Delete the selected note(s).
  3. Saves the current list of notes for this simulation result.
  4. Automatically creates a note for each current source/sink or component with power dissipation.
  5. Imports or exports a list of notes from/to a xml file.

Result Viewer - Parameter

PCBI Physics Result Viewer Parameter

A quick view of basic model parameters used in this simulation.

Video Tutorials

Watch our PCB-Investigator Physics Videos here:

Tutorial 1: How to use PCB Investigator Physics:


Tutorial 2: Improve thermal behaviour by using different materials:


Tutorial 3: Improve thermal behaviour by optimizing the copper structure of your layout and adding thermal vias:


Tutorial 4: Improve thermal behaviour by adding a Heat Sink to a component with high power dissipation:


Tutorial 5: Improve thermal behaviour by adding an Insulated Metal Substrate (IMS / Aluminum Plate) to the bottom side of the PCB: