My Project
programmer's documentation
|
A cell (real cell) is an elementary mesh element of the spatial discretisation of the calculation domain. The mesh is made of ncel cells. When using periodicity and parallelism, extra "ghost" cells (also called "halo" cells) are defined for temporary storage of some information (on a given process). The total number of real and ghost cells is ncelet.
distant'' neighboring cell, a ghost cell (
halo'') is created.An internal face is an inferface shared by two cells (real or ghost ones) of the mesh. A boundary face is a face which has only one real neighboring cell. In the case of periodic calculations, a periodic face is an internal face. In the case of parallel running calculations, the faces situated at the boundary of a partition may be internal faces or boundary faces (of the whole mesh);
The faces - vertices connectivity is accessed by means of four integer functions: ipnfac and nodfac for the internal faces, ipnfbr and nodfbr for the boundary faces. nodfac accesses the list of all the vertices of all the internal faces; first the vertices of the first face, then the vertices of the second face, and so on. ipnfac (size: nfac+1) gives the position ipnfac(ifac) in nodfac of the first node of each internal face ifac
. Therefore, the reference numbers of all the vertices of the internal face ifac
are: nodfac(ipnfac(ifac)), nodfac(ipnfac(ifac)+1), ..., nodfac(ipnfac(ifac+1)-1). In order for this last formula to be valid even for ifac=nfac
, ipnfac is of size nfac+1 and ipnfac(nfac+1) is equal to lndfac+1. For boundary faces, the array access functions nodfbr and ipnfbr are used in a similar fashion.
The user must not modify the existing modules in user source directories, as this may break the code in more or less subtle fashion. Developers modifying modules must recompile the whole code. As this may not be possible for users (and in any case breaks versioning and quality assurance), modules should be defined in cs_user_modules.f90.