Waht is meaning of normal_dot_vel in IntargralBoundaryConstraint in aneurysm.py

I tried to understand the code of aneurysm.py. However, there is one issue which I cannot understand. What is the meaning of "normal_dot_vel": 2.540? The detailed code is below.

I think this code refers to the boundary condition of the outlet region and normal_dot_vel represents the volume flow. Is this correct? However, I cannot understand how the flow rate value of 2.540 is calculated.

If someone has knowledge of this code, please provide information. Thank you for your cooperation.

Shusaku

Integral Continuity 1

integral_continuity = IntegralBoundaryConstraint(
    nodes=nodes,
    geometry=outlet_mesh,
    outvar={"normal_dot_vel": 2.540},
    batch_size=1,
    integral_batch_size=cfg.batch_size.integral_continuity,
    lambda_weighting={"normal_dot_vel": 0.1},
)
domain.add_constraint(integral_continuity, "integral_continuity_1")

Hi Shusaku,

yes, you are right. The normal_dot_vel represents the volumetric flow rate.

Volumetric flow rate is calculated with inlet area and the mean velocity at the inlet:
vfr = inlet_area * mean_inlet_vel

With a velocity magnitude of the parabolic velocity profile at the inlet: inlet_vel = 1.5 you can approximate the mean velocity with: mean_inlet_vel = 0.5 * inlet_vel
The scaled inlet area is: inlet_area = 21.1284 * (0.4**2)
This results in: vfr = 2.54

I hope this helps.

Best Daniel

Thank you for your valuable advice, Daniel.

That makes sense! I have one more question.

The variable normal_dot_vel has both positive and negative values. What does a negative value signify?

Integral Continuity 1

integral_continuity = IntegralBoundaryConstraint(
    nodes=nodes,
    geometry=outlet_mesh,
    outvar={"normal_dot_vel": 2.540},
    batch_size=1,
    integral_batch_size=cfg.batch_size.integral_continuity,
    lambda_weighting={"normal_dot_vel": 0.1},
)
domain.add_constraint(integral_continuity, "integral_continuity_1")

# Integral Continuity 2
integral_continuity = IntegralBoundaryConstraint(
    nodes=nodes,
    geometry=integral_mesh,
    outvar={"normal_dot_vel": -2.540},
    batch_size=1,
    integral_batch_size=cfg.batch_size.integral_continuity,
    lambda_weighting={"normal_dot_vel": 0.1},
)
domain.add_constraint(integral_continuity, "integral_continuity_1")

The sign indicates the direction of the flow through the surface (inward or outward) and is determined by the orientation of the surface.