Shap3d26.dat, 26th 'shape' file for CPO3D

A cylinder with an end cut at an angle to the axis.


Superseded by shap3d39.


See also program26.


The program for producing this data file is called 'prog26.f90'.

The compiled version is 'prog26.exe'.

'prog26.f90' and 'prog26.exe' are both supplied as part of the CPO3D package.


To run the program simply type 'prog26' as a command line.


Before doing that, set up the data file that is read by prog26.

This data file is called 'tempin.dat'. A copy is contained in prog26.dat.

At present it contains:


1. ! =radius of sphere (called r below)

0.5 ! =highest z of cut cylinder (called zm below)

0 ! =subdivision number around axis (called ns below)

50 ! =approximate total number of segments

1 ! =number of the applied voltage


This is an example of a data file that can be used with program 26 (called prog26 in the CPO package).

Program 26 generates the segments of a cylinder that has an end cut at an angle, for insertion into a data file for CPO3D.

It is assumed that:

(1) the z axis is the axis of the cylinder

(2) the cut end starts at (x,y,z) = (-r,0,0), where r is the radius of the cylinder

(3) the cut end finishes at (x,y,z) = (r,0,zm)

(4) the xz plane is a plane of reflection symmetry, so therefore only the segments that have y >= 0 will be generated

At the edge of the cut this program will generate triangles of the type 'end conical or cylindrical triangles'. The relevant cone will be given an opening angle of 1/s and its pointed end will be put at z = s, where s = r*1.E8, which effectively turns the cone into a cylinder.

(Note that 'end cylindrical triangles' are not included in CPO3D.)

These triangles have the property that when they are subdivided the resulting triangles have sides that continue to lie along the cut edge.

The parts of the cylinder that do not touch the cut end are rectangular are are subdivided into rectangular segments.


If ns (see above) is non-zero then the program will maintain n-fold symmetry about the axis, where n = 4*ns. So for 8-fold or 6-fold symmetry put ns = 2 or 3 respectively.


The uncut part of the cylinder is not included, but can be added by the user.


If the xz plane is not a plane of reflection symmetry then the segments that have y <= 0 can be generated by reflection, using the 'transform' option of the CPO3D program.


The cut cylinder can be scaled and/or shifted and/or reflected and/or rotated by the using the 'transform' option of the CPO3D program.

Therefore follow this procedure:

(1) Copy prog26.dat to tempin.dat

(2) Edit tempin.dat

(3) Use the command prog26 (or in some other way call prog26.exe)

(4) Copy the contents of tempout.dat and paste them into a suitable data file for CPO3D

(5) Add the remaining uncut part of the cylinder

(6) If the y=0 plane is not a plane of reflection symmetry then add the segments at y < 0 by using the 'reflect' option of the 'transform' option

(7) Use the 'transform' option to scale and/or shift and/or reflect and/or rotate the object.