Author Topic: Uniform load (pressure) to a defined section of an edge on a 2D model  (Read 6175 times)

ekbon

  • Jr. Member
  • **
  • Posts: 13
Dear all,

I am new to FEAP and trying to apply a load to a defined region of an edge on a 2D model.
I want this region to be the first 10% of the horizontal straight edge and independent of the mesh/node numbering system.
I have tried lots of different methods but always seem to get some form of variance in the magnitude of the forces applied to each node along the line they are applied to.

I have looked into using a LOOP-NEXT structure for this (unsuccessfully), where I calculate the distance between nodes and loop for the desired no. of nodes applying a CFORce at each interval. But I thought there must be something I am missing as it is possible to apply linear, quadratic loads to an edge using CSURface where the input values use the coordinate system (not node number).

I have attached the input file I am using.
I am running FEAP 8.5

Any advice is much appreciated.

Regards,
Elliot

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1160
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #1 on: October 09, 2023, 11:48:36 AM »
Yes this is what CSURF is designed to do.  You give the coordinates and it computes the consistent nodal loads.
You just have to make sure that the segments that you define more counter clockwise around the mesh as FEAP
looks for outward normals using a right-hand rule.

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1160
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #2 on: October 09, 2023, 11:52:16 AM »
Your input file does this correctly.  It is defining a uniform pressure along the bottom edge from x1=0 to x1 = 0.1 and the pressure magnitude is 10.  You have quadratic elements and it is properly computing F_a = Int[ N_a 10] along the bottom edge where you have defined the load.

Note that the two commented out versions in your input file do NOT compute consistent nodal loads, thus they do not represent a uniformly distributed pressure.

ekbon

  • Jr. Member
  • **
  • Posts: 13
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #3 on: October 09, 2023, 12:04:02 PM »
Thank you Prof. Govindjee,
I knew I must have been overlooking something.
I appreciate your prompt response.

ekbon

  • Jr. Member
  • **
  • Posts: 13
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #4 on: October 10, 2023, 01:18:29 AM »
Dear Prof. Govindjee,

I have been reviewing the output of CSUR this morning with linear quad. elements and have realized this method may not providing the desired output. I am using the CSUR command as below:

Code: [Select]
CSURface
  LINEar
    1, 0.0,  0, 10
    2, 0.1,  0, 10

1. The force magnitude on the nodes on either end of the linear distribution seems to be half that of the rest of the loads. Is there a reason for this, I realise there is a strong possibility this is intentional but I am unaware of why?
2. When I inquired the magnitude of all the forces on the nodes for several different mesh refinements I realized that the load magnitudes would remain the same i.e. with the above example, always 10 with 5 on either end. However, I would like to replicate closer to a 2D pressure load, i.e. force per unit distance, thus, if there are more nodes the magnitude of each force is scaled respectively. Could you advise if there is a method I should be aware of to achieve this?

Thank you,

Elliot

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #5 on: October 10, 2023, 05:33:23 AM »
You need to understand how nodal forces are computed and why quadratic elements produce the results you see.  They are those for a uniform traction at each end of your mesh

ekbon

  • Jr. Member
  • **
  • Posts: 13
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #6 on: October 10, 2023, 09:27:56 AM »
Dear Prof. Taylor,

I have gone back over quadrilateral element theory. I was not expecting bilinear quad. elements to have a difference in the nodal force magnitude for a traction load, but I neglected to consider the shared nodes of the interior elements to the traction. I assume the easiest way to deal with this is to simply apply a CFORce to the node on either end of the traction load.

As for the scaling issue of a pressure load independent of the number of nodes within the region it is applied. Is the best way to approach this to use a PARAmeter statement in the input file to calculate the number of nodes within the pressure region and adjust the respective nodal force magnitude from this?

I have tried to do this, please see the extract below (full input file also attached):
Code: [Select]
!---------------------------------------------------------------------------
! External loads
!---------------------------------------------------------------------------

! PARAmeter Py = Py/(((P3-P1)*Ex)+1)

CSURface ADD ! Traction load - uniform across elements, interior elements share nodes
  LINEar
    1 P3 P4 Py
    2 P1 P2 Py

CFORce ADD ! Nodal loads to ends of the traction load
  node, P1 P2 0 Py/2
  node, P3 P4 0 Py/2

However, I am having problems when both loading types are active (CSUR & CFOR simultaneously) and with the PARAmeter update for Py (currently commented) scaled to account for the number of nodes applied to.

Any assistance is greatly appreciated.

Regards,
Elliot

FEAP_Admin

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 993
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #7 on: October 10, 2023, 11:08:45 AM »
As instructed the first thing you should to is learn about consistent nodal forces.  Most any decent book on finite elements should cover this topic.

The basics are as follows:  Suppose you want to apply a force F over an area A, and you want to do it uniformly.  Then the uniform pressure p = F/A.  The force that you need to apply to node 'a' will be F_a = Int[ N_a p ], where N_a is the shape function for node 'a'.  You can check that the values are correct by noting that Sum_a[ F_a] will equal the total force F.  Note! the values of F_a are not uniform in general.

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #8 on: October 10, 2023, 11:20:19 AM »
You are not using bi-linear elements.  You re using bi-quadratic elements, each element has 9-nodes.  Thus, the nodal forces on the corner nodes are different from those at the mid-edge nodes.  1:4:1 on a uniform spacing for each element.

ekbon

  • Jr. Member
  • **
  • Posts: 13
Re: Uniform load (pressure) to a defined section of an edge on a 2D model
« Reply #9 on: October 10, 2023, 12:09:24 PM »
Dear both,

I believe I am using bilinear elements now - please see the updated input file attached. Apologies if I didn't make it clear I had changed the element type to 4-node quadrilateral after the first feedback from Prof. Govindjee (though it is noted in the last input file I sent I had been experimenting with 12-node quadrilaterals and had forgotten to change it back to 4-node). This is what I meant by "I have been reviewing the output of CSUR this morning with linear quad[rilateral] elements", but I realize wasn't very clear. I understand that 9-node quadratic quad elements will have a 1:4:1 load distribution. Am I correct in understanding that if a traction load is applied across several elements then the force applied to the shared nodes on the corners of the quadrilateral elements will have the sum of the nodal forces applied from both elements that the node shares? Which is why the force magnitude applied to the nodes at the ends of the traction load is half that of the ones that are shared between elements?

However, I am still having trouble with the second part of my last message:
- Using a PARAmeter statement to update a variable (Pe, currently commented in the attached file) scaled to the magnitude of half the nodal loads by accounting for the number of elements enclosed by the traction load and load magnitude (as I would like this to be autonomous). The parameter statement code and error message from the output file are presented below:
Code: [Select]
!PARAmeter
!  Pe = -0.5*Py/(((P3-P1)*Ex)+1)
Quote
  Inconsistency occurred from PAREXP  in data file I_mitchel
  at or near record number      60.  Input record is:

  Pe = -0.5*Py/(((P3-P1)*Ex)+1)                                                 

  Pe = -0.5*Py/(((P3-P1)*Ex)+1)                                                                                                                                                                                                                                 

  If this record is correct error may result from
  missing blank record before new command type.

Many thanks for your input,
Elliot
« Last Edit: October 11, 2023, 07:33:05 AM by ekbon »