Welcome, Guest
Username: Password: Remember me

TOPIC: How telemac find the mesh node to be associated to a source point

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27213

  • rladwig
  • rladwig's Avatar
Hello everbody, I am also trying to implement around 100 source points into my model. After selecting the coordinates using JANET, TELEMAC (v6p3r2) tells me that each point is out of domain.

I read this thread and 'link-points-sources-to-the-mesh#25132', so I added a proxim.f file with a lower tolerance by changing the line
IF(A31.GT.-1.D-6.AND.A12.GT.-1.D-6.AND.A23.GT.-1.D-6) THEN
in my folder .Afterwards I told TELEMAC to use it via FORTRAN FILE: proxim.f.

Is this the correct way or am I missing something? It get the error message that in my SUBROUTINE PROXIM the characters are not valid.
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27214

  • kingja.x
  • kingja.x's Avatar
Hi rladwig,

I'm also implementing a large number of source points, though I haven't modified proxim.f, simply entered the ABSCISSAE and ORDINATES of each source in the .cas file. Have you tried this?

If you're running in parallel the shell output may say 'source point out of domain'. This isn't the case as the output is only from the master processor. The source points are outside of the domain being dealt by it.

Jonathan
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27215

  • rladwig
  • rladwig's Avatar
Hi Jonathan,

thanks for the fast answer. Yes I added all my points in the cas.-file with ABSCISSAE and ORDINATES but unfortunately TELEMAC tells me that e.g.
SOURCE POINT  3  PUT ON POINT  1949
 LOCATED AT  1.38946932626489925E-2  METRES

 IN PARALLEL SOURCES OR SPECTRUM POINTS
 MUST COINCIDE WITH
 NODES IN THE MESH, FOR SOURCE 3  CHOOSE:
 X= 382737.78125  Y= 5826811.5

and stops. So I would have to change the coordinates of all 100 sources afterwards due to tolerance.

So in parallel mode it won't be a problem?

Thanks a lot in advance
Robert
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27216

  • kingja.x
  • kingja.x's Avatar
That's what I had to do (I took all my source coordinates from Blue Kenue which gives them to 3d.p. - in some cases this wasn't enough).

It's a bit tedious but if you change all of the source coordinates to what is suggested then it should work. For me it was quicker to do it this way than mess about with FORTRAN.

And no, in parallel this isn't a problem. You will still get the error message for any sources not in the 'master domain' but TELEMAC should run just fine.
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27217

  • Phelype
  • Phelype's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 140
  • Thank you received: 64
Hello

About the parallelism, since V7P0 the subroutine proxim.f checks if the source point is actually inside the computational domain, regardless of which processor it is in.

But the algorithm that finds the nearest mesh not is more or less the same, so the problem is that your source point is too far away from a mesh node.

What you can do to avoid this without changing every source coordinate is:
- Lower the precision of this line:
IF(A31.GT.-1.D-6.AND.A12.GT.-1.D-6.AND.A23.GT.-1.D-6) THEN
- Modify this part of the code so that it takes the nearest point in mesh, regardless at what distance it is (this is very dangerous!)
- If you have the mesh nodes that you want you can replace the call to proxim by a manual assignment of the mesh nodes you want (in parallel you will also have to use the global_to_local_point function).

But certainly, the best way to proceed is to correct the coordinates of the source points. It is approach less prone to further errors.

Hope this helps.

Best regards,

Phelype
The administrator has disabled public write access.
The following user(s) said Thank You: rladwig

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27265

  • rladwig
  • rladwig's Avatar
Thank you a lot. Even though I am using TELEMAC in parallel mode, the simulation run still exists if the coordinates are not close enough to a mesh node.
I followed your advices and implemented all sources now with the suggestions by TELEMAC, but unfortunately after adding the last sources I got this error:
*********************************************
 ADRESS GREATER THAN NMAX =  400
 TOO MANY VALUES OF TYPE :  2  DECLARED.
 STOP OF DAMOCLES AT KEY-WORD NUMBER:  38
 *********************************************

So, TELEMAC stops before reading ABSCISSAE OF SOURCES (which corresponds to keyword # 39), but the cas-file still only holds in total 382 lines. Is it possible to increase NMAX to implement the other source terms?

Thanks a lot!
Robert
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27266

  • rladwig
  • rladwig's Avatar
After reading www.opentelemac.org/index.php/assistance...ore-than-100-sources I changed the MAXKEY and MAXSCE parameters in declarations_telemac2d.f to 800 and 200 respectively. Further, I also added the ELSEIF statement by o.gourgue in debsce.f. But still TELEMAC complains that the ADRESS is greater than NMAX. Am i missing something?

Best
Robert
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27294

  • kingja.x
  • kingja.x's Avatar
Have you recompiled the code with the new declarations_telemac.f file or put this in the FORTRAN file?

Either way should work but if the latter then you might need to change lecdon_telemac2d.f and homere_telemac2d.f as well. That's what I did, not the most elegant but it works.

I'm referring to this post: www.opentelemac.org/index.php/kunena/17-...rease-sources-number
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 7 years 4 months ago #27301

  • rladwig
  • rladwig's Avatar
My mistake was in recompiling TELEMAC,I did something wrong with debsce.f, but now everything is working great and TELEMAC reads all 99 source terms (so I didn't even had to tinker with debsce.f at all).

Thanks a lot for all the help!

best
Robert
The administrator has disabled public write access.

How telemac find the mesh node to be associated to a source point 6 years 8 months ago #29217

  • rladwig
  • rladwig's Avatar
Can anybody tell me where to increase the NMAX keywords in v7p2r3? Again, I got the error

*********************************************
ADRESS GREATER THAN NMAX = 300
TOO MANY VALUES OF TYPE : 2 DECLARED.
STOP OF DAMOCLES AT KEY-WORD NUMBER: 37

but I can not find the lines in declarations_telemac2d.f. I guess this was moved or is dependent now on another file.

Thanks a lot in advance!
Best,
Robert
The administrator has disabled public write access.
Moderators: pham

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