Frequently-Asked Questions

How big a mesh can FELIPE handle?
In the Standard FELIPE installation, the pre- and post-processors are dimensioned for 900 elements, 3000 nodes. If you require a Large (2500 elements, 9000 nodes) or Giant (9999 elements, 30000 nodes) installation, please specify on your Order. Note that run-time performance may be degraded, especially on low-specification PCs, where large amounts of virtual memory are allocated in the Large and Giant installations. You can then adjust the array dimensions in the DIMENSION statement in each "main engine", according to your needs, and re-compile the source code.

I have my own finite element program, written in C++. Can I interface it to the FELIPE pre- and post-processors?
Yes, easily. You just have to modify the input/output subroutines in your program, to read the input data from a .dat file, and write results to a .out file, in the format used in FELIPE. This is straightforward, as FELIPE uses only simple numeric data, in ASCII files. For example, the element types are distinguished by the no. of sides and no. of nodes, not by some obscure coded name.

Will you be producing new versions of the 'main engines' - for example, including excavation loading in the VPLAS program?
No. The suite of 'main engines' in FELIPE v.3 provides programs, which can solve basic practical problems, for a fairly comprehensive range of maths and engineering applications. They have been kept as simple as possible, while still being of practical use, so that the source code can be readily understood by users. Users can take these as a starting-point, and modify them to produce programs tailored to their own particular needs. In your example, the advanced elasticity program ELADV source code provides the coding for excavation loading, and it would be relatively straightforward to incorporate this into the viscoplasticity program VPLAS. If you don't have the time or programming expertise to do this yourself, I am open to offers of consultancy work!
If I produced an "all-singing, all-dancing" f.e. program, the source code would run to many thousands of lines, no-one would understand it - and I would be charging thousands of dollars for it, like the many commercial black-box f.e. packages on the market.

Can you include the Hoek-Brown plastic yield criterion in the PLAST program, please?
I'm afraid not, for the reasons given above.

Will you be creating a new 'main engine' for plate-bending applications?
Not in the foreseeable future. But you can develop your own 'main engines' from those provdied in FELIPE. A plate-bending analysis program PLATE.FOR could be developed from ELAST.FOR; note however that this would be an Advanced-level scalar-variable problem (NDOFN=-1) since the primary nodal variable is the out-of-plane displacement (a scalar). You would add additional nodal variables representing the rotations in the xz and yz planes. You could use the 'body force loading' feature in PREFEL to apply distributed normal loads to parts of the plate.
The only limit on what f.e. programs you can develop from FELIPE, is your imagination (and your programming abilities)!

How does FELVUE decide which is the major and which is the minor principal stress, when one or both stresses are negative?
FELVUE (and the 'main engines') uses the compression-positive sign convention for stresses. Then the major principal stress is the most positive (or least negative) one. So if the stresses are: 12 and 2, 12 is major; if they are 12 and -6, 12 is major; but also if they are 12 and -18, 12 is still the major, even though -18 is greater in magnitude. If they are -6 and -18, -6 is the major.

What is the difference between "material type" and "material property set no."?
Material type LMTYP(L), and material property set no. LPROS(L), are completely independent numbers associated with each element L. Material property set tells the `main engines' which property set to associate with the element. Material type is used for various purposes by the different 'main engines' - in eladv it's only used with excavation loading: material type 1 means structural elements (e.g. tunnel lining) which don't have in situ stresses. Similarly, in CONSL elements with material type 1 are structural (e.g. the concrete footing in conslex3.dat) and don't have any pore pressure.
Material type is also used in FELVUE to select which elements to view. So if you want to view only those elements associated with a particular material property set, you can assign the material type to be the same as the material property set no. for that element. So elements with material property set 1 have type 1, those with material property set 2 have type 2, etc.
If you add a new element, PREFEL asks which mat type it is, and what mat prop set it belongs to. Mat type isn't used for different sets of data, it's to distinguish different types of material (as in the examples quoted above). If the main program (or at least the features of it that you're using) don't use the material types, then you can assign them to suit your own purposes, e.g. to display of groups of elements. You can specify up to 9 material types.
As a final example, if you have a continuum mechanics problem where some elements represent materials (e.g. rock) which behave elasto-plastically, while others represent materials (e.g. metal parts) which remain elastic, these will have different material property sets (only E and \nu for elastic materials). You should also assign different material type values, and you can easily modify the stiff subroutine in PLAST.FOR or VPLAS.FOR so that the plasticity subroutines are skipped for those elements with the elastic material type. Apart for the significance of LMTYP(L)=1 mentioned above, it's up to you what the different values of LMTYP signify!

Can FELIPE handle axisymmetric problems?
The pre-processor PREFEL can be used to generate a 2D mesh which can be used for an axisymmetric problem.
The elasticity 'main engines' ELAST and ELADV handle axisymmetric analyses. The 2D plasticity 'main engines' are written for plane stress or plane strain, but it is relatively straightforward to modify them for axisymmetric analyses.
The post-processor FELVUE reads four stress components from the Gauss-point values in the .out file, which it takes to be sigma_x, sigma_y, tau_xy and sigma_z. The last component is optional, and can be used to contain the out-of-plane stress (e.g. in nonlinear plane stress/strain problems), and contour plots of this component can also be generated. For axisymmetric results the stress components sigma_r, sigma_z, tau_rz and sigma_theta will be written by the 'main engine' ELAST or ELADV into the .out file, and FELVUE used to generate contour plots.
Thus, FELIPE can be used for axisymmetric analyses, if the user reinterprets the captions in PREFEL and FELVUE for him/herself. It would make these programs too unwieldy if all captions were generalised to cover plane and axisymmetric situations.

  Back to top

FELIPE Home | Demonstration | Download | Licence | Manual