Welcome, Guest
Username: Password: Remember me

TOPIC: Boundary points in parallel

Boundary points in parallel 11 years 5 months ago #9255

  • olslewfoot
  • olslewfoot's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 132
  • Thank you received: 3
Dear all
I am running a TELEMAC3D model which uses harmonic constants along two open sea boundaries separated by land, to calculate the surface elevation at each boundary point. The harmonics are supplied in T3DFO2 and a mapping between boundary and global node in T3DFO1. I am calling a modified SL3 from BORD3D to read and calculate the elevation at each timestep.
When I run in scalar mode the model is fine - (but slow). When I run in parallel then some boundary points are excluded from the calculation, so I have not configured this correctly?
I am using MESH2D%KNOLG%I(N) to address the node numbers around the boundary.
Can anyone advise how I should set up so the boundary is partitioned please?
Thanks
John
Attachments:
The administrator has disabled public write access.

Boundary points in parallel 11 years 5 months ago #9256

  • jmhervouet
  • jmhervouet's Avatar
Hello,

KNOLG is for the numbering of all points, not boundary points. For boundary points use instead BOUNDARY_COLOUR, examples below:

Suppose you do something to boundary point number 42 (boundary points numbering like in boundary conditions file). This number will be changed in parallel, for example it will become 13. You can find back the original numbers with BOUNDARY_COLOUR and you have BOUNDARY_COLOUR%I(13)=42

To find if a boundary point is in a given subdomain, you may have to do a loop, suppose your scalar code is :

HBOR(42)=3.2D0

a parallel version would be:

DO K=1,NPTFR
IF(BOUNDARY_COLOUR%I(K).EQ.42) HBOR(K)=3.2D0
ENDDO

This will perhaps solve your problem,

With best regards,

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

Boundary points in parallel 11 years 5 months ago #9264

  • olslewfoot
  • olslewfoot's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 132
  • Thank you received: 3
Hi Jean-Michel

I understand that KNOLG will address all nodes - but thought that would include the boundary nodes - giving their global address. The loop can ignore the interior nodes and only assign an elevation to the global address on the boundary.

Presumably the parallel version of boundary node numbers (BOUNDARY_COLOUR) will also differ depending upon how many processors are assigned? Are these assigned by Partel? If so and after Partel has run, a loop should re-map the boundary node numbers to their boundary_colour version at the beginning of the simulation.

John
The administrator has disabled public write access.

Boundary points in parallel 11 years 5 months ago #9266

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Actually BOUNDARY_COLOUR is the last figure in every line of the BOUNDARY CONDITIONS FILE, it is just the line number, hence also the original boundary node number. It is just transmitted by partel.f. It could be changed in this file by the user, to give e.g. a colour to groups of points, the treatment depending then on colour.

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.