lyc102 / ifem

iFEM is a MATLAB software package containing robust, efficient, and easy-following codes for the main building blocks of adaptive finite element methods on unstructured simplicial grids in both two and three dimensions.
https://lyc102.github.io/ifem/
GNU General Public License v3.0
185 stars 73 forks source link

Adaptive Wilson element with at most one hangnode on one edge #6

Open XuemeiZhou-1993 opened 3 years ago

XuemeiZhou-1993 commented 3 years ago

Professor Chen,

Sorry to disturb you. There's some bug in my codes and it took a lot of effort and time to get nothing. I was coding the adaptive Wilson element to solve the Poisson equation. Since it is the rectangle element, I can rarely refer to you ifem package. I write the square bisect codes (bisectQuad.m). In the solving step (PoissonWilson.m), things go right when dealing with the uniform refinement (compSolFig_nohang.m). While with hangnodes, it goes wrong (compSolFig_hang.m). I am hoping if you can have a look on my codes when you are spare. Thanks a lot! The theoretical results refer to the following pdf. Have a nice day!

Xuemei ZHou A Ph.D. student of Chinese Academy of Sciences

hu2014 New a posteriori error estimate and quasi-optimal convergence of the adaptive nonconforming Wilson element.pdf

WilsonSolve.zip

One data m file is missing, which is just the Lshapedata.m in your ifem package.

CareyData.txt

scaomath commented 3 years ago

You have to recursively use adjacency matrix to find hanging nodes (assuming more than 1 level of irregular mesh). I have a quad sect code in iFEM data structure for bilinear element supporting multiple levels of hanging node. I will find time to clean up and encapsulate it and upload to iFEM.