Welcome, Guest
Username: Password: Remember me

TOPIC: PROXIM (bief) routine - coordinate precision comment

PROXIM (bief) routine - coordinate precision comment 8 years 5 months ago #22050

  • j_floyd
  • j_floyd's Avatar
I cannot understand why a source location has to agree to node coordinates within 10e-8m in parallel mode. The logic appears to check that the point is not picked up multiple times! This means in practice that I need to input source coordinates with 8 decimal places, when cell size are of the order of 10m minimum and generally much bigger.

The required acceptable error should be based on the node distances (effectively the cell/element sizes) so that in different parallel domains the same point does not match different nodes. Though this can be checked if required.

If tomowac needs higher precision then pass that as a extra argument to proxim. Though why even hd - telemac3d/2d needs coordinate agreement to better than 1e-4m seems excessive unless creating models that have cells sizes of the order of centimetres.

A strange artifact - I am sure this should be relaxed with a better logic.

Cheers
The administrator has disabled public write access.

PROXIM (bief) routine - coordinate precision comment 8 years 5 months ago #22059

  • jmhervouet
  • jmhervouet's Avatar
Hello John,

The original algorithm took the nearest point in the mesh. With parallelism it resulted in different points being chosen in different sub-domains. The 10.E-8 was introduced to be sure that the "nearest point" was the right one. I do not remember why but larger values raised strange problems (anyway people doing convergence tests on physical models have really small elements). I totally agree with you that this should be relaxed with a better logic (but probably also with more parallel communications). I would prefer an algorithm without any threshold, maybe still taking the nearest point in the global mesh can be done with the adequate logic and communications I'll look at that.

With best regards,

Jean-Michel Hervouet
The administrator has disabled public write access.

PROXIM (bief) routine - coordinate precision comment 8 years 5 months ago #22075

  • jmhervouet
  • jmhervouet's Avatar
Hello John,

Enclosed is a tentative new subroutine proxim.f that comes back to the original philosophy of the sequential version: taking the nearest point. I'll add it to the trunk as soon as you tell me it is OK in your case. I have tested all possible combinations with the example "sources".

With best regards,

Jean-Michel Hervouet
Attachments:
The administrator has disabled public write access.

PROXIM (bief) routine - coordinate precision comment 8 years 5 months ago #22085

  • j_floyd
  • j_floyd's Avatar
Jean-Michel,

Thankyou. Very quick. It took me a while to understand your logic, but for my current limited testing it works as expceted. Nice simple parallel logic which isnt expensive as it only happens once.

I would like to suggest that the final print be limited to IP(K)>0 but this means moving the SQRT(P_DMIN(DIST2)) outside the required if statement. This ensures that the print is only in the log file where that node is active (in domain).
The administrator has disabled public write access.

PROXIM (bief) routine - coordinate precision comment 8 years 5 months ago #22086

  • jmhervouet
  • jmhervouet's Avatar
Hello John,

Actually the goal is to have all the information on the main listing, which is printed by processor 0, so this processor must give the information on all source points, hence we print even if IP(K)=0. Then another general principle is that all processors give the same listing as we have in sequential mode, except maybe the number of points and elements.

I'll put this new proxim.f on the trunk today. Thank you for pushing in the right direction, with best regards,

Jean-Michel Hervouet
The administrator has disabled public write access.
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.