Rough SurfaceΒΆ

Learning targets

  • Construct a rough surface as a texture on the interface of two layers
  • Periodified Gaussian rough surfaces

This example constructs a Gaussian rough surface between two homogeneous layers:

_images/ex3d_rough_surface.png

.jcm Input File

  • layout.jcm [ASCII]

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    Layout3D {
      UnitOfLength = 1e-9
      
      MeshOptions {
        MaximumSideLength = 100
      }
      Extrusion {
        Objects {
          Parallelogram {
            Name = "ComputationalDomain"
            DomainId = 1
            Height = 2000
            Width = 2000
            
            Boundary {
              Class=Periodic
            }
          }
        }
        MultiLayer {
          LayerInterface {
            BoundaryClass = Transparent
          }
          Layer {
            DomainId = 2
            Thickness = 200
          }
          LayerInterface {
            Texture {
              RoughSurface {
                CorrelationLengths=[50 50]
                RMSHeight = 50.0
                RandomSeed = 1
              }
              MeshOptions {
                MaximumSideLength = 50
              }	
            }
          }
        }
      }
    }
    Layout3D {
      UnitOfLength = 1e-9
      
      MeshOptions {
        MaximumSideLength = 200
      }
      Extrusion { 
        Objects {
          Parallelogram {
            Name = "ComputationalDomain"
            DomainId = 1
            Height = 2000
            Width = 2000
            
            Boundary {
              Class=Periodic
            }
          }
        }
        MultiLayer {
          Layer {
            DomainId = 7
            Thickness = 200
          }
          
          LayerInterface {
            BoundaryClass = Transparent
          }
        }
      }
    }
    

Note

A texture can be placed within each LayerInterface section. In this example the texture was placed between two stacked layouts. This way we can define the meshing quality on both sides of the texture individually.