epc – enggprog compute

enggprog compute – epc is GPL web based CalculiX CrunchiX – ccx solver for solving multiphysics problems using Finite Element analysis. It is written in PHP.

How it works:

Upload ccx input file and get tar output. You can find online instance at: enggprog.net


  1. Dedicated debian server with CalculiX CrunchiX installed.
  2.  Apache2
  3.  PHP
  4. mod_expires, mod_headers activated.


You can download the tar files of epc package from here.


  1. Extract the package files of epc in web root.
  2. Change site name in core/config.php.
  3. Open index.php in web browser.


  1. enggprog.net is in alpha stage running on Pentium 4 with 1MBPS home based connection. It may not handle heavy traffic.
    Or sometimes you may face downtime on enggprog.net.
  2. Apache security features not implemented yet. Number of active users at given time is not limited yet.

Future Development:

  1. Implementing apache security features.
  2. Limiting simultaneous active session.
  3. Adding feature to excute fbd+inp file.


  1. CalculiX Portal.
  2. CalculiX Forum.
  3. CalculiX Binary for Debian 32bit.
  4. CalculiX Binary for Debian 64bit.
  5. CalculiX Buildbot for Debian 32bit.
  6. CalculiX Buildbot for Debian 64bit.

Highlighting Syntax in gedit for CalculiX CrunchiX inp file for Enhanced Readability

CalculiX is a free software nonlinear three-dimensional finite element program for structural applications. Following steps results in syntax highlight of inp file in gedit:

  1. Add .xml in ~/.local/share/mime/packages named ccx.xml with following content:

  2. Update mime-database as:

  3. Add ccx.lang file in /usr/share/gtksourceview-3.0/language-specs or in path resulting from following command:

    The content of ccx.lang is:

  4. Open inp file and select gedit program to open.
  5. If you dont like or face problem then revert back the inp files to plain text as:

Syntax Highlight Files can be downloaded from below link:
Download Syntax Highlight Files.

before syntax highlight
Fig.1: Before Syntax Highlight of CCX input file.
after syntax highlight
Fig.2: After Syntax Highlight of CCX input file.



  1. Gedit New Language File
  2. Language Definition v2.0 Tutorial
  3. SuperUser.com
  4. CalculiX CrunchiX

Analysis of GFRC in Ansys APDL

Following is link contain APDL code for GFRC. It will be modified for better post processing result and topology optimization.

Download Ansys APDL file for Analysis of GFRC

The preview of above inp file is show below.

This APDL code is available for mentoring. Comment for your suggestions and improvements.

Analysis of GFRC in Ansys APDL

Strong and Weak Form Solution – FEA

Partial Differential Equations – PDE is called “strong form” because the relationship MUST satisfy at every mathematical point in the domain.

A “weak form” means that the relationship (in integral form) is only satisfied in overall sense. In another word, “it is only satisfied in an integral (sum) sense, it is not a requirement that every point in the domain MUST obey”

The strong form of a differential equation is just that: the (partial) differential equation itself. Evaluating the PDE requires being able to get all the associated derivatives. It is satisfied pointwise at every point in a body, and is usually stated as D[u] = 0, where D is some partial differential operator. In this case, I am using u as the displacement. It may be more appropriate to look at, say, Cauchy stress (s) instead of displacement. Then the strong form might be something like D[s,u] = div[s] – ru,tt= 0.

The weak form is obtained by multiplying the PDE by an arbitrary weighting function of (in most cases) the spatial variables, then integrating the result over the domain. One then requires that the result is zero for all choices of such functions. An integration by parts is performed, leading to differentiability requirements on the weighting function, but relaxing, or “weakening” the requirements on the field described by the PDE. Once we start setting requirements on these functions, we “weaken” the form even more, but often provide a basis for expressing the approximate solution.


Q1. Why do we multiply the PDE by the weighting function?

Q2. How do we choose the weighting function?


The “why” is to reduce differentiability requirements on our approximate solution.
The “how” is whatever works. If you know of a particular set of functions that work well in your geometry (say Bessel functions for axisymmetric problems), you can use these. We often use arbitrary combinations of nodal basis functions (compact support, C1, finite domains). If we use the same basis for our weighting functions as we use to represent our primary variable field(s), e.g. displacement, we are using a Galerkin method.

By Matt Lewis
Los Alamos, New Mexico

This excerpt is taken from IMECHANICA Forum.


  1. Weak Derivative – Wikipedia
  2. Weak Formulation – Wikipedia
  3. Weak Solution – Wikipedia


Lectures on Introduction to Finite Element Analysis

Following are course content for Introduction to Finite Element Analysis –  FEA.

Course Intructor: Prof. Dr. Shahzad Rahman

Introduction to FEA

Very Informative lectures on FEA are also available on Youtube.


Course Outline

Lecture 1: Overview of Finite Element Method – FEM, Historical Background and its Application

Lecture 2: Method of Weighted Residual, Least Square, Collocation, and Galerkin

Lecture 3: General derivation of Finite Element Equilibrium Equations

Lecture 4: Development of Stiffness Matrix for a Beam Element

Lecture 5: Some rules governing relationship between Global and Local Coordinates

Lecture 6: Comments on Numerical Integration

Lecture 7: Error and Convergence in FEM


Assignment 1: Bar Element Problem

Assignment 2: Beam Problem

Assignment 3: Thick walled cylinder Problem

Solution of Assignments

Note: Solution of Assignment 1 is in Lecture 2. There is excellent solution of axial bar problem using FE and comparing with Exact Solution plot along with matlab code in here.

Solution of Assignment 2

Solution of Assignment 3


Midterm Exam Paper

Final Term Paper