-
Notifications
You must be signed in to change notification settings - Fork 43
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
Issues developing FSI #27
Comments
Hi @oriolcg I would probably not implement chain rule yet. I think it is not that common in FE codes. We can do the analytical work a priori. It would be interesting in the future though. You could probably try to implement second order derivatives. I don't think it is complicated. @fverdugo is the expert here and can provide guidance. Can you provide a small code that shows the error in I think that the problem is here in
We are not using |
It can be done (by implementing a small new function). matdata_j = collect_cell_jacobian(0.0,uh,uh,du,v,op.terms)
matdata_jt = collect_cell_jacobian_t(0.0,uh,uh,du,v,op.terms)
matdata = append_matdata(matdata_j,matdata_jt )
allocate_matrix(op.assem_t,matdata) You only need to implement |
function append_matdata(matdata_j,matdata_jt )
term_to_cellmat_j, term_to_cellidsrows_j, term_to_cellidscols_j = matdata_j
term_to_cellmat_jt, term_to_cellidsrows_jt, term_to_cellidscols_jt = matdata_jt
term_to_cellmat = vcat(term_to_cellmat_j,term_to_cellmat_jt)
# idem for the others
matdata = (term_to_cellmat,term_to_cellidsrows, term_to_cellidscols)
matdata
end |
Hi @fverdugo, I was checking the fix you propose and I have some questions:
|
I have done this changes in |
You can check with the debugging tutorial I have in the transient_fsi branch (https://github.com/gridap/Tutorials/blob/transient_fsi/src/transient_fsi_debug.jl). It's not the latest version because I switched to https://github.com/gridapapps/GridapFSI.jl, but there I already had this issue. In particular, you can easily chek it by removing the term Tutorials/src/transient_fsi_debug.jl Line 399 in 43caad8
|
Here I'll put some issues that I'm facing on the implementation of a transient FSI tutorial, so I can track all the missing points. @fverdugo @santiagobadia feel free to add comments.
q * (∇⋅( ( J(∇(u)) * Finv(∇(u)) )⋅v ))
for two main reasons:-->Alternative approach: by the Piola identity we have that
∇⋅(JF^{-1}v) = J∇v:F^{-T}
-->Temporary fix: add an entry on the corresponding spatial jacobian multiplied by 0.
ERROR: LoadError: MethodError: no method matching array_cache(::Gridap.Geometry.SkeletonPair{...
(still trying to discover the cause) --> Wrong usage of interface terms.The text was updated successfully, but these errors were encountered: