Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions papers/maxwells_source_cloaking_paper/1D-Example/input.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
%YAML 1.1
---
ANONYMOUS:
debug level: 0
verbosity: 0
Mesh input file: input_mesh.yaml
Physics:
modules: maxwell
active controls: true
Initial conditions:
scalar data: true
E: 0.0
B: 0.0
Dirichlet conditions:
scalar data: false
Ex:
back: '0.0'
front: '0.0'
Ey:
back: '0.0'
front: '0.0'
Ez:
back: '0.0'
front: '0.0'
Mass weights:
E: 1.0
B: 1.0
Norm weights:
E: permittivity
B: 1/permeability
Discretization:
order:
E: 1
B: 1
quadrature: 2
side quadrature: 2
Parameters input file: input_params.yaml
Functions input file: input_functions.yaml
Solver:
solver: 'transient'
transient BDF order: 1
transient Butcher tableau: DIRK-1,2
workset size: 100
final time: 2.0e-13
number of steps: 400
assembly partitioning: sequential
use basis database: false
use mass database: false
database TOL: 1.0e-13
linear TOL: 1.0e-14
max linear iters: 200
nonlinear TOL: 1.0e-07
max nonlinear iters: 1
use preconditioner: true
preconditioner type: Ifpack2
preconditioner variant: RELAXATION
right preconditioner: true
use direct solver: false
reuse preconditioner: true
reuse Jacobian: true
preconditioner reuse type: full
Belos implicit residual scaling: Norm of Initial Residual
storage proportion: 1.0
Belos solver: 'BiCGStab'
enable autotune: true
Preconditioner Settings:
"relaxation: type": "Jacobi"
"relaxation: damping factor": 0.5
"relaxation: backward mode": false
"relaxation: sweeps": 2
dump jacobian: false
Analysis input file: input_rol2.yaml
Postprocess:
write solution: true
write frequency: 1
exodus write frequency: 1
output file: opt-output/output
compute objective: true
compute response: false
compute weighted norm: false
compute sensitivities: false
Objective functions:
EM Energy:
type: integrated control
function: '0.5*permittivity*((E[x])^2+(E[y])^2+(E[z])^2) + 0.5/permeability*((B[x])^2+(B[y])^2+(B[z])^2)'
weight: 1.0e35
blocks: 'eblock-0_0_0 eblock-0_0_1 eblock-0_0_2 eblock-0_0_6 eblock-0_0_7 eblock-0_0_8'
RegObj:
type: integrated control
function: '0.0'
weight: 0.0
blocks: 'eblock-0_0_3 eblock-0_0_5'
Regularization functions:
l2reg:
type: integrated
location: volume
function: '0.5*(ctrl_current[x]*ctrl_current[x])+0.5*(ctrl_current[y]*ctrl_current[y])+0.5*(ctrl_current[z]*ctrl_current[z])'
weight: 1.0e5
curlreg:
type: integrated
location: volume
function: '0.5*(curl(ctrl_current)[x]*curl(ctrl_current)[x])+0.5*(curl(ctrl_current)[y]*curl(ctrl_current)[y])+0.5*(curl(ctrl_current)[z]*curl(ctrl_current)[z])'
weight: 1.0e5
Extra cell fields:
Jx: 'current x'
Jy: 'current y'
Jz: 'current z'
ctrlJx: 'curl(ctrl_current)[x]'
ctrlJy: 'curl(ctrl_current)[y]'
ctrlJz: 'curl(ctrl_current)[z]'
conductivity: sigma
em_energy: '1.0e35 * (0.5*permittivity*(E[x]^2+E[y]^2+E[z]^2) + 0.5/permeability*(B[x]^2+B[y]^2+B[z]^2))'

...
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
%YAML 1.1
---
ANONYMOUS:
debug level: 0
verbosity: 10
Mesh input file: input_mesh.yaml
Physics:
modules: maxwell
active controls: true
Initial conditions:
scalar data: true
E: 0.0
B: 0.0
Dirichlet conditions:
scalar data: false
Ex:
back: '0.0'
front: '0.0'
Ey:
back: '0.0'
front: '0.0'
Ez:
back: '0.0'
front: '0.0'
Discretization:
order:
E: 1
B: 1
quadrature: 2
side quadrature: 2
Functions input file: input_functions_forward.yaml
Solver:
solver: 'transient'
transient BDF order: 1
transient Butcher tableau: DIRK-1,2
workset size: 100
final time: 2.0e-13
number of steps: 400
assembly partitioning: sequential
use basis database: false
use mass database: false
database TOL: 1.0e-13
linear TOL: 1.0e-14
max linear iters: 200
nonlinear TOL: 1.0e-07
max nonlinear iters: 1
use preconditioner: true
preconditioner type: Ifpack2
preconditioner variant: RELAXATION
right preconditioner: true
use direct solver: false
reuse preconditioner: true
reuse Jacobian: true
preconditioner reuse type: full
Belos implicit residual scaling: Norm of Initial Residual
storage proportion: 1.0
Belos solver: 'BiCGStab'
enable autotune: true
Preconditioner Settings:
"relaxation: type": "Jacobi"
"relaxation: damping factor": 0.5
"relaxation: backward mode": false
"relaxation: sweeps": 2
Analysis:
analysis type: forward
Postprocess:
write solution: true
write frequency: 1
exodus write frequency: 1
output file: forward-output-44/forward_output
Extra cell fields:
Jx: 'current x'
Jy: 'current y'
Jz: 'current z'
conductivity: sigma
em_energy: '1.0e35 * (0.5*permittivity*(E[x]^2+E[y]^2+E[z]^2) + 0.5/permeability*(B[x]^2+B[y]^2+B[z]^2))'

