Scattering of a metallic sphere

Numerical methods and mathematical models of Elmer
Post Reply
giulian
Posts: 11
Joined: 05 Dec 2023, 12:21
Antispam: Yes

Scattering of a metallic sphere

Post by giulian »

Dear Elmer Community,

I would like to simulate the EM scattering of a sphere of about the same dimensions of the wavelength. After checked the test cases and in particular the waveguide example, I need to make some changes that I'm not sure how to implement:
  • The wavefront has to be plane
  • It shouldn't be any scattering coming from the boundaries

Any suggestions would be great and very useful for more complex simulations that I would have to implement in the future

My best regards
Giulian
kevinarden
Posts: 2313
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Scattering of a metallic sphere

Post by kevinarden »

giulian
Posts: 11
Joined: 05 Dec 2023, 12:21
Antispam: Yes

Re: Scattering of a metallic sphere

Post by giulian »

Dear Kevin,

Thank you to send me at the other post which has been helpful for elaborate my understanding of the Elmer. However, I'm still struggling with my problem. I would like that the boundaries behave as transparent for the incoming plane wave. From my simulation it seems that most of the incoming wave is absorbed even before getting to the sphere as in my attachment below.

elmerspherescattering1.png
(68.86 KiB) Not downloaded yet

If you have any suggestion that would be great.
Thank you very much



PS: for completeness I attached my sif




Code: Select all

Header
  CHECK KEYWORDS Warn
  Mesh DB "." "."
  Include Path ""
  Results Directory ""
End

Simulation
  Max Output Level = 5
  Coordinate System = Cartesian
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 1
  Output Intervals(1) = 1
  Coordinate Scaling = 1e-6
  Solver Input File = case.sif
  Post File = case.vtu
End

Constants
  Gravity(4) = 0 -1 0 9.82
  Stefan Boltzmann = 5.670374419e-08
  Permittivity of Vacuum = 8.85418781e-12
  Permeability of Vacuum = 1.25663706e-6
  Boltzmann Constant = 1.380649e-23
  Unit Charge = 1.6021766e-19
End

Body 1
  Target Bodies(1) = 1
  Name = "Body 1"
  Equation = 1
  Material = 2
End

Body 2
  Target Bodies(1) = 2
  Name = "Body 2"
  Equation = 1
  Material = 1
End

Solver 3
  Equation = Result Output
  Output Format = Vtu
  Procedure = "ResultOutputSolve" "ResultOutputSolver"
  Save Geometry Ids = True
  Output File Name = case
  Exec Solver = Always
End

Solver 1
  Equation = Vector Helmholtz Equation
  Procedure = "VectorHelmholtz" "VectorHelmholtzSolver"
Quadratic Approximation = True
  Linear System Preconditioning Damp Coefficient im = 1.0
  Variable = E[E re:1 E:1]
  Exec Solver = Always
  Stabilize = True
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStabl
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-6
  BiCGstabl polynomial degree = 6
  Linear System Preconditioning = vanka
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 10
  Linear System Precondition Recompute = 1
End

Solver 2
  Equation = Vector Helmholtz Post Process
  Field Variable = E
  Procedure = "VectorHelmholtz" "VectorHelmholtzCalcFields"
  Calculate Electric Field = True
  Calculate Div of Poynting Vector = True
  Calculate Poynting Vector = True
  Calculate Magnetic Field Strength = True
  Calculate Magnetic Flux Density = True
  Exec Solver = Always
  Stabilize = True
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStabl
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-6
  BiCGstabl polynomial degree = 6
  Linear System Preconditioning = vanka
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 10
  Linear System Precondition Recompute = 1
End

Equation 1
  Name = "Equation 1"
  Angular Frequency = $ 2*pi*10e14
$ omega = 2*pi*10e14
$ kc= omega/(3e8)
  Active Solvers(3) = 3 1 2
End

Material 1
  Name = "Air"
  Relative Permittivity = 1
End

Material 2
  Name = "Metal"
  Relative Permittivity = Real -4000
End

Boundary Condition 1
  Target Boundaries(4) = 2 3 5 6 
  Name = "PEC"
  Electric Robin Coefficient im = $ kc
  Electric Robin Coefficient = $ kc
End

Boundary Condition 2
  Target Boundaries(1) = 1 
  Name = "inport"
  Electric Robin Coefficient im = $ kc
  Magnetic Boundary Load 2 = Variable "Coordinate 1"; REAL MATC "cos(kc*tx)"
End

Boundary Condition 3
  Target Boundaries(1) = 7 
  Name = "outport"
  Electric Robin Coefficient im = $ kc
End

raback
Site Admin
Posts: 4832
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Scattering of a metallic sphere

Post by raback »

Hi

Maybe you could share the full case somewhere. One critical thing is that you have ~>10 elements for each wave. Otherwise you cannot capture the solution. This makes FEM quite heavy for large wave numbers.

For outlet you can use "Absorbing BC = True" that automatically sets appropriate impedance so that wave will not reflect.

-Peter
giulian
Posts: 11
Joined: 05 Dec 2023, 12:21
Antispam: Yes

Re: Scattering of a metallic sphere

Post by giulian »

Dear Peter,

Thank you for your reply. I tried the "Absorbing BC = True" but unfortunately it didn't help.

I share here the repository : https://github.com/giulianEs/MieScattering

Indeed, most of my work is in the mid-infrared regime and I will need more calculation power to add at my simulation

Thanks again for the help
Giulian
Post Reply