Function ImmersX::Vascularization::solve_reference(const NetworkData&, const std::vector<TerminalPair>&, const ReferenceConditions&, const ReferenceParameters&, MPI_Comm)¶
Defined in File reference_flow.h
Function Documentation¶
-
ReferenceResult ImmersX::Vascularization::solve_reference(const NetworkData &network, const std::vector<TerminalPair> &pairs, const ReferenceConditions &conditions, const ReferenceParameters ¶meters, MPI_Comm communicator)¶
Solve the steady Poiseuille reference problem on the physical graph, including supplied microvascular pairs.
Each component needs an explicit pressure anchor or a positive Robin conductance. Prescribing more than one boundary condition at a node is invalid. Boundary nodes must be declared ports or unpaired tissue terminals; paired tissue nodes cannot also receive external boundary conditions. Unspecified nodes satisfy Kirchhoff balance with zero external inflow.
Collective on the communicator, using the same native deal.II LinearOperator, distributed vectors and CG/Jacobi with one or more ranks. Supply each bed on exactly one process; its endpoint identities are resolved sparsely, so local terminal ghosts are not required. Nodes and vessels must have unique authoritative owners; terminal authority follows its node. Endpoint ghosts must match their authoritative nodes. An independent physical balance check follows the solve. Reversed vessel reference flow and nonpositive paired perfusion invalidate the result; a zero arterial-only equilibrium is allowed. Candidate evaluation changes no accepted state. Physical identifiers, geometry, taper, numerical subdivisions and all input attributes remain unchanged.