-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fsi ustruct #341
base: main
Are you sure you want to change the base?
Fsi ustruct #341
Conversation
if (cPhys == Equation_ustruct) | ||
{ | ||
ustruct::ustruct_do_assem(com_mod, eNoN, ptr, lKd, lK, lR); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you assembling twice, calling ustruct::ustruct_do_assem()
and then eq.linear_algebra->assemble()
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not the mesh we are using in the test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are we using brick elements ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could also just add another input file to an existing mesh without copying the mesh. We may be already doing that for another test case.
Code/Source/solver/fsi.cpp
Outdated
auto N0 = fs_1[0].N.col(g); | ||
auto N1 = fs_1[1].N.col(g); | ||
ustruct::ustruct_3d_m(com_mod, cep_mod, vmsStab, fs_1[0].eNoN, fs_1[1].eNoN, nFn, w, Jac, N0, N1, Nwx, al, yl, dl, bfl, fN, ya_l, lR, lK, lKd); | ||
//throw std::runtime_error("[construct_fsi] USTRUCT3D_M not implemented"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can remove this comment
Code/Source/solver/fsi.cpp
Outdated
auto N0 = fs_2[0].N.col(g); | ||
auto N1 = fs_2[1].N.col(g); | ||
ustruct::ustruct_3d_c(com_mod, cep_mod, vmsStab, fs_2[0].eNoN, fs_2[1].eNoN, w, Jac, N0, N1, Nwx, Nqx, al, yl, dl, bfl, lR, lK, lKd); | ||
//throw std::runtime_error("[construct_fsi] USTRUCT3D_C not implemented"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can remove this comment
Updating the reference result_*.vtu file in the tests folder.
…dir_wl (SimVascular#342) Co-authored-by: Martin Pfaller <[email protected]>
Addin 'ustruct' to the FSI framework
Current situation
Currently the FSI framework allows to use only the 'struct' formulation for solving the solid portion. The 'ustruct' formulation would benefit the FSI framework in terms of consistency (fluid and solid will solve for the same degrees of freedom and have similar formulations) and performance, since block iterative methods could be used to solve the fully assembled monolithic system.
Release Notes
I added the 'ustruct' formulation to the FSI framework and new test cases are added.
Testing
New tests added in the fsi tests folder:
Code of Conduct & Contributing Guidelines