How to convert the result into boundary conditions

Hello everyone, I am solving a coupled heat transfer problem between two concentric circular rings (solid-gas-solid). For the gas part, I am using the heat transfer equation: q=h(T1-T2), where h and T2 (the inner side temperature of the outer ring) are known. Currently, I have used the following code to solve the heat flux field of the outer ring (physical index 15). I want to substitute the absolute value of the heat flux q on the inner boundary of the outer ring into the heat transfer equation to obtain T1 (the temperature distribution on the outer side of the inner ring) and use it as the Dirichlet boundary condition for the inner ring. How should I proceed?

Q = VectorFunctionSpace(mesh, ‘P’, 1)
w = TrialFunction(Q)
v = TestFunction(Q)
aQ = inner(w, v)dx(15)
LQ = inner(-lambda_m
grad(Delta_T), v)*dx(15)
flux = Function(Q)
solve(aQ == LQ, flux)
plot(flux, title=“q field”)
plt.show()

Dear @French_fries. Please create a reproducible example. Your code is far from reproducible.
For your problem, I would probably use tools such as MeshView (Abstractions and Automated Algorithms for Mixed Domain Finite Element Methods | ACM Transactions on Mathematical Software, cdaversin (Cécile Daversin-Catty) · GitHub, GitHub - cdaversin/mixed-dimensional-examples: Code to reproduce numerical examples presented in "Abstractions and automated algorithms for mixed-dimensional finite element methods" (2019)), or multiphenics (GitHub - multiphenics/multiphenics: multiphenics - easy prototyping of multiphysics problems in FEniCS).

If you want to do this in another way, you need to assemble the matrices prior to solving, using ident_zeros as you are solving on a subset of the cells (and degrees of freedom), see for instance: Obtain velocity normal to boundary - #2 by dokken

or the minimal reproducible example below:

import dolfin

mesh = dolfin.UnitSquareMesh(10, 10)

V = dolfin.FunctionSpace(mesh, "Lagrange", 1)
uh = dolfin.Function(V)
uh.rename("uh", "")


class OneSide(dolfin.SubDomain):
    def inside(self, x, on_boundary):
        return x[0] <= 0.5+1e2*dolfin.DOLFIN_EPS


cf = dolfin.MeshFunction("size_t", mesh, mesh.topology().dim(), 0)
OneSide().mark(cf, 1)

u = dolfin.TrialFunction(V)
v = dolfin.TestFunction(V)
dx1 = dolfin.dx(domain=mesh,
                subdomain_data=cf, subdomain_id=1)
a = dolfin.inner(u, v)*dx1
x = dolfin.SpatialCoordinate(mesh)
L = dolfin.inner(x[0], v)*dx1
A = dolfin.assemble(a, keep_diagonal=True)
b = dolfin.assemble(L)
A.ident_zeros()
dolfin.solve(A, uh.vector(), b)


class InterFace(dolfin.SubDomain):
    def inside(self, x, on_boundary):
        return dolfin.near(x[0], 0.5)


mf = dolfin.MeshFunction("size_t", mesh, mesh.topology().dim()-1, 0)
InterFace().mark(mf, 1)


v = dolfin.Function(V)
v.rename("v", "")
bc = dolfin.DirichletBC(V, uh, mf, 1)
bc.apply(v.vector())

with dolfin.XDMFFile(mesh.mpi_comm(), "functions.xdmf") as xdmf:
    xdmf.write(uh, 0.0)
    xdmf.write(v, 0.0)

Thank you for your prompt response! Here are all my unfinished codes and grid files.

from dolfin import *

mesh = Mesh('test.xml')
boundary = MeshFunction("size_t", mesh, "test_facet_region.xml")
subdomains = MeshFunction("size_t", mesh, "test_physical_region.xml")

VT = FunctionSpace(mesh, "CG", 1)
T_ = TestFunction(VT)
dT = TrialFunction(VT)
Delta_T = Function(VT, name="Temperature increase")
ds = Measure('ds', domain=mesh, subdomain_data=boundary)
dx = Measure('dx', domain=mesh, subdomain_data=subdomains)

