Author Topic: Some confusing code in crblok3.f  (Read 6514 times)

Ziyu

  • Jr. Member
  • **
  • Posts: 27
Some confusing code in crblok3.f
« on: October 24, 2012, 07:27:40 AM »
Dear FEAP group,

I am reading the subroutine crblok3.f due to the need of doing my research... But I got confused starting from line 193 to line 262. It looks like you are doing a sort of projection of points onto the surface patch used to define contact nodes (just like what you did in onsurf.f and projpt.f), and the result is somehow used to correct zmin(3) and zmax(3) only. But what point are you projecting on earth?

BTW, the "convert coords to hierarchical form" is also mysterious to me. If it is too complicated to explain here, I'd also appreciate if you could give some references...

Best,

Ziyu

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: Some confusing code in crblok3.f
« Reply #1 on: October 29, 2012, 06:58:22 AM »
This subroutine is locating the facets of elements that are on the patch described by a 4-9 node quadrilateral surface.  The routine works by computing a rectangular bounding box to the surface.  The box is set based on a planar surface (z(1,*) and z(2,*)) and then computing the maxiumum and minimum value for this plane (z(3,*)) values.  The programmer chose to use a hierarchical form for the interpolations to do the Newton iteration to find the values -- this is a choice and does not have anything to do with theory.  The remainder of the routine then searches for facets that are within the bounding box.  This routine could fail if the surface search has values for min/max z(3,*) too large (praticularly in polar/cylindrical form) but for small variations is quite reliable.  Currently, also, it only works for 4-node tets and 8-node bricks.