Sandia National Laboratories Tramonto
printLeftMenu(); ?>

Surface Control Parameters

These parameters are used to set up the geometric parameters defining the surfaces of interest.

  • Nwall_type(int): Number of Surface types in the system (i.e. two surfaces may be identical).
  • Nwall(int): Number of Surfaces in the system.
  • Nlink(int): Number of unique groups of surfaces (i.e. fixed atoms may be connected as molecules so Nlink may be small even though Nwall is large).
  • Lauto_center(int): Logical that signals whether the surfaces should be centered in the domain based on max and min coordinates (0=FALSE; 1=TRUE).
  • Lauto_size(int): Logical to have Tramonto choose the domain size based on the surface positions (0=FALSE; 1=TRUE).
  • Xtest_reflect_TF[Nlink][Ndim](int array): A logical array (0=FALSE: 1=TRUE). Only set an entry to True if there are reflective boundaries, a surface touches that reflective boundary, and if the surfaces in the next domain are to be treated as different surfaces than those in the computational domain. For example, consider a cylindrical surface with the long axis parallel to the z-coordinate of the system and assume all boundaries of the 3D domain are reflective. In the x and y directions, there are independent surfaces beyond the boundaries while in the z direction, the same cylinder is extended through the boundary. This parameters allows for differentiation between cases where that reflected cylinder should be treated as an independent surface (Xtest_reflect_TF[zdim]=TRUE) or where it should be treated as an extension of the surface in the computational domain (Xtest_reflect_TF[zdim]=FALSE).
  • Surf_type[Nwall_type](int vector): Vector to store surface geometries. Options are:
    • 0: Infinite Planar Wall
    • 1: Finite Planar Wall
    • 2: Colloids (cylindrical wedge in 2D/spheres in 3D)
    • 3: Atoms (spheres in 3D)
    • 4: Point Atoms (3D only)
    • 5: Finite Length Cylinder (3D only)
    • 6: Cylinder with Periodic function for the radius (3D only)
    • 7: Pore (cylinder in 2D, spherical cavity in 3D)
    • 8: Finite Pore (slit in 2D, cylindrical in 3D)
    • 9: Tapered Pore (slit in 2D, cylindrical in 3D)
  • Orientation[Nwall_type](int vector): Vector to store the orientation of each surface type. Note that this parameter does not have meaning for all of the surface geometries. For surfaces where it does not have meaning just leave a 0 for the entry (there must be an entry for each surface type). The meaning of the Orientation parameter in various cases is:
    • Infinite Planar Wall: surface normal.
    • Finite Planar Wall: surface normal.
    • Colloids (cylindrical wedge in 2D/spheres in 3D): N/A
    • Atoms (spheres in 3D): N/A
    • Point Atoms (3D only): N/A
    • Finite Length Cylinder (3D only): Long axis of cylinder.
    • Cylinder with Periodic function for the radius (3D only): Long axis of cylinder.
    • Pore (cylinder in 2D, spherical cavity in 3D): N/A
    • Finite Pore (slit in 2D, cylindrical in 3D): Long axis of pore
    • Tapered Pore (slit in 2D, cylindrical in 3D): Long axis of pore.
  • WallParam[Nwall_type](real vector): Vector to store first parameter associated with a given surface. Every surface type must have an entry in the input file. The meaning of WallParam in various cases is as follows:
    • Infinite Planar Wall: half thickness (note this is often coupled with Type_bc=IN_WALL where the surface is placed on the boundary, and then this distance indicates a region where densities will be zero in the computational domain).
    • Finite Planar Wall: half thickness (x0 dimension).
    • Colloids (cylindrical wedge in 2D/spheres in 3D): radius.
    • Atoms (spheres in 3D): N/A (use Sigma_ww to define the radius instead of this parameter).
    • Point Atoms (3D only): N/A (use Esize_x to define the size of this surface type).
    • Finite Length Cylinder (3D only): radius.
    • Cylinder with Periodic function for the radius (3D only): mean radius.
    • Pore (cylinder in 2D, spherical cavity in 3D): radius
    • Finite Pore (slit in 2D, cylindrical in 3D): pore radius
    • Tapered Pore (slit in 2D, cylindrical in 3D): pore radius on left(x0 dim), bottom(x1 dim), or back(x2 dim) side of tapered pore depending on the orientation of the pore.
  • WallParam2[Nwall_type](real vector): Vector to store second parameter associated with a given surface. Every surface type must have an entry in the input file. The meaning of WallParam2 in various cases is as follows:
    • Infinite Planar Wall: N/A
    • Finite Planar Wall: half thickness (x1 dimension).
    • Colloids (cylindrical wedge in 2D/spheres in 3D): N/A
    • Atoms (spheres in 3D): N/A
    • Point Atoms (3D only): N/A
    • Finite Length Cylinder (3D only): half-length.
    • Cylinder with Periodic function for the radius (3D only): amplitude of periodic function superimposed on radius
    • Pore (cylinder in 2D, spherical cavity in 3D): N/A
    • Finite Pore (slit in 2D, cylindrical in 3D): half-length
    • Tapered Pore (slit in 2D, cylindrical in 3D): pore radius on right(x0 dim), top(x1 dim), or front(x2 dim) side of tapered pore depending on the orientation of the pore.
  • WallParam3[Nwall_type](real vector): Vector to store third parameter associated with a given surface. Every surface type must have an entry in the input file. The meaning of WallParam3 in various cases is:
    • Infinite Planar Wall: N/A
    • Finite Planar Wall: half thickness (x2 dimension).
    • Colloids (cylindrical wedge in 2D/spheres in 3D): start point for wedge (angle in degrees from x0 axis)
    • Atoms (spheres in 3D): N/A
    • Point Atoms (3D only): N/A
    • Finite Length Cylinder (3D only): start point for wedge (angle in degrees from x0 axis - if Orientation=x2)
    • Cylinder with Periodic function for the radius (3D only): length of periodic function superimposed on radius
    • Pore (cylinder in 2D, spherical cavity in 3D): N/A
    • Finite Pore (slit in 2D, cylindrical in 3D): N/A
    • Tapered Pore (slit in 2D, cylindrical in 3D): pore half-length.
  • WallParam4[Nwall_type](real vector): Vector to store a fourth parameter associated with a given surface. Every surface type must have an entry in the input file. The meaning of WallParam4 in various cases is:
    • Infinite Planar Wall: N/A
    • Finite Planar Wall: N/A
    • Colloids (cylindrical wedge in 2D/spheres in 3D): end point for wedge (angle in degrees from x0 axis)
    • Atoms (spheres in 3D): N/A
    • Point Atoms (3D only): N/A
    • Finite Length Cylinder (3D only): end point for wedge (angle in degrees from x0 axis - if Orientation=x2)
    • Cylinder with Periodic function for the radius (3D only): N/A
    • Pore (cylinder in 2D, spherical cavity in 3D): N/A
    • Finite Pore (slit in 2D, cylindrical in 3D): N/A
    • Tapered Pore (slit in 2D, cylindrical in 3D): N/A
  • Lrough_surf[Nwall_type](int vector): Vector to store a logical (0=FALSE 1=TRUE) indicating if a surface should be roughened. This option is available for planar surfaces, and cylindrical surfaces and wedges (2D and 3D) at this time;
  • Rough_param_max[Nwall_type](real vector): Vector to specify the magnitude of the roughness. Tramonto uses this parameter combined with a random number generator to determine local radii (cylinders) or half thicknesses (planar surfaces). More specifically, the input parameter (e.g. radius) is locally modified by a random number (+/- tau), where tau has a maximum magnitude of rough_param_max.
  • Rough_length[Nwall_type](real vector): Vector to specify a length scale associated with surface roughness. Using this parameters, patches of the specified size will have the same tau values.
  • Note at this time, the roughness capabilities in Tramonto have had little use. Therefore, it is highly recommended that the user verify that surfaces are being constructed as expected prior to attempting production calculations. If the code is run in VERBOSE mode, the dft_zeroTF.dat file separates fluid and surface regions. This can be used to quickly check the setup. Implementation of roughness attributes can be found in dft_mesh_surfaces.c.