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]

     1Layout3D {
     2  Name = "Layout3DA"
     3  UnitOfLength = 1e-9
     4  
     5  MeshOptions {
     6    MaximumSideLength = 10
     7  }
     8  Extrusion {
     9    Objects {
    10      Parallelogram {
    11        Name = "CoDo"
    12        DomainId = 1
    13        Height = 100
    14        Width = 100
    15        Boundary {
    16          Class=Transparent
    17        }
    18      }
    19    }
    20    MultiLayer {
    21      LayerInterface {
    22        BoundaryClass = Transparent
    23      }
    24      Layer {
    25        Thickness = 10
    26        DomainId = 1
    27      }
    28      Layer {
    29        Thickness = 20
    30        DomainId = 2
    31      }
    32      LayerInterface {
    33        Texture {
    34          Python {
    35            Expression = "value=40*exp(-3e-3*X[0]*X[0]-3e-3*X[1]*X[1])"
    36          }
    37          MeshOptions {
    38            MaximumSideLength = 5	
    39            LowerDomain {
    40              MaximumSideLength = 10	             
    41            }
    42            UpperDomain {
    43              MaximumSideLength = 10	
    44            }
    45          }
    46        }
    47      }
    48      Layer {
    49        Thickness = 50
    50        DomainId = 3
    51      }
    52      
    53      LayerInterface {
    54        BoundaryClass = Transparent
    55      }
    56    }
    57    
    

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.