lambda_m = 0.0214
aT = dot(lambda_m * grad(dT), grad(T_)) * dx(22)
LT = Constant(0) * T_ * dx(22)
bcT = [DirichletBC(VT, Constant(950.15), boundary, 20),
       DirichletBC(VT, Constant(1000), boundary, 19)]
solve(aT == LT, Delta_T, bcT)

submesh_m_T = SubMesh(mesh, subdomains, 22)
VT_m = FunctionSpace(submesh_m_T, 'P', 1)
Delta_T_m = interpolate(Delta_T, VT_m)

Q = VectorFunctionSpace(mesh, 'P', 1)
w = TrialFunction(Q)
v = TestFunction(Q)
aQ = inner(w, v)*dx(22)
LQ = inner(-lambda_m*grad(Delta_T), v)*dx(22)
flux = Function(Q)
solve(aQ == LQ, flux)

I have created a simple grid example, here is the XML file:
test.xml:

<?xml version="1.0" encoding="UTF-8"?>

<dolfin xmlns:dolfin="http://www.fenicsproject.org">
  <mesh celltype="triangle" dim="2">
    <vertices size="84">
      <vertex index="0" x="-1.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="1" x="0.0000000000000000e+00" y="1.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="2" x="1.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="3" x="0.0000000000000000e+00" y="-1.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="4" x="-2.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="5" x="0.0000000000000000e+00" y="2.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="6" x="2.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="7" x="0.0000000000000000e+00" y="-2.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="8" x="-3.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="9" x="0.0000000000000000e+00" y="3.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="10" x="3.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="11" x="0.0000000000000000e+00" y="-3.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="12" x="-4.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="13" x="0.0000000000000000e+00" y="4.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="14" x="4.0000000000000000e+00" y="0.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="15" x="0.0000000000000000e+00" y="-4.0000000000000000e+00" z="0.0000000000000000e+00"/>
      <vertex index="16" x="-7.0710678118654768e-01" y="7.0710678118654746e-01" z="0.0000000000000000e+00"/>
      <vertex index="17" x="7.0710678118654735e-01" y="7.0710678118654768e-01" z="0.0000000000000000e+00"/>
      <vertex index="18" x="7.0710678118654757e-01" y="-7.0710678118654746e-01" z="0.0000000000000000e+00"/>
      <vertex index="19" x="-7.0710678118654746e-01" y="-7.0710678118654757e-01" z="0.0000000000000000e+00"/>
      <vertex index="20" x="-1.8477590650225739e+00" y="7.6536686473017934e-01" z="0.0000000000000000e+00"/>
      <vertex index="21" x="-1.4142135623730949e+00" y="1.4142135623730949e+00" z="0.0000000000000000e+00"/>
      <vertex index="22" x="-7.6536686473018067e-01" y="1.8477590650225730e+00" z="0.0000000000000000e+00"/>
      <vertex index="23" x="7.6536686473018001e-01" y="1.8477590650225730e+00" z="0.0000000000000000e+00"/>
      <vertex index="24" x="1.4142135623730949e+00" y="1.4142135623730949e+00" z="0.0000000000000000e+00"/>
      <vertex index="25" x="1.8477590650225730e+00" y="7.6536686473018078e-01" z="0.0000000000000000e+00"/>
      <vertex index="26" x="1.8477590650225730e+00" y="-7.6536686473017956e-01" z="0.0000000000000000e+00"/>
      <vertex index="27" x="1.4142135623730949e+00" y="-1.4142135623730949e+00" z="0.0000000000000000e+00"/>
      <vertex index="28" x="7.6536686473017967e-01" y="-1.8477590650225730e+00" z="0.0000000000000000e+00"/>
      <vertex index="29" x="-7.6536686473017945e-01" y="-1.8477590650225730e+00" z="0.0000000000000000e+00"/>
      <vertex index="30" x="-1.4142135623730949e+00" y="-1.4142135623730949e+00" z="0.0000000000000000e+00"/>
      <vertex index="31" x="-1.8477590650225730e+00" y="-7.6536686473017979e-01" z="0.0000000000000000e+00"/>
      <vertex index="32" x="-2.8531695488854609e+00" y="9.2705098312484191e-01" z="0.0000000000000000e+00"/>
      <vertex index="33" x="-2.4270509831248428e+00" y="1.7633557568774190e+00" z="0.0000000000000000e+00"/>
      <vertex index="34" x="-1.7633557568774201e+00" y="2.4270509831248419e+00" z="0.0000000000000000e+00"/>
      <vertex index="35" x="-9.2705098312484269e-01" y="2.8531695488854600e+00" z="0.0000000000000000e+00"/>
      <vertex index="36" x="9.2705098312484169e-01" y="2.8531695488854609e+00" z="0.0000000000000000e+00"/>
      <vertex index="37" x="1.7633557568774190e+00" y="2.4270509831248428e+00" z="0.0000000000000000e+00"/>
      <vertex index="38" x="2.4270509831248419e+00" y="1.7633557568774201e+00" z="0.0000000000000000e+00"/>
      <vertex index="39" x="2.8531695488854600e+00" y="9.2705098312484302e-01" z="0.0000000000000000e+00"/>
      <vertex index="40" x="2.8531695488854600e+00" y="-9.2705098312484324e-01" z="0.0000000000000000e+00"/>
      <vertex index="41" x="2.4270509831248410e+00" y="-1.7633557568774210e+00" z="0.0000000000000000e+00"/>
      <vertex index="42" x="1.7633557568774181e+00" y="-2.4270509831248441e+00" z="0.0000000000000000e+00"/>
      <vertex index="43" x="9.2705098312483991e-01" y="-2.8531695488854618e+00" z="0.0000000000000000e+00"/>
      <vertex index="44" x="-9.2705098312484269e-01" y="-2.8531695488854600e+00" z="0.0000000000000000e+00"/>
      <vertex index="45" x="-1.7633557568774210e+00" y="-2.4270509831248410e+00" z="0.0000000000000000e+00"/>
      <vertex index="46" x="-2.4270509831248428e+00" y="-1.7633557568774181e+00" z="0.0000000000000000e+00"/>
      <vertex index="47" x="-2.8531695488854618e+00" y="-9.2705098312484002e-01" z="0.0000000000000000e+00"/>
      <vertex index="48" x="-3.8997116487272940e+00" y="8.9008373582525713e-01" z="0.0000000000000000e+00"/>
      <vertex index="49" x="-3.6038754716096770e+00" y="1.7355349564702320e+00" z="0.0000000000000000e+00"/>
      <vertex index="50" x="-3.1273259298721201e+00" y="2.4939592074349330e+00" z="0.0000000000000000e+00"/>
      <vertex index="51" x="-2.4939592074349348e+00" y="3.1273259298721192e+00" z="0.0000000000000000e+00"/>
      <vertex index="52" x="-1.7355349564702329e+00" y="3.6038754716096761e+00" z="0.0000000000000000e+00"/>
      <vertex index="53" x="-8.9008373582525835e-01" y="3.8997116487272940e+00" z="0.0000000000000000e+00"/>
      <vertex index="54" x="8.9008373582525691e-01" y="3.8997116487272940e+00" z="0.0000000000000000e+00"/>
      <vertex index="55" x="1.7355349564702320e+00" y="3.6038754716096770e+00" z="0.0000000000000000e+00"/>
      <vertex index="56" x="2.4939592074349330e+00" y="3.1273259298721201e+00" z="0.0000000000000000e+00"/>
      <vertex index="57" x="3.1273259298721192e+00" y="2.4939592074349348e+00" z="0.0000000000000000e+00"/>
      <vertex index="58" x="3.6038754716096761e+00" y="1.7355349564702329e+00" z="0.0000000000000000e+00"/>
      <vertex index="59" x="3.8997116487272940e+00" y="8.9008373582525857e-01" z="0.0000000000000000e+00"/>
      <vertex index="60" x="3.8997116487272940e+00" y="-8.9008373582525757e-01" z="0.0000000000000000e+00"/>
      <vertex index="61" x="3.6038754716096770e+00" y="-1.7355349564702320e+00" z="0.0000000000000000e+00"/>
      <vertex index="62" x="3.1273259298721192e+00" y="-2.4939592074349339e+00" z="0.0000000000000000e+00"/>
      <vertex index="63" x="2.4939592074349339e+00" y="-3.1273259298721192e+00" z="0.0000000000000000e+00"/>
      <vertex index="64" x="1.7355349564702329e+00" y="-3.6038754716096770e+00" z="0.0000000000000000e+00"/>
      <vertex index="65" x="8.9008373582525779e-01" y="-3.8997116487272940e+00" z="0.0000000000000000e+00"/>
      <vertex index="66" x="-8.9008373582525735e-01" y="-3.8997116487272940e+00" z="0.0000000000000000e+00"/>
      <vertex index="67" x="-1.7355349564702320e+00" y="-3.6038754716096770e+00" z="0.0000000000000000e+00"/>
      <vertex index="68" x="-2.4939592074349339e+00" y="-3.1273259298721201e+00" z="0.0000000000000000e+00"/>
      <vertex index="69" x="-3.1273259298721192e+00" y="-2.4939592074349339e+00" z="0.0000000000000000e+00"/>
      <vertex index="70" x="-3.6038754716096761e+00" y="-1.7355349564702329e+00" z="0.0000000000000000e+00"/>
      <vertex index="71" x="-3.8997116487272940e+00" y="-8.9008373582525802e-01" z="0.0000000000000000e+00"/>
      <vertex index="72" x="-5.4942547073534298e-01" y="1.3264304229624859e+00" z="0.0000000000000000e+00"/>
      <vertex index="73" x="1.3264304229624859e+00" y="5.4942547073534276e-01" z="0.0000000000000000e+00"/>
      <vertex index="74" x="-1.3264304229624859e+00" y="5.4942547073534231e-01" z="0.0000000000000000e+00"/>
      <vertex index="75" x="5.4942547073534231e-01" y="1.3264304229624859e+00" z="0.0000000000000000e+00"/>
      <vertex index="76" x="-1.3264304229624859e+00" y="-5.4942547073534265e-01" z="0.0000000000000000e+00"/>
      <vertex index="77" x="1.3264304229624859e+00" y="-5.4942547073534231e-01" z="0.0000000000000000e+00"/>
      <vertex index="78" x="5.4942547073534265e-01" y="-1.3264304229624859e+00" z="0.0000000000000000e+00"/>
      <vertex index="79" x="-5.4942547073534254e-01" y="-1.3264304229624859e+00" z="0.0000000000000000e+00"/>
      <vertex index="80" x="-2.4460499275078971e+00" y="2.4460499275078962e+00" z="0.0000000000000000e+00"/>
      <vertex index="81" x="2.4460499275078962e+00" y="2.4460499275078971e+00" z="0.0000000000000000e+00"/>
      <vertex index="82" x="2.4460499275078962e+00" y="-2.4460499275078962e+00" z="0.0000000000000000e+00"/>
      <vertex index="83" x="-2.4460499275078962e+00" y="-2.4460499275078971e+00" z="0.0000000000000000e+00"/>
    </vertices>
    <cells size="96">
      <triangle index="0" v0="24" v1="73" v2="17"/>
      <triangle index="1" v0="21" v1="72" v2="16"/>
      <triangle index="2" v0="16" v1="74" v2="21"/>
      <triangle index="3" v0="17" v1="75" v2="24"/>
      <triangle index="4" v0="4" v1="74" v2="0"/>
      <triangle index="5" v0="0" v1="76" v2="4"/>
      <triangle index="6" v0="2" v1="73" v2="6"/>
      <triangle index="7" v0="1" v1="72" v2="5"/>
      <triangle index="8" v0="18" v1="77" v2="27"/>
      <triangle index="9" v0="5" v1="75" v2="1"/>
      <triangle index="10" v0="6" v1="77" v2="2"/>
      <triangle index="11" v0="3" v1="78" v2="7"/>
      <triangle index="12" v0="7" v1="79" v2="3"/>
      <triangle index="13" v0="27" v1="78" v2="18"/>
      <triangle index="14" v0="30" v1="76" v2="19"/>
      <triangle index="15" v0="19" v1="79" v2="30"/>
      <triangle index="16" v0="6" v1="73" v2="25"/>
      <triangle index="17" v0="5" v1="72" v2="22"/>
      <triangle index="18" v0="22" v1="72" v2="21"/>
      <triangle index="19" v0="20" v1="74" v2="4"/>
      <triangle index="20" v0="4" v1="76" v2="31"/>
      <triangle index="21" v0="7" v1="78" v2="28"/>
      <triangle index="22" v0="25" v1="73" v2="24"/>
      <triangle index="23" v0="23" v1="75" v2="5"/>
      <triangle index="24" v0="24" v1="75" v2="23"/>
      <triangle index="25" v0="27" v1="77" v2="26"/>
      <triangle index="26" v0="26" v1="77" v2="6"/>
      <triangle index="27" v0="21" v1="74" v2="20"/>
      <triangle index="28" v0="29" v1="79" v2="7"/>
      <triangle index="29" v0="28" v1="78" v2="27"/>
      <triangle index="30" v0="31" v1="76" v2="30"/>
      <triangle index="31" v0="30" v1="79" v2="29"/>
      <triangle index="32" v0="16" v1="72" v2="1"/>
      <triangle index="33" v0="17" v1="73" v2="2"/>
      <triangle index="34" v0="18" v1="78" v2="3"/>
      <triangle index="35" v0="3" v1="79" v2="19"/>
      <triangle index="36" v0="19" v1="76" v2="0"/>
      <triangle index="37" v0="1" v1="75" v2="17"/>
      <triangle index="38" v0="0" v1="74" v2="16"/>
      <triangle index="39" v0="2" v1="77" v2="18"/>
      <triangle index="40" v0="65" v1="15" v2="11"/>
      <triangle index="41" v0="11" v1="15" v2="66"/>
      <triangle index="42" v0="8" v1="71" v2="12"/>
      <triangle index="43" v0="8" v1="12" v2="48"/>
      <triangle index="44" v0="13" v1="9" v2="53"/>
      <triangle index="45" v0="54" v1="9" v2="13"/>
      <triangle index="46" v0="59" v1="14" v2="10"/>
      <triangle index="47" v0="10" v1="14" v2="60"/>
      <triangle index="48" v0="8" v1="47" v2="71"/>
      <triangle index="49" v0="11" v1="43" v2="65"/>
      <triangle index="50" v0="66" v1="44" v2="11"/>
      <triangle index="51" v0="54" v1="36" v2="9"/>
      <triangle index="52" v0="48" v1="32" v2="8"/>
      <triangle index="53" v0="40" v1="10" v2="60"/>
      <triangle index="54" v0="9" v1="35" v2="53"/>
      <triangle index="55" v0="59" v1="10" v2="39"/>
      <triangle index="56" v0="70" v1="47" v2="46"/>
      <triangle index="57" v0="64" v1="43" v2="42"/>
      <triangle index="58" v0="39" v1="38" v2="58"/>
      <triangle index="59" v0="67" v1="45" v2="44"/>
      <triangle index="60" v0="33" v1="32" v2="49"/>
      <triangle index="61" v0="35" v1="34" v2="52"/>
      <triangle index="62" v0="37" v1="36" v2="55"/>
      <triangle index="63" v0="61" v1="41" v2="40"/>
      <triangle index="64" v0="68" v1="45" v2="67"/>
      <triangle index="65" v0="58" v1="38" v2="57"/>
      <triangle index="66" v0="52" v1="34" v2="51"/>
      <triangle index="67" v0="62" v1="41" v2="61"/>
      <triangle index="68" v0="50" v1="33" v2="49"/>
      <triangle index="69" v0="56" v1="37" v2="55"/>
      <triangle index="70" v0="64" v1="42" v2="63"/>
      <triangle index="71" v0="70" v1="46" v2="69"/>
      <triangle index="72" v0="65" v1="43" v2="64"/>
      <triangle index="73" v0="71" v1="47" v2="70"/>
      <triangle index="74" v0="49" v1="32" v2="48"/>
      <triangle index="75" v0="53" v1="35" v2="52"/>
      <triangle index="76" v0="55" v1="36" v2="54"/>
      <triangle index="77" v0="61" v1="40" v2="60"/>
      <triangle index="78" v0="67" v1="44" v2="66"/>
      <triangle index="79" v0="59" v1="39" v2="58"/>
      <triangle index="80" v0="56" v1="81" v2="37"/>
      <triangle index="81" v0="38" v1="81" v2="57"/>
      <triangle index="82" v0="34" v1="80" v2="51"/>
      <triangle index="83" v0="46" v1="83" v2="69"/>
      <triangle index="84" v0="68" v1="83" v2="45"/>
      <triangle index="85" v0="62" v1="82" v2="41"/>
      <triangle index="86" v0="42" v1="82" v2="63"/>
      <triangle index="87" v0="50" v1="80" v2="33"/>
      <triangle index="88" v0="33" v1="80" v2="34"/>
      <triangle index="89" v0="37" v1="81" v2="38"/>
      <triangle index="90" v0="41" v1="82" v2="42"/>
      <triangle index="91" v0="45" v1="83" v2="46"/>
      <triangle index="92" v0="51" v1="80" v2="50"/>
      <triangle index="93" v0="69" v1="83" v2="68"/>
      <triangle index="94" v0="57" v1="81" v2="56"/>
      <triangle index="95" v0="63" v1="82" v2="62"/>
    </cells>
  </mesh>
