Skip to content

Conversation

@tai271828
Copy link

Description

This pull request introduces two features:

  1. XML Parsing for minDE: Parses minDE directly from the XML file, making it easier to customize.
  2. Adaptive Chunking: Enables simulations with smaller/simpler geometries.

Both features significantly reduce development turnaround time. By introducing adaptive chunking, we can run simulations with smaller geometries and obtain results faster. This is particularly beneficial when working on the C++ components of hemoFlow. Additionally, this serves as the cornerstone for establishing a manageable CI pipeline in the future.

Verification Steps

Run hemoFlow with the following command:
testcase/test_SimpleTube_Freeflow.xml

Note that testcase/test_SimpleTube_Freeflow.xml mimics testcase/test_Freeflow.xml but utilizes a simpler geometry and flow rate. The corresponding geometry .npz and flow rate files have been generated and included in this pull request.


// *** Calculating LB parameters using Re on the inlet: Re = U_avg * D / nu
void calcSimulationParameters(SimPar &sim, T dx, T dt = -1, T U_max_LB_ = 0.1)
{
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have collected the style updates for removing trailing whitespace into a single commit. Therefore, it will be more efficient to review this pull request commit-by-commit.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specifically:

  • For the XML update, see this commit: d0aa8c4
  • For adaptive chunking, see this commit: 8f1b54b
  • For the new test case (simpler geometry and flow rate), see this commit: 0c69522
  • For the trailing whitespace cleanup, see this commit: 6fa79c2

if( stat( pathName.c_str(), &info ) != 0 )
return -1; // Cannot acces path
else if( info.st_mode & S_IFDIR ) // S_ISDIR() doesn't exist on my windows
else if( info.st_mode & S_IFDIR ) // S_ISDIR() doesn't exist on my windows
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that io.cpp uses LF line terminators, while hemoflow.cpp uses CRLF. I am not sure if this is intentional. We can discuss it on Thursday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant