-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new Laplacian for exchange BC #38
Merged
ajnonaka
merged 73 commits into
AMReX-Microelectronics:development
from
prkkumar:exchange_bc
Feb 23, 2022
Merged
Changes from 53 commits
Commits
Show all changes
73 commits
Select commit
Hold shift + click to select a range
5e71370
change plot.period to plot.intervals
b2d7bbd
changed plot.period to plot.intervals
3a82ef3
updated Examples/Tests/Macroscopic_Maxwell/inputs_3d_LLG_noMs
jackieyao0114 7daf765
Merge branch 'development' of https://github.com/jackieyao0114/artemi…
jackieyao0114 ce7f3d8
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
jackieyao0114 1b9fdb1
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka aed980f
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka eea5c52
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 328c46c
Merge branch 'development' of https://github.com/jackieyao0114/artemi…
jackieyao0114 3200d03
some tweaks Examples/Tests/Macroscopic_Maxwell/inputs_3d_LLG_noMs
jackieyao0114 6dde33a
fixed bug in getting mag_exchange_init_style and mag_anisotropy_init_…
jackieyao0114 bfc0b01
Merge branch 'development' of https://github.com/jackieyao0114/artemi…
ajnonaka f581c09
EOL whitespace
ajnonaka e6685e3
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka d603691
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka a61bcc1
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 23bf869
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 428471e
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 7f08cae
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka ae6397c
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka b78d170
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 8dd6bd3
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 58ee426
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 7df7291
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 849ccf1
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 5a048e1
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka eaa1002
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 57df4c6
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 8a6a97d
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 0d3db52
Merge branch 'development' of https://github.com/ajnonaka/artemis int…
ajnonaka eacbac7
new Laplacian for exchange BC
prkkumar a2b5637
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 15aeca0
Neumann BC with one-sided derivative at corners
prkkumar 490ba05
fixes for components of M and nodality
prkkumar afe86ed
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 9ec0d3f
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka cf51157
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka 2b415ea
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka d66c56f
exchange BC test case
prkkumar bfbf34c
detect boundary based on Ms rather than M
d917ea4
pass n_coefs_* in 1st order derivative calculations
prkkumar 6fdcb80
properly initialize H_IndexType
ajnonaka c404dfd
proper stag bug fix
prkkumar 83c5b54
Merge remote-tracking branch 'andy/H_IndexType' into exchange_bc
prkkumar 71379de
exchange BC input file
prkkumar c9611de
exchangeBC test input file
9474991
Update GNUmakefile
prkkumar c1c7bdf
Fix typo in input file
prkkumar 8f34bd5
Tabs
prkkumar 93dfcfd
EOL
prkkumar be520a3
increase range of magnetic region so faces at interface are guarantee…
ajnonaka 347d907
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka b978353
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
ajnonaka b1f2be1
fill ghost cells for M_prev after each iteration
ajnonaka b35916a
constant magnetic properties
fa1a655
bugfix; use zface only in z loop
ajnonaka d3637db
revert these files
ajnonaka 495ccfd
Fixes for Neumann BC
prkkumar ca8195d
bug fix yface
prkkumar e10bce6
Merge branch 'exchange_bc' of https://github.com/prkkumar/artemis int…
prkkumar 3e17bcc
added test cases input and post processing bash
jackieyao0114 06ac081
resolve conflict
prkkumar 188683a
Merge branch 'exchange_bc' of github.com:prkkumar/artemis into exchan…
prkkumar 598eb15
fixed conflict when merging from development
jackieyao0114 3d5af9a
clean up magnetic property arrays without parsing; added back lev in …
jackieyao0114 c2c5996
fixed conflict
prkkumar cae3a93
Merge branch 'exchange_bc' of https://github.com/prkkumar/artemis int…
prkkumar 5aba187
Merge branch 'development' of https://github.com/ECP-WarpX/artemis in…
jackieyao0114 e9acf98
fixed conflict when merging from prabhat exchange_bc
jackieyao0114 7e59c80
Merge pull request #2 from jackieyao0114/my_exchange_bc
prkkumar 68237e3
style fix
prkkumar 6c876bb
EOL
prkkumar 7b86303
remove wrongly named files
prkkumar File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
88 changes: 88 additions & 0 deletions
88
Examples/Tests/Macroscopic_Maxwell/inputs_3d_LLG_exchangeBC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
################################ | ||
####### GENERAL PARAMETERS ###### | ||
################################# | ||
max_step = 60000 | ||
amr.n_cell = 64 64 64 # number of cells spanning the domain in each coordinate direction at level 0 | ||
amr.max_grid_size = 32 # maximum size of each AMReX box, used to decompose the domain | ||
amr.blocking_factor = 16 | ||
geometry.coord_sys = 0 | ||
|
||
geometry.prob_lo = -10e-9 -10e-9 -10.0e-9 | ||
geometry.prob_hi = 10e-9 10e-9 10.0e-9 | ||
boundary.field_lo = periodic periodic periodic | ||
boundary.field_hi = periodic periodic periodic | ||
amr.max_level = 0 | ||
|
||
################################# | ||
############ NUMERICS ########### | ||
################################# | ||
warpx.verbose = 1 | ||
warpx.use_filter = 0 | ||
warpx.cfl = 1000 | ||
warpx.mag_time_scheme_order = 2 # default 1 | ||
warpx.mag_M_normalization = 1 # 1 is saturated | ||
warpx.mag_LLG_coupling = 0 | ||
warpx.mag_LLG_exchange_coupling = 1 | ||
|
||
algo.em_solver_medium = macroscopic # vacuum/macroscopic | ||
algo.macroscopic_sigma_method = laxwendroff # laxwendroff or backwardeuler | ||
|
||
macroscopic.sigma_function(x,y,z) = "0.0" | ||
macroscopic.epsilon_function(x,y,z) = "8.8541878128e-12" | ||
macroscopic.mu_function(x,y,z) = "1.25663706212e-06" | ||
|
||
my_constants.mag_lo_x = -5.e-9 | ||
my_constants.mag_hi_x = 5.e-9 | ||
my_constants.mag_lo_y = -5.e-9 | ||
my_constants.mag_hi_y = 5.e-9 | ||
my_constants.mag_lo_z = -5.e-9 | ||
my_constants.mag_hi_z = 5.e-9 | ||
|
||
#unit conversion: 1 Gauss = (1000/4pi) A/m | ||
macroscopic.mag_Ms_init_style = "parse_mag_Ms_function" # parse or "constant" | ||
macroscopic.mag_Ms_function(x,y,z) = "1.4e5 * (x >= mag_lo_x - 1e-12) * (x <= mag_hi_x + 1e-12) * (y >= mag_lo_y - 1e-12) * (y <= mag_hi_y + 1e-12) * (z >= mag_lo_z - 1e-12) * (z <= mag_hi_z + 1e-12)" # in unit A/m, equal to 1750 Gauss; Ms must be nonzero for LLG | ||
|
||
macroscopic.mag_alpha_init_style = "parse_mag_alpha_function" # parse or "constant" | ||
macroscopic.mag_alpha_function(x,y,z) = "0.058 * (x >= mag_lo_x - 1e-12) * (x <= mag_hi_x + 1e-12) * (y >= mag_lo_y - 1e-12) * (y <= mag_hi_y + 1e-12) * (z >= mag_lo_z - 1e-12) * (z <= mag_hi_z + 1e-12)" # alpha is unitless, calculated from linewidth Delta_H = 40 Oersted | ||
|
||
macroscopic.mag_gamma_init_style = "parse_mag_gamma_function" # parse or "constant" | ||
macroscopic.mag_gamma_function(x,y,z) = "-1.759e11 * (x >= mag_lo_x - 1e-12) * (x <= mag_hi_x + 1e-12) * (y >= mag_lo_y - 1e-12) * (y <= mag_hi_y + 1e-12) * (z >= mag_lo_z - 1e-12) * (z <= mag_hi_z + 1e-12)" # gyromagnetic ratio is constant for electrons in all materials | ||
|
||
macroscopic.mag_exchange_init_style = "parse_mag_exchange_function" # parse or "constant" | ||
macroscopic.mag_exchange_function(x,y,z) = "3.76e-12 * (x >= mag_lo_x) * (x <= mag_hi_x) * (y >= mag_lo_y - 1e-12) * (y <= mag_hi_y + 1e-12) * (z >= mag_lo_z - 1e-12) * (z <= mag_hi_z + 1e-12)" # exchange coupling constanit; Must be non-zero when exchange coupling is ON | ||
|
||
macroscopic.mag_max_iter = 100 # maximum number of M iteration in each time step | ||
macroscopic.mag_tol = 1.e-6 # M magnitude relative error tolerance compared to previous iteration | ||
macroscopic.mag_normalized_error = 0.1 # if M magnitude relatively changes more than this value, raise a red flag | ||
|
||
################################# | ||
############ FIELDS ############# | ||
################################# | ||
warpx.E_ext_grid_init_style = parse_E_ext_grid_function | ||
warpx.Ex_external_grid_function(x,y,z) = 0. | ||
warpx.Ey_external_grid_function(x,y,z) = 0. | ||
warpx.Ez_external_grid_function(x,y,z) = 0. | ||
|
||
warpx.H_ext_grid_init_style = parse_H_ext_grid_function | ||
warpx.Hx_external_grid_function(x,y,z)= 0. | ||
warpx.Hy_external_grid_function(x,y,z) = 0. | ||
warpx.Hz_external_grid_function(x,y,z) = 0. | ||
|
||
#unit conversion: 1 Gauss = 1 Oersted = (1000/4pi) A/m | ||
#calculation of H_bias: H_bias (oe) = frequency / 2.8e6 | ||
warpx.H_bias_ext_grid_init_style = parse_H_bias_ext_grid_function | ||
warpx.Hx_bias_external_grid_function(x,y,z)= 0. | ||
warpx.Hy_bias_external_grid_function(x,y,z)= "3.7e4" # in A/m, equal to 464 Oersted | ||
warpx.Hz_bias_external_grid_function(x,y,z)= 0. | ||
|
||
warpx.M_ext_grid_init_style = parse_M_ext_grid_function | ||
warpx.Mx_external_grid_function(x,y,z)= "1.4e5 * (x >= mag_lo_x - 1e-12) * (x <= mag_hi_x + 1e-12) * (y >= mag_lo_y - 1e-12) * (y < 0.) * (z >= mag_lo_z - 1e-12) * (z <= mag_hi_z + 1e-12)" | ||
warpx.My_external_grid_function(x,y,z) = 0. | ||
warpx.Mz_external_grid_function(x,y,z) = "1.4e5 * (x >= mag_lo_x - 1e-12) * (x <= mag_hi_x + 1e-12) * (y >= 0.) * (y <= mag_hi_y + 1e-12) * (z >= mag_lo_z - 1e-12) * (z <= mag_hi_z + 1e-12)" | ||
|
||
#Diagnostics | ||
diagnostics.diags_names = plt | ||
plt.intervals = 10 | ||
plt.diag_type = Full | ||
plt.fields_to_plot = Ex Ey Ez Hx Hy Hz Bx By Bz Mx_xface My_xface Mz_xface Mx_yface My_yface Mz_yface Mx_zface My_zface Mz_zface | ||
plt.plot_raw_fields = 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is specific to LLG and mainly does laplacian, lets move this to a different file, in the same directory
CartesianYeeLaplacian.H
This would avoid conflicts when we merge and keep things clean