</dolfin>

test_facet_region.xml:

<?xml version="1.0" encoding="UTF-8"?>
<dolfin xmlns:dolfin="http://fenicsproject.org">
  <mesh_function type="uint" dim="1" size="180">
    <entity index="0" value="0"/>
    <entity index="1" value="17"/>
    <entity index="2" value="17"/>
    <entity index="3" value="0"/>
    <entity index="4" value="0"/>
    <entity index="5" value="0"/>
    <entity index="6" value="17"/>
    <entity index="7" value="17"/>
    <entity index="8" value="0"/>
    <entity index="9" value="0"/>
    <entity index="10" value="0"/>
    <entity index="11" value="17"/>
    <entity index="12" value="17"/>
    <entity index="13" value="0"/>
    <entity index="14" value="0"/>
    <entity index="15" value="0"/>
    <entity index="16" value="17"/>
    <entity index="17" value="17"/>
    <entity index="18" value="0"/>
    <entity index="19" value="0"/>
    <entity index="20" value="18"/>
    <entity index="21" value="18"/>
    <entity index="22" value="0"/>
    <entity index="23" value="0"/>
    <entity index="24" value="18"/>
    <entity index="25" value="18"/>
    <entity index="26" value="0"/>
    <entity index="27" value="0"/>
    <entity index="28" value="18"/>
    <entity index="29" value="18"/>
    <entity index="30" value="0"/>
    <entity index="31" value="0"/>
    <entity index="32" value="18"/>
    <entity index="33" value="18"/>
    <entity index="34" value="0"/>
    <entity index="35" value="0"/>
    <entity index="36" value="0"/>
    <entity index="37" value="19"/>
    <entity index="38" value="19"/>
    <entity index="39" value="0"/>
    <entity index="40" value="0"/>
    <entity index="41" value="0"/>
    <entity index="42" value="19"/>
    <entity index="43" value="19"/>
    <entity index="44" value="0"/>
    <entity index="45" value="0"/>
    <entity index="46" value="0"/>
    <entity index="47" value="19"/>
    <entity index="48" value="19"/>
    <entity index="49" value="0"/>
    <entity index="50" value="0"/>
    <entity index="51" value="0"/>
    <entity index="52" value="19"/>
    <entity index="53" value="19"/>
    <entity index="54" value="0"/>
    <entity index="55" value="0"/>
    <entity index="56" value="20"/>
    <entity index="57" value="20"/>
    <entity index="58" value="20"/>
    <entity index="59" value="20"/>
    <entity index="60" value="20"/>
    <entity index="61" value="20"/>
    <entity index="62" value="20"/>
    <entity index="63" value="20"/>
    <entity index="64" value="0"/>
    <entity index="65" value="0"/>
    <entity index="66" value="0"/>
    <entity index="67" value="0"/>
    <entity index="68" value="0"/>
    <entity index="69" value="0"/>
    <entity index="70" value="0"/>
    <entity index="71" value="0"/>
    <entity index="72" value="0"/>
    <entity index="73" value="0"/>
    <entity index="74" value="0"/>
    <entity index="75" value="0"/>
    <entity index="76" value="18"/>
    <entity index="77" value="0"/>
    <entity index="78" value="18"/>
    <entity index="79" value="0"/>
    <entity index="80" value="0"/>
    <entity index="81" value="0"/>
    <entity index="82" value="18"/>
    <entity index="83" value="0"/>
    <entity index="84" value="18"/>
    <entity index="85" value="0"/>
    <entity index="86" value="0"/>
    <entity index="87" value="0"/>
    <entity index="88" value="18"/>
    <entity index="89" value="0"/>
    <entity index="90" value="18"/>
    <entity index="91" value="0"/>
    <entity index="92" value="0"/>
    <entity index="93" value="0"/>
    <entity index="94" value="18"/>
    <entity index="95" value="0"/>
    <entity index="96" value="18"/>
    <entity index="97" value="0"/>
    <entity index="98" value="0"/>
    <entity index="99" value="0"/>
    <entity index="100" value="19"/>
    <entity index="101" value="0"/>
    <entity index="102" value="0"/>
    <entity index="103" value="19"/>
    <entity index="104" value="0"/>
    <entity index="105" value="0"/>
    <entity index="106" value="0"/>
    <entity index="107" value="19"/>
    <entity index="108" value="0"/>
    <entity index="109" value="0"/>
    <entity index="110" value="0"/>
    <entity index="111" value="0"/>
    <entity index="112" value="0"/>
    <entity index="113" value="19"/>
    <entity index="114" value="0"/>
    <entity index="115" value="0"/>
    <entity index="116" value="19"/>
    <entity index="117" value="0"/>
    <entity index="118" value="0"/>
    <entity index="119" value="0"/>
    <entity index="120" value="19"/>
    <entity index="121" value="0"/>
    <entity index="122" value="0"/>
    <entity index="123" value="0"/>
    <entity index="124" value="0"/>
    <entity index="125" value="0"/>
    <entity index="126" value="19"/>
    <entity index="127" value="0"/>
    <entity index="128" value="0"/>
    <entity index="129" value="19"/>
    <entity index="130" value="0"/>
    <entity index="131" value="0"/>
    <entity index="132" value="0"/>
    <entity index="133" value="19"/>
    <entity index="134" value="0"/>
    <entity index="135" value="0"/>
    <entity index="136" value="0"/>
    <entity index="137" value="0"/>
    <entity index="138" value="0"/>
    <entity index="139" value="19"/>
    <entity index="140" value="0"/>
    <entity index="141" value="0"/>
    <entity index="142" value="19"/>
    <entity index="143" value="0"/>
    <entity index="144" value="0"/>
    <entity index="145" value="0"/>
    <entity index="146" value="19"/>
    <entity index="147" value="0"/>
    <entity index="148" value="0"/>
    <entity index="149" value="0"/>
    <entity index="150" value="0"/>
    <entity index="151" value="0"/>
    <entity index="152" value="20"/>
    <entity index="153" value="20"/>
    <entity index="154" value="20"/>
    <entity index="155" value="0"/>
    <entity index="156" value="20"/>
    <entity index="157" value="0"/>
    <entity index="158" value="20"/>
    <entity index="159" value="20"/>
    <entity index="160" value="20"/>
    <entity index="161" value="20"/>
    <entity index="162" value="0"/>
    <entity index="163" value="20"/>
    <entity index="164" value="0"/>
    <entity index="165" value="20"/>
    <entity index="166" value="20"/>
    <entity index="167" value="20"/>
    <entity index="168" value="20"/>
    <entity index="169" value="0"/>
    <entity index="170" value="20"/>
    <entity index="171" value="0"/>
    <entity index="172" value="20"/>
    <entity index="173" value="20"/>
    <entity index="174" value="20"/>
    <entity index="175" value="20"/>
    <entity index="176" value="0"/>
    <entity index="177" value="20"/>
    <entity index="178" value="0"/>
    <entity index="179" value="20"/>
  </mesh_function>
