Network User Element
The user can define and code his/her own gas network element. The process of
doing so requires the following steps:
- decide whether the element should be pipe-like (i.e. the total
temperature and static temperature at the end nodes differ) or
chamber-connecting-like (i.e. the element connects large chambers and the
total and static temperatures at the end nodes are equal).
- choose a type name. For a pipe-like element the name has to start with
“UP” followed by 5 characters to be choosen freely by the user (UPxxxxx). For a
chamber-connecting-like element it has to start with “U”, followed by a
character unequal to “P” and followed by 5 characters to be choosen freely
by the user (Uyxxxxx, y unequal to “P”).
- decide on the number of constants to describe the element. This number
has to be specified on the *FLUID SECTION card with
the CONSTANTS parameter.
- add an entry in the if-construct in subroutine
user_network_element.f. Notice that the type labels in the input deck (just as everything
else, except file names) are converted into upper case when being read by CalculiX.
- write an appropriate user network element subroutine,
e.g. user_network_element_pxxxxx.f or
user_network_element_yxxxxx.f. Details can be found in Section
8.8. This routine describes how the total pressure at
the end nodes,the total temperature at the end nodes and the mass flow
through the element are linked.
- add an entry in the if-construct in subroutine calcgeomelemnet.f (marked
by START insert and END insert). This
routine is used to determine the cross section area of the element (is used
to calculate the static temperature from the total temperature).
- add an entry in the if-construct in subroutine calcheatnet.f (marked by
START insert and END insert). This routine is used to calculate the heat
generation e.g. due to centrifugal forces.