firemodels / fds

Fire Dynamics Simulator
https://pages.nist.gov/fds-smv/
Other
650 stars 618 forks source link

Lining materials between adjacent HT3D OBST #13123

Closed johodges closed 2 months ago

johodges commented 3 months ago

Is your feature request related to a problem? Please describe. We are working on an engineering approach to modeling thermal runaway in batteries. I am working on a proof-of-concept model in FDS to see what issues we will run into if we try and do the whole analysis in FDS rather than coupling with other software. The issue I am running into currently is modeling adjacent battery cells using HT3D. Researchers have shown that the thermal conductivity of the shell of cell can be orders of magnitude different than the effective conductivity of the inside of the components. We can capture this behavior in HT3D if we separate the lining and inside material into separate HT3D OBST that are adjacent. However, this requires that we use a fine mesh to resolve the lining.

The current implementation of HT3D allows for the user to specify a thin lining material surrounding the OBST which does not require the gas phase mesh to resolve the lining thickness. However, the current implementation does not apply the lining to each OBST, rather to the outside of the combined set of OBST. The figure below shows the PROF temperature through the OBST in three different configurations. The 1-D case has each layer of cell inside and outside explicitly defined with its own thickness. The 3-D "slim" case defines each cell outside and inside as its own HT3D solid. The 3-D "thick" case defines each cell as a separate HT3D solid with a lining SURF thickness. You can see that the 3-D "thick" case does not reproduce the expected stair-step behavior between cells due to the low thermal conductivity of the lining; whereas, the 3-D "slim" case does.

Note I would not expect the magnitude of the temperature gradient front to back of the full stack in the 1-D and 3-D "slim" cases to agree since much of the energy is transferred laterally in the 3-D case.

Describe the solution you'd like Could we allow the thin lining material functionality to be applied to adjacent HT3D objects? That should result in the 3-D "slim" and 3-D "thick" cases having nominally similar temperature profiles while allowing a more moderate grid resolution.

Additional context

I have provided the three FDS input files as well as python script to generate the plot.

image cell_ht3d.zip

mcgratta commented 3 months ago

Can you draw a picture of the solid cross section.

johodges commented 3 months ago

Green is the low thermal conductivity shell, cyan is the high thermal conductivity elements inside. One layer of 0.16 mm shell around each battery which results in two layers between the batteries when they are in contact.

image

mcgratta commented 3 months ago

This is beyond the current capability. There is no mechanism to distribute the heat within the this plates in the lateral direction. The thin plate at the surface is an essentially 1-D heat penetration, and the lateral distribution is spread over an entire gas phase gird celll.

johodges commented 3 months ago

I took a first cut at an implementation of this. On the branch linked below, OBST which are assigned to the same HT3D group but have a different MATL will have the lining material added between the two MATL. The subgrid lining layers are still 1-D HT layers, but the OBST layers of each MATL are HT3D layers.

In my case with the batteries, I assigned 2 copies of the same MATL to alternating batteries with the same properties. As a result we get two subgrid 1-D layers between the 3-D layers. We still see some lateral diffusion between each of the HT3D layers. The example case applies the EXTERNAL_FLUX to only one corner of the bottom battery. The image on the left shows the temperature distribution with the 1-D heat transfer model, the center the HT3D with my updated implementation, and the image on the right shows the "slim" configuration from before where I have set the z-axis grid to be 0.00015m to resolve the thickness of the lining layer in the previous implementation. The PROF through the surface shows the low conductivity layers are reducing the HT through the surface as expected (shown at t=200 s instead of 600 s since the "slim" case is still running").

The branch is still a work in progress, but it should give you an idea of what I was thinking:

https://github.com/johodges/fds/tree/ht3d

image

image

cell_ht3d_v2.zip

mcgratta commented 2 months ago

Try this. I haven't checked all the dimensions, but this may do what we want:

&HEAD CHID='larson', TITLE='Cell modules without insulation'/

&TIME T_END=600.0, /
&DUMP DT_PROF=0.1, /
&MISC SOLID_PHASE_ONLY=T /

&MESH IJK=50,50,30, XB=-0.025,0.025,-0.025,0.025,-0.005,0.025 /

&MATL ID='CELL-INSIDE', CONDUCTIVITY=21., EMISSIVITY=0.9, SPECIFIC_HEAT= 1.1, DENSITY=1965., /
&MATL ID='CELL-OUTSIDE', CONDUCTIVITY=0.22, EMISSIVITY=0.9,SPECIFIC_HEAT= 1.1, DENSITY=1965./

&SURF ID='1-CELL', HT3D=T, MATL_ID='CELL-OUTSIDE', THICKNESS=0.00016, RGB=160,252,255, /

&SURF ID='5-CELL', HT3D=T, MATL_ID='CELL-OUTSIDE','CELL-INSIDE','CELL-OUTSIDE','CELL-INSIDE','CELL-OUTSIDE','CELL-INSIDE',
      THICKNESS=0.00016,0.00418,0.00032,0.00418,0.00032,0.00209, RGB=160,252,255, /

&SURF ID='5-CELL-HOT', HT3D=T, EXTERNAL_FLUX=100, MATL_ID='CELL-OUTSIDE','CELL-INSIDE','CELL-OUTSIDE','CELL-INSIDE','CELL-OUTSIDE','CELL-INSIDE', THICKNESS=0.00016,0.00418,0.00032,0.00418,0.00032,0.00209, COLOR='RED' /

&OBST ID='CELL', MATL_ID='CELL-INSIDE', XB=-0.02,0.02,-0.02,0.02,0.0,0.0225, SURF_IDS='5-CELL','1-CELL','5-CELL', CELL_SIZE=0.001 /
&VENT ID='CELL-HOT', XB=-0.02,0.0,-0.02,0.0,0.0,0.0, SURF_ID='5-CELL-HOT' /
&PROF ID='Temp', XYZ=-0.01,-0.01,0.0, IOR=-3, QUANTITY='INSIDE WALL TEMPERATURE',  /
&BNDF QUANTITY='WALL TEMPERATURE', CELL_CENTERED=T /
&SLCF PBY=-0.01, QUANTITY='TEMPERATURE', CELL_CENTERED=T /
&TAIL /
johodges commented 2 months ago

Thanks, that looks like it is working and is a lot simpler than what I was thinking. I think we can close out this issue without any changes to the source code. It might be worth adding a bit of discussion on the topic in the user guide, but that could also wait until I finalize the case I am working on to provide a concrete example.

mcgratta commented 2 months ago

Check all my dimensions. I didn't focus on that.