</dolfin>

test_physical_region.xml:

<?xml version="1.0" encoding="UTF-8"?>
<dolfin xmlns:dolfin="http://fenicsproject.org">
  <mesh_function type="uint" dim="2" size="96">
    <entity index="0" value="21"/>
    <entity index="1" value="21"/>
    <entity index="2" value="21"/>
    <entity index="3" value="21"/>
    <entity index="4" value="21"/>
    <entity index="5" value="21"/>
    <entity index="6" value="21"/>
    <entity index="7" value="21"/>
    <entity index="8" value="21"/>
    <entity index="9" value="21"/>
    <entity index="10" value="21"/>
    <entity index="11" value="21"/>
    <entity index="12" value="21"/>
    <entity index="13" value="21"/>
    <entity index="14" value="21"/>
    <entity index="15" value="21"/>
    <entity index="16" value="21"/>
    <entity index="17" value="21"/>
    <entity index="18" value="21"/>
    <entity index="19" value="21"/>
    <entity index="20" value="21"/>
    <entity index="21" value="21"/>
    <entity index="22" value="21"/>
    <entity index="23" value="21"/>
    <entity index="24" value="21"/>
    <entity index="25" value="21"/>
    <entity index="26" value="21"/>
    <entity index="27" value="21"/>
    <entity index="28" value="21"/>
    <entity index="29" value="21"/>
    <entity index="30" value="21"/>
    <entity index="31" value="21"/>
    <entity index="32" value="21"/>
    <entity index="33" value="21"/>
    <entity index="34" value="21"/>
    <entity index="35" value="21"/>
    <entity index="36" value="21"/>
    <entity index="37" value="21"/>
    <entity index="38" value="21"/>
    <entity index="39" value="21"/>
    <entity index="40" value="22"/>
    <entity index="41" value="22"/>
    <entity index="42" value="22"/>
    <entity index="43" value="22"/>
    <entity index="44" value="22"/>
    <entity index="45" value="22"/>
    <entity index="46" value="22"/>
    <entity index="47" value="22"/>
    <entity index="48" value="22"/>
    <entity index="49" value="22"/>
    <entity index="50" value="22"/>
    <entity index="51" value="22"/>
    <entity index="52" value="22"/>
    <entity index="53" value="22"/>
    <entity index="54" value="22"/>
    <entity index="55" value="22"/>
    <entity index="56" value="22"/>
    <entity index="57" value="22"/>
    <entity index="58" value="22"/>
    <entity index="59" value="22"/>
    <entity index="60" value="22"/>
    <entity index="61" value="22"/>
    <entity index="62" value="22"/>
    <entity index="63" value="22"/>
    <entity index="64" value="22"/>
    <entity index="65" value="22"/>
    <entity index="66" value="22"/>
    <entity index="67" value="22"/>
    <entity index="68" value="22"/>
    <entity index="69" value="22"/>
    <entity index="70" value="22"/>
    <entity index="71" value="22"/>
    <entity index="72" value="22"/>
    <entity index="73" value="22"/>
    <entity index="74" value="22"/>
    <entity index="75" value="22"/>
    <entity index="76" value="22"/>
    <entity index="77" value="22"/>
    <entity index="78" value="22"/>
    <entity index="79" value="22"/>
    <entity index="80" value="22"/>
    <entity index="81" value="22"/>
    <entity index="82" value="22"/>
    <entity index="83" value="22"/>
    <entity index="84" value="22"/>
    <entity index="85" value="22"/>
    <entity index="86" value="22"/>
    <entity index="87" value="22"/>
    <entity index="88" value="22"/>
    <entity index="89" value="22"/>
    <entity index="90" value="22"/>
    <entity index="91" value="22"/>
    <entity index="92" value="22"/>
    <entity index="93" value="22"/>
    <entity index="94" value="22"/>
    <entity index="95" value="22"/>
  </mesh_function>
</dolfin>

I have already solved the temperature field and heat flux field for the external annulus. Now the problem is to utilize the known gap heat transfer coefficient (h), the flux (q) on the inner boundary of the external annulus, and the temperature (T2) to obtain the temperature distribution (T1) on the outer boundary of the internal annulus (q=h(T1-T2)), and to use it as the Dirichlet boundary condition for solving the internal annulus. Do you have any other suggestions?

Ive already shared an approach I think you should use in the previous post. I am not going to sit down and re-implement it for your problem, as I would expect tou to try to follow the ideas Ive already presented.