Gaussian BumpΒΆ

Learning targets

  • Define a surface texture between two homogeneous layers
  • Define a Gaussian bump like surface by a inline Python expression

This example constructs a Gaussian bump between two homogeneous layers:

_images/ex3d_gaussian_bump_mesh.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
    Layout3D {
      Name = "Layout3DA"
      UnitOfLength = 1e-9
      
      MeshOptions {
        MaximumSideLength = 10
      }
      Extrusion {
        Objects {
          Parallelogram {
            Name = "CoDo"
            DomainId = 1
            Height = 100
            Width = 100
            Boundary {
              Class=Transparent
            }
          }
        }
        MultiLayer {
          LayerInterface {
            BoundaryClass = Transparent
          }
          Layer {
            Thickness = 10
            DomainId = 1
          }
          Layer {
            Thickness = 20
            DomainId = 2
          }
          LayerInterface {
            Texture {
              Python {
                Expression = "value=40*exp(-3e-3*X[0]*X[0]-3e-3*X[1]*X[1])"
              }
              MeshOptions {
                MaximumSideLength = 5	
                LowerDomain {
                  MaximumSideLength = 10	             
                }
                UpperDomain {
                  MaximumSideLength = 10	
                }
              }
            }
          }
          Layer {
            Thickness = 50
            DomainId = 3
          }
          
          LayerInterface {
            BoundaryClass = Transparent
          }
        }
        
    

Note

A texture can be placed within each LayerInterface section, i.e. also between two stacked layouts. This allows to define the meshing quality on both sides of the texture individually.