This tutorial was completed using ANSYS 7.0. This tutorial outlines the steps necessary for solving a model meshed with p-elements. The p-method manipulates the polynomial level (p-level) of the finite element shape functions which are used to approximate the real solution. Thus, rather than increasing mesh density, the p-level can be increased to give a similar result. By keeping mesh density rather coarse, computational time can be kept to a minimum. This is the greatest advantage of using p-elements over h-elements.

A uniform load will be applied to the right hand side of the geometry shown below. The specimen was modeled as steel with a modulus of elasticity of 200 GPa.


  1. Give example a Title Utility Menu > File > Change Title ...
    /title, P-Method Meshing

  2. Activate the p-Method Solution Options ANSYS Main Menu > Preferences
    /PMETH,ON

    Select p-Method Struct. as shown below

  3. Open preprocessor menu ANSYS Main Menu > Preprocessor
    /PREP7

  4. Define Keypoints Preprocessor > Modeling > Create > Keypoints > In Active CS...
    K,#,x,y,z

    We are going to define 12 keypoints for this geometry as given in the following table:

    Keypoint Coordinates (x,y,z)
    1 (0,0)
    2 (0,100)
    3 (20,100)
    4 (45,52)
    5 (55,52)
    6 (80,100)
    7 (100,100)
    8 (100,0)
    9 (80,0)
    10 (55,48)
    11 (45,48)
    12 (20,0)

  5. Create Area Preprocessor > Modeling > Create > Areas > Arbitrary > Through KPs
    A,1,2,3,4,5,6,7,8,9,10,11,12

    Click each of the keypoints in numerical order to create the area shown below.

  6. Define the Type of Element
  7. Preprocessor > Element Type > Add/Edit/Delete...

    For this problem we will use the PLANE145 (p-Elements 2D Quad) element. This element has eight nodes with 2 degrees of freedom each (translation along the X and Y axes). It can support a polynomial with maximum order of eight.

    After clicking OK to select the element, click Options... to open the keyoptions window, shown below. Choose Plane stress + TK for Analysis Type.

    Keyopts 1 and 2 can be used to set the starting and maximum p-level for this element type. For now we will leave them as default.

    Other types of p-elements exist in the ANSYS library. These include Solid127 and Solid128 which have electrostatic DOF's, and Plane145, Plane146, Solid147, Solid148 and Shell150 which have structural DOF's. For more information on these elements, go to the Element Library in the help file.

  8. Define Real Constants
  9. Preprocessor > Real Constants... > Add...

    In the 'Real Constants for PLANE145' window, enter the following geometric properties:

    1. Thickness THK: 10

    This defines an element with a thickness of 10 mm.

  10. Define Element Material Properties Preprocessor > Material Props > Material Models > Structural > Linear > Elastic > Isotropic

    In the window that appears, enter the following geometric properties for steel:

    1. Young's modulus EX: 200000
    2. Poisson's Ratio PRXY: 0.3

  11. Define Mesh Size Preprocessor > Meshing > Size Cntrls > ManualSize > Areas > All Areas...

    For this example we will use an element edge length of 5mm.

  12. Mesh the frame Preprocessor > Meshing > Mesh > Areas > Free > click 'Pick All'

  1. Define Analysis Type
  2. Solution > Analysis Type > New Analysis > Static
    ANTYPE,0

  3. Set Solution Controls
  4. Solution > Analysis Type > Sol'n Controls

    The following window will pop up.

    A) Set Time at end of loadstep to 1 and Automatic time stepping to ON
    B) Set Number of substeps to 20, Max no. of substeps to 100, Min no. of substeps to 20.
    C) Set the Frequency to Write every substep

  5. Apply Constraints
  6. Solution > Define Loads > Apply > Structural > Displacement > On Lines

    Fix the left side of the area (ie all DOF constrained)

  7. Apply Loads
  8. Solution > Define Loads > Apply > Pressure > On Lines

    Apply a pressure of -100 N/mm^2

    The applied loads and constraints should now appear as shown in the figure below.

  9. Solve the System
  10. Solution > Solve > Current LS
    SOLVE

  1. Read in the Last Data Set General Postproc > Read Results > Last Set

  2. Plot Equivalent Stress
  3. General Postproc > Plot Results > Contour Plot > Element Solu

    In the window that pops up, select Stress > von Mises SEQV

    The following stress distribution should appear.

  4. Plot p-Levels
  5. General Postproc > Plot Results > p-Method > p-Levels

    The following distribution should appear.

    Note how the order of the polynomial increased in the area with the greatest range in stress. This allowed the elements to more accurately model the stress distribution through that area. For more complex geometries, these orders may go as high as 8. As a comparison, a plot of the stress distribution for a normal h-element (PLANE2) model using the same mesh, and one with a mesh 5 times finer are shown below.

    As one can see from the two plots, the mesh density had to be increased by 5 times to get the accuracy that the p-elements delivered. This is the benefit of using p-elements. You can use a mesh that is relatively coarse, thus computational time will be low, and still get reasonable results. However, care should be taken using p-elements as they can sometimes give poor results or take a long time to converge.


The above example was solved using a mixture of the Graphical User Interface (or GUI) and the command language interface of ANSYS. This problem has also been solved using the ANSYS command language interface that you may want to browse. Open the .HTML version, copy and paste the code into Notepad or a similar text editor and save it to your computer. Now go to 'File > Read input from...' and select the file. A .PDF version is also available for printing.