...
101 changes: 101 additions & 0 deletions papers/maxwells_source_cloaking_paper/1D-Example/input_functions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
%YAML 1.1
---
ANONYMOUS:
Functions:
# center block where current starts from
eblock-0_0_4:
current x: 'gt*exp(-2*timebub*(t<toff))*(z<zmax)*(z>zmin)'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
fc: '75.0e12'
fb: '40.0e12'
bs: '2.3548'
sigmaJ: fb/bs
gt: 'cos(2*pi*fc*(t-toff))'
timebub: '(pi*sigmaJ*(t-toff))*(pi*sigmaJ*(t-toff))'
toff: '50.0e-15'
zmin: '-0.404e-6'
zmax: '0.404e-6'

# control blocks (NB: the parameters are not defined nor used in the forward problem)
eblock-0_0_3:
current x: 'curl(ctrl_current)[x]'
current y: 'curl(ctrl_current)[y]'
current z: 'curl(ctrl_current)[z]'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_5:
current x: 'curl(ctrl_current)[x]'
current y: 'curl(ctrl_current)[y]'
current z: 'curl(ctrl_current)[z]'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'

# end blocks where adiabatic absorption occurs
eblock-0_0_0:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
conductivity: 'alpha*zmindist*zmincut + alpha*zmaxdist*zmaxcut'
alpha: 'max_sigma/(abs(zmaxend-zmaxstart)^3)'
max_sigma: "1.0e4"
zmaxd: 'abs(z-zmaxstart)'
zmaxdist: 'zmaxd*zmaxd*zmaxd'
zmaxcut: '(z>zmaxstart)'
zmaxstart: '32.0e-6'
zmaxend: '40.0e-6'
zmind: 'abs(z-zminstart)'
zmindist: 'zmind*zmind*zmind'
zmincut: '(z<zminstart)'
zminstart: '-32.0e-6'
zminend: '-40.0e-6'
eblock-0_0_8:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
conductivity: 'alpha*zmindist*zmincut + alpha*zmaxdist*zmaxcut'
alpha: 'max_sigma/(abs(zmaxend-zmaxstart)^3)'
max_sigma: "1.0e4"
zmaxd: 'abs(z-zmaxstart)'
zmaxdist: 'zmaxd*zmaxd*zmaxd'
zmaxcut: '(z>zmaxstart)'
zmaxstart: '32.0e-6'
zmaxend: '40.0e-6'
zmind: 'abs(z-zminstart)'
zmindist: 'zmind*zmind*zmind'
zmincut: '(z<zminstart)'
zminstart: '-32.0e-6'
zminend: '-40.0e-6'

# other blocks
eblock-0_0_1:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_2:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_6:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_7:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
%YAML 1.1
---
ANONYMOUS:
Functions:
# center block where current starts from
eblock-0_0_4:
current x: 'gt*exp(-2*timebub*(t<toff))*(z<zmax)*(z>zmin)'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
fc: '75.0e12'
fb: '40.0e12'
bs: '2.3548'
sigmaJ: fb/bs
gt: 'cos(2*pi*fc*(t-toff))'
timebub: '(pi*sigmaJ*(t-toff))*(pi*sigmaJ*(t-toff))'
toff: '50.0e-15'
zmin: '-0.404e-6'
zmax: '0.404e-6'

# control blocks (NB: the parameters are not defined nor used in the forward problem)
eblock-0_0_3:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_5:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'

# end blocks where adiabatic absorption occurs
eblock-0_0_0:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
conductivity: 'alpha*zmindist*zmincut + alpha*zmaxdist*zmaxcut'
alpha: 'max_sigma/(abs(zmaxend-zmaxstart)^3)'
max_sigma: "1.0e4"
zmaxd: 'abs(z-zmaxstart)'
zmaxdist: 'zmaxd*zmaxd*zmaxd'
zmaxcut: '(z>zmaxstart)'
zmaxstart: '32.0e-6'
zmaxend: '40.0e-6'
zmind: 'abs(z-zminstart)'
zmindist: 'zmind*zmind*zmind'
zmincut: '(z<zminstart)'
zminstart: '-32.0e-6'
zminend: '-40.0e-6'
eblock-0_0_8:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
conductivity: 'alpha*zmindist*zmincut + alpha*zmaxdist*zmaxcut'
alpha: 'max_sigma/(abs(zmaxend-zmaxstart)^3)'
max_sigma: "1.0e4"
zmaxd: 'abs(z-zmaxstart)'
zmaxdist: 'zmaxd*zmaxd*zmaxd'
zmaxcut: '(z>zmaxstart)'
zmaxstart: '32.0e-6'
zmaxend: '40.0e-6'
zmind: 'abs(z-zminstart)'
zmindist: 'zmind*zmind*zmind'
zmincut: '(z<zminstart)'
zminstart: '-32.0e-6'
zminend: '-40.0e-6'

# other blocks
eblock-0_0_1:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_2:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_6:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
eblock-0_0_7:
current x: '0'
current y: '0'
current z: '0'
permittivity: '8.854187817e-12'
permeability: '1.2566370614e-6'
...
Loading