get velocity and set force at tagged boundary nodes

Asked by Hongyang Cheng

Hello,

After solving the ODE (rho*a = sigma), is it possible to get current nodal velocity (v = v+ a*dt) on the boundary? I also need to update boundary force at the corresponding nodes for solving the ODE in the next time step.

I looked into [1,2] and used PhysicalNames for tagging the boundaries. ReadGmash() seems to work for ver.4.0, as "domain.getTag(tag_name)" returns the correct tag id. However, a.isTagged returns False, I am guessing the Data on FunctionSpace does not inherit the tags from the domain. Does anyone know how to use tagging to export and import data?

[1] https://answers.launchpad.net/escript-finley/+question/243686
[2] https://answers.launchpad.net/escript-finley/+question/247567

Cheers

Hongyang

Question information

Language:
English Edit question
Status:
Solved
For:
esys-escript Edit question
Assignee:
No assignee Edit question
Solved by:
Lutz Gross
Solved:
Last query:
Last reply:
Revision history for this message
Launchpad Janitor (janitor) said :
#1

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
Lutz Gross (l-gross) said :
#2

Your statement "nodal velocity on the boundary" is not clear?
Do you mean how to interpolate the nodal velocity to a boundary element (that would be on the quadrature point)?
Do you want to have a py-list of the values at the nodes on a particular set of nodes located at portion of the domain boundary tagged with a specific name?

Revision history for this message
Hongyang Cheng (alex-cheng) said :
#3

Hi, Lutz

Thanks for your reply and happy new year. I meant the second. I wanted to have a py-list of velocities at the nodes located at the boundary of Solution FunctionSpace. Just for the record, I have used getReferenceIDFromDataPointNo() and getTagFromDataPointNo() to do it.

Since you mentioned boundary elements, I am curious about how traction on boundary elements is converted to nodal force. If I use four-point quadrature tri6 elements to define a rectangle domain and set isotropic confining pressure, the nodal force at a mid node will be double of that at a corner node. Could you please tell me why nodal force is not uniformly distributed?

Hongyang

Revision history for this message
Lutz Gross (l-gross) said :
#4

Look's like you solved the problem.

Second question: are you referring to a boundary condition in the form sigma_{ij}n_j = p_0*n_i with a constant pressure p_0?

Revision history for this message
Hongyang Cheng (alex-cheng) said :
#5

Yes, that's correct. In this case, the only coefficient assigned to the PDE should be "y" and nodal force was checked by getting the right hand side of the PDE.

Revision history for this message
Best Lutz Gross (l-gross) said :
#6

If you look at the lower left corner of a rectangular domain then y=[-p0,0] for elements on the vertical boundary and y=[0,-p0] on the element on the horizontal boundary. If you look at a node on the boundary it gets contributions from two neighboring elements which are in essence [-p0,0] on the vertical boundary and [0,-p0] on the horizontal boundary. This gives you node forces of about [-2p0,0] and [0,-2p0] except for the corner where you get [-p0,-p0] due to the different orientation of the surface force on the neighboring elements.
Hope this makes sense ...

Revision history for this message
Hongyang Cheng (alex-cheng) said :
#7

Thanks Lutz Gross, that solved my question.