texcleaner 0.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- texclean/__init__.py +24 -0
- texclean/__main__.py +4 -0
- texclean/app.py +308 -0
- texclean/scripts/changes/0-text.tex +225 -0
- texclean/scripts/changes/1-text.tex +216 -0
- texclean/scripts/changes/pyMergeChanges.py +305 -0
- texclean/scripts/trackchanges-py3/0readme-acceptchanges3.txt +10 -0
- texclean/scripts/trackchanges-py3/0readme-arxiv_latex_cleaner +19 -0
- texclean/scripts/trackchanges-py3/AcceptChanges3/__init__.py +1 -0
- texclean/scripts/trackchanges-py3/AcceptChanges3/__pycache__/__init__.cpython-312.pyc +0 -0
- texclean/scripts/trackchanges-py3/AcceptChanges3/__pycache__/consoleoutput.cpython-312.pyc +0 -0
- texclean/scripts/trackchanges-py3/AcceptChanges3/__pycache__/linesegment.cpython-312.pyc +0 -0
- texclean/scripts/trackchanges-py3/AcceptChanges3/consoleoutput.py +225 -0
- texclean/scripts/trackchanges-py3/AcceptChanges3/linesegment.py +54 -0
- texclean/scripts/trackchanges-py3/__pycache__/acceptchanges3.cpython-312.pyc +0 -0
- texclean/scripts/trackchanges-py3/acceptAll.sh +24 -0
- texclean/scripts/trackchanges-py3/acceptchanges3.py +353 -0
- texclean/version.py +12 -0
- texclean/wrapper.py +282 -0
- texcleaner-0.3.0.dist-info/METADATA +94 -0
- texcleaner-0.3.0.dist-info/RECORD +25 -0
- texcleaner-0.3.0.dist-info/WHEEL +5 -0
- texcleaner-0.3.0.dist-info/entry_points.txt +2 -0
- texcleaner-0.3.0.dist-info/licenses/LICENSE +32 -0
- texcleaner-0.3.0.dist-info/top_level.txt +1 -0
texclean/__init__.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""
|
|
2
|
+
TeXClean - A GUI front-end for cleaning LaTeX track changes.
|
|
3
|
+
|
|
4
|
+
Supports cleaning track changes from:
|
|
5
|
+
- trackchanges.sty
|
|
6
|
+
- changes.sty
|
|
7
|
+
- arXiv submission preparation
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from .version import __version__
|
|
11
|
+
from .wrapper import (
|
|
12
|
+
clean_trackchanges,
|
|
13
|
+
clean_changes,
|
|
14
|
+
clean_arxiv,
|
|
15
|
+
generate_output_filename
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
"clean_trackchanges",
|
|
20
|
+
"clean_changes",
|
|
21
|
+
"clean_arxiv",
|
|
22
|
+
"generate_output_filename",
|
|
23
|
+
"__version__",
|
|
24
|
+
]
|
texclean/__main__.py
ADDED
texclean/app.py
ADDED
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
"""
|
|
3
|
+
app.py - GUI front-end for cleaning LaTeX track changes
|
|
4
|
+
|
|
5
|
+
A simple Tkinter application to clean LaTeX documents of track changes markup
|
|
6
|
+
from TrackChanges, Changes, or arXiv submission packages.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import os
|
|
10
|
+
import threading
|
|
11
|
+
import tkinter as tk
|
|
12
|
+
from tkinter import ttk, filedialog, messagebox, scrolledtext
|
|
13
|
+
|
|
14
|
+
from .wrapper import (
|
|
15
|
+
clean_trackchanges,
|
|
16
|
+
clean_changes,
|
|
17
|
+
clean_arxiv,
|
|
18
|
+
generate_output_filename,
|
|
19
|
+
detect_cleaning_module
|
|
20
|
+
)
|
|
21
|
+
from .version import __version__
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class TeXCleanApp:
|
|
25
|
+
def __init__(self, root):
|
|
26
|
+
self.root = root
|
|
27
|
+
self.root.title(f"TeXClean v{__version__} - LaTeX Track Changes Cleaner")
|
|
28
|
+
self.root.geometry("700x500")
|
|
29
|
+
self.root.resizable(True, True)
|
|
30
|
+
|
|
31
|
+
self.input_path = tk.StringVar()
|
|
32
|
+
|
|
33
|
+
self.create_widgets()
|
|
34
|
+
|
|
35
|
+
def create_widgets(self):
|
|
36
|
+
self.notebook = ttk.Notebook(self.root)
|
|
37
|
+
self.notebook.pack(fill=tk.BOTH, expand=True, padx=10, pady=10)
|
|
38
|
+
|
|
39
|
+
self.trackchanges_tab = ttk.Frame(self.notebook)
|
|
40
|
+
self.arxiv_tab = ttk.Frame(self.notebook)
|
|
41
|
+
|
|
42
|
+
self.notebook.add(self.trackchanges_tab, text="Track Changes Cleaner")
|
|
43
|
+
self.notebook.add(self.arxiv_tab, text="arXiv Cleaner")
|
|
44
|
+
|
|
45
|
+
self._create_trackchanges_tab()
|
|
46
|
+
self._create_arxiv_tab()
|
|
47
|
+
|
|
48
|
+
def _create_trackchanges_tab(self):
|
|
49
|
+
main_frame = ttk.Frame(self.trackchanges_tab, padding="10")
|
|
50
|
+
main_frame.pack(fill=tk.BOTH, expand=True)
|
|
51
|
+
|
|
52
|
+
title_label = ttk.Label(
|
|
53
|
+
main_frame,
|
|
54
|
+
text="Clean LaTeX Track Changes",
|
|
55
|
+
font=("TkDefaultFont", 14, "bold")
|
|
56
|
+
)
|
|
57
|
+
title_label.pack(pady=(0, 20))
|
|
58
|
+
|
|
59
|
+
input_frame = ttk.LabelFrame(main_frame, text="Input File", padding="5")
|
|
60
|
+
input_frame.pack(fill=tk.X, pady=5)
|
|
61
|
+
input_frame.columnconfigure(0, weight=1)
|
|
62
|
+
|
|
63
|
+
self.trackchanges_entry = ttk.Entry(input_frame, textvariable=self.input_path)
|
|
64
|
+
self.trackchanges_entry.pack(side=tk.LEFT, fill=tk.X, expand=True, padx=(0, 5))
|
|
65
|
+
|
|
66
|
+
browse_btn = ttk.Button(input_frame, text="Browse...", command=self._browse_trackchanges_input)
|
|
67
|
+
browse_btn.pack(side=tk.RIGHT)
|
|
68
|
+
|
|
69
|
+
helper_label = ttk.Label(
|
|
70
|
+
input_frame,
|
|
71
|
+
text="Select a .tex file",
|
|
72
|
+
font=("TkDefaultFont", 9, "italic"),
|
|
73
|
+
foreground="gray"
|
|
74
|
+
)
|
|
75
|
+
helper_label.pack(anchor=tk.W, pady=(2, 0))
|
|
76
|
+
|
|
77
|
+
self.trackchanges_clean_btn = ttk.Button(
|
|
78
|
+
main_frame,
|
|
79
|
+
text="Detect & Clean",
|
|
80
|
+
command=self._start_trackchanges_cleaning
|
|
81
|
+
)
|
|
82
|
+
self.trackchanges_clean_btn.pack(pady=20)
|
|
83
|
+
|
|
84
|
+
log_label = ttk.Label(main_frame, text="Log Output:", font=("TkDefaultFont", 10, "bold"))
|
|
85
|
+
log_label.pack(anchor=tk.W, pady=(10, 5))
|
|
86
|
+
|
|
87
|
+
self.trackchanges_log = scrolledtext.ScrolledText(
|
|
88
|
+
main_frame,
|
|
89
|
+
height=12,
|
|
90
|
+
width=80,
|
|
91
|
+
state=tk.DISABLED,
|
|
92
|
+
wrap=tk.WORD
|
|
93
|
+
)
|
|
94
|
+
self.trackchanges_log.pack(fill=tk.BOTH, expand=True, pady=5)
|
|
95
|
+
|
|
96
|
+
self.trackchanges_progress = ttk.Progressbar(main_frame, mode="indeterminate")
|
|
97
|
+
self.trackchanges_progress.pack(fill=tk.X, pady=5)
|
|
98
|
+
|
|
99
|
+
def _create_arxiv_tab(self):
|
|
100
|
+
main_frame = ttk.Frame(self.arxiv_tab, padding="10")
|
|
101
|
+
main_frame.pack(fill=tk.BOTH, expand=True)
|
|
102
|
+
|
|
103
|
+
title_label = ttk.Label(
|
|
104
|
+
main_frame,
|
|
105
|
+
text="Clean for arXiv Submission",
|
|
106
|
+
font=("TkDefaultFont", 14, "bold")
|
|
107
|
+
)
|
|
108
|
+
title_label.pack(pady=(0, 20))
|
|
109
|
+
|
|
110
|
+
input_frame = ttk.LabelFrame(main_frame, text="Project Folder", padding="5")
|
|
111
|
+
input_frame.pack(fill=tk.X, pady=5)
|
|
112
|
+
input_frame.columnconfigure(0, weight=1)
|
|
113
|
+
|
|
114
|
+
self.arxiv_entry = ttk.Entry(input_frame)
|
|
115
|
+
self.arxiv_entry.pack(side=tk.LEFT, fill=tk.X, expand=True, padx=(0, 5))
|
|
116
|
+
|
|
117
|
+
browse_btn = ttk.Button(input_frame, text="Browse...", command=self._browse_arxiv_input)
|
|
118
|
+
browse_btn.pack(side=tk.RIGHT)
|
|
119
|
+
|
|
120
|
+
helper_label = ttk.Label(
|
|
121
|
+
input_frame,
|
|
122
|
+
text="Select a project folder",
|
|
123
|
+
font=("TkDefaultFont", 9, "italic"),
|
|
124
|
+
foreground="gray"
|
|
125
|
+
)
|
|
126
|
+
helper_label.pack(anchor=tk.W, pady=(2, 0))
|
|
127
|
+
|
|
128
|
+
self.arxiv_clean_btn = ttk.Button(
|
|
129
|
+
main_frame,
|
|
130
|
+
text="Clean for arXiv",
|
|
131
|
+
command=self._start_arxiv_cleaning
|
|
132
|
+
)
|
|
133
|
+
self.arxiv_clean_btn.pack(pady=20)
|
|
134
|
+
|
|
135
|
+
log_label = ttk.Label(main_frame, text="Log Output:", font=("TkDefaultFont", 10, "bold"))
|
|
136
|
+
log_label.pack(anchor=tk.W, pady=(10, 5))
|
|
137
|
+
|
|
138
|
+
self.arxiv_log = scrolledtext.ScrolledText(
|
|
139
|
+
main_frame,
|
|
140
|
+
height=12,
|
|
141
|
+
width=80,
|
|
142
|
+
state=tk.DISABLED,
|
|
143
|
+
wrap=tk.WORD
|
|
144
|
+
)
|
|
145
|
+
self.arxiv_log.pack(fill=tk.BOTH, expand=True, pady=5)
|
|
146
|
+
|
|
147
|
+
self.arxiv_progress = ttk.Progressbar(main_frame, mode="indeterminate")
|
|
148
|
+
self.arxiv_progress.pack(fill=tk.X, pady=5)
|
|
149
|
+
|
|
150
|
+
def _browse_trackchanges_input(self):
|
|
151
|
+
file_path = filedialog.askopenfilename(
|
|
152
|
+
title="Select LaTeX File",
|
|
153
|
+
filetypes=[("LaTeX files", "*.tex"), ("All files", "*.*")]
|
|
154
|
+
)
|
|
155
|
+
if file_path:
|
|
156
|
+
self.input_path.set(file_path)
|
|
157
|
+
|
|
158
|
+
def _browse_arxiv_input(self):
|
|
159
|
+
folder = filedialog.askdirectory(title="Select LaTeX Project Folder")
|
|
160
|
+
if folder:
|
|
161
|
+
self.arxiv_entry.delete(0, tk.END)
|
|
162
|
+
self.arxiv_entry.insert(0, folder)
|
|
163
|
+
|
|
164
|
+
def _log(self, message, log_widget):
|
|
165
|
+
log_widget.config(state=tk.NORMAL)
|
|
166
|
+
log_widget.insert(tk.END, message)
|
|
167
|
+
log_widget.see(tk.END)
|
|
168
|
+
log_widget.config(state=tk.DISABLED)
|
|
169
|
+
|
|
170
|
+
def _clear_log(self, log_widget):
|
|
171
|
+
log_widget.config(state=tk.NORMAL)
|
|
172
|
+
log_widget.delete(1.0, tk.END)
|
|
173
|
+
log_widget.config(state=tk.DISABLED)
|
|
174
|
+
|
|
175
|
+
def _validate_tex_input(self, input_path):
|
|
176
|
+
if not input_path:
|
|
177
|
+
return False, "Please select an input file."
|
|
178
|
+
if not os.path.exists(input_path):
|
|
179
|
+
return False, f"Path not found: {input_path}"
|
|
180
|
+
if not os.path.isfile(input_path):
|
|
181
|
+
return False, "Error: This operation requires a .tex file."
|
|
182
|
+
if not input_path.lower().endswith(".tex"):
|
|
183
|
+
return False, "Error: The selected file must have a .tex extension."
|
|
184
|
+
return True, ""
|
|
185
|
+
|
|
186
|
+
def _validate_folder_input(self, folder_path):
|
|
187
|
+
if not folder_path:
|
|
188
|
+
return False, "Please select a project folder."
|
|
189
|
+
if not os.path.exists(folder_path):
|
|
190
|
+
return False, f"Folder not found: {folder_path}"
|
|
191
|
+
if not os.path.isdir(folder_path):
|
|
192
|
+
return False, "Error: This operation requires a folder."
|
|
193
|
+
return True, ""
|
|
194
|
+
|
|
195
|
+
def _start_trackchanges_cleaning(self):
|
|
196
|
+
input_path = self.input_path.get().strip()
|
|
197
|
+
|
|
198
|
+
valid, error_msg = self._validate_tex_input(input_path)
|
|
199
|
+
if not valid:
|
|
200
|
+
messagebox.showerror("Input Error", error_msg)
|
|
201
|
+
return
|
|
202
|
+
|
|
203
|
+
detected = detect_cleaning_module(input_path)
|
|
204
|
+
|
|
205
|
+
if detected is None:
|
|
206
|
+
result = messagebox.askyesno(
|
|
207
|
+
"No Track Changes Detected",
|
|
208
|
+
"No track changes markup (trackchanges or changes package) was detected in the file.\n\n"
|
|
209
|
+
"Would you like to try cleaning anyway?"
|
|
210
|
+
)
|
|
211
|
+
if not result:
|
|
212
|
+
return
|
|
213
|
+
detected = "trackchanges"
|
|
214
|
+
else:
|
|
215
|
+
module_name = "TrackChanges (trackchanges.sty)" if detected == "trackchanges" else "Changes (changes.sty)"
|
|
216
|
+
result = messagebox.askyesno(
|
|
217
|
+
"Confirm Detected Module",
|
|
218
|
+
f"Detected '{module_name}' signatures in the file.\n\n"
|
|
219
|
+
f"Is this correct and would you like to proceed with cleaning?"
|
|
220
|
+
)
|
|
221
|
+
if not result:
|
|
222
|
+
return
|
|
223
|
+
|
|
224
|
+
self._clear_log(self.trackchanges_log)
|
|
225
|
+
self.trackchanges_clean_btn.config(state=tk.DISABLED)
|
|
226
|
+
self.trackchanges_progress.start(10)
|
|
227
|
+
self._log(f"Detected module: {detected}\n", self.trackchanges_log)
|
|
228
|
+
self._log("Starting cleaning...\n", self.trackchanges_log)
|
|
229
|
+
|
|
230
|
+
thread = threading.Thread(
|
|
231
|
+
target=self._run_trackchanges_cleaning,
|
|
232
|
+
args=(input_path, detected)
|
|
233
|
+
)
|
|
234
|
+
thread.daemon = True
|
|
235
|
+
thread.start()
|
|
236
|
+
|
|
237
|
+
def _run_trackchanges_cleaning(self, input_path, detected_module):
|
|
238
|
+
def callback(message):
|
|
239
|
+
self.root.after(0, self._log, message, self.trackchanges_log)
|
|
240
|
+
|
|
241
|
+
try:
|
|
242
|
+
output_path = generate_output_filename(input_path, "-cleaned")
|
|
243
|
+
|
|
244
|
+
if detected_module == "trackchanges":
|
|
245
|
+
success, message = clean_trackchanges(input_path, output_path, callback)
|
|
246
|
+
else:
|
|
247
|
+
success, message = clean_changes(input_path, output_path, callback)
|
|
248
|
+
|
|
249
|
+
callback("\n" + message + "\n")
|
|
250
|
+
|
|
251
|
+
if success:
|
|
252
|
+
self.root.after(0, lambda: messagebox.showinfo("Success", message))
|
|
253
|
+
else:
|
|
254
|
+
self.root.after(0, lambda: messagebox.showerror("Error", message))
|
|
255
|
+
|
|
256
|
+
except Exception as e:
|
|
257
|
+
error_msg = f"Unexpected error: {str(e)}"
|
|
258
|
+
self.root.after(0, self._log, error_msg, self.trackchanges_log)
|
|
259
|
+
self.root.after(0, lambda: messagebox.showerror("Error", error_msg))
|
|
260
|
+
|
|
261
|
+
finally:
|
|
262
|
+
self.root.after(0, self.trackchanges_progress.stop)
|
|
263
|
+
self.root.after(0, lambda: self.trackchanges_clean_btn.config(state=tk.NORMAL))
|
|
264
|
+
|
|
265
|
+
def _start_arxiv_cleaning(self):
|
|
266
|
+
folder_path = self.arxiv_entry.get().strip()
|
|
267
|
+
|
|
268
|
+
valid, error_msg = self._validate_folder_input(folder_path)
|
|
269
|
+
if not valid:
|
|
270
|
+
messagebox.showerror("Input Error", error_msg)
|
|
271
|
+
return
|
|
272
|
+
|
|
273
|
+
self._clear_log(self.arxiv_log)
|
|
274
|
+
self.arxiv_clean_btn.config(state=tk.DISABLED)
|
|
275
|
+
self.arxiv_progress.start(10)
|
|
276
|
+
|
|
277
|
+
thread = threading.Thread(target=self._run_arxiv_cleaning, args=(folder_path,))
|
|
278
|
+
thread.daemon = True
|
|
279
|
+
thread.start()
|
|
280
|
+
|
|
281
|
+
def _run_arxiv_cleaning(self, folder_path):
|
|
282
|
+
def callback(message):
|
|
283
|
+
self.root.after(0, self._log, message, self.arxiv_log)
|
|
284
|
+
|
|
285
|
+
try:
|
|
286
|
+
success, message = clean_arxiv(folder_path, callback=callback)
|
|
287
|
+
|
|
288
|
+
callback("\n" + message + "\n")
|
|
289
|
+
|
|
290
|
+
if success:
|
|
291
|
+
self.root.after(0, lambda: messagebox.showinfo("Success", message))
|
|
292
|
+
else:
|
|
293
|
+
self.root.after(0, lambda: messagebox.showerror("Error", message))
|
|
294
|
+
|
|
295
|
+
except Exception as e:
|
|
296
|
+
error_msg = f"Unexpected error: {str(e)}"
|
|
297
|
+
self.root.after(0, self._log, error_msg, self.arxiv_log)
|
|
298
|
+
self.root.after(0, lambda: messagebox.showerror("Error", error_msg))
|
|
299
|
+
|
|
300
|
+
finally:
|
|
301
|
+
self.root.after(0, self.arxiv_progress.stop)
|
|
302
|
+
self.root.after(0, lambda: self.arxiv_clean_btn.config(state=tk.NORMAL))
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
def main():
|
|
306
|
+
root = tk.Tk()
|
|
307
|
+
app = TeXCleanApp(root)
|
|
308
|
+
root.mainloop()
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
|
|
2
|
+
\title{Chemical Reactions \deleted{between} \added{in} H-N-Silicate \added{Systems} at High P--T: Implications for nitrogen partitioning between \replaced{envelope}{atmospheres} and interior\deleted{s} of sub-Neptunes}
|
|
3
|
+
\author{Spoke person: Taehyun Kim}
|
|
4
|
+
\maketitle
|
|
5
|
+
|
|
6
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
7
|
+
\section{Abstract ($<2000$ character)}
|
|
8
|
+
|
|
9
|
+
%\begin{cbox}
|
|
10
|
+
%The abstract should be written as goal $\rightarrow$ introduction $\rightarrow$ detailed plan. I changed the order of sentences to fit this flow. Please use this flow next time.
|
|
11
|
+
%\end{cbox}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
% 2114
|
|
15
|
+
We request beamtime to investigate reaction\deleted{s} between olivine\added{/feropericlase} and \replaced{N-H}{H$_2$-N$_2$} fluids \added{at high P-T} to \replaced{understand partitioning of nitrogen between the envelope and the interior of sub-Neptune exoplanets.}{improve our understanding of sub-Neptune interiors.}
|
|
16
|
+
|
|
17
|
+
\replaced{Recent JWST measurements have identified}{Atmospheric models identify} NH$_3$, HCN, and N$_2$ \deleted{as important nitrogen-bearing species} in \replaced{hydrogen}{H$_2$}-rich \added{atmosphere of exoplanets} \deleted{planets} \cite{heng_ANALYTICAL_2016, bean_Nature_2021, radecka_Nitrogen_2025}.
|
|
18
|
+
\replaced{While possible ingassing of nitrogen under this condition can impact the interpretation of the observation and the modeling of sub-Neptunes}{However}, \deleted{the} \added{partitioning} \deleted{behavior} of nitrogen \added{between the atmosphere and the interior} under \deleted{the} highly reducing conditions \replaced{expected in}{of} \replaced{hydrogen-rich environment of sub-Neptunes}{sub-Neptune interiors} remains poorly \replaced{understood}{constrained}.
|
|
19
|
+
\deleted{In the presence of abundant H$_2$, N$_2$ may participate in reactions that form nitrides, N-bearing alloys, and N-H-bearing species.}
|
|
20
|
+
|
|
21
|
+
Our recent experiments at \replaced{13IDD}{13-ID-D} \added{have} revealed that \replaced{H$_2$/H$_2$O}{H$_2$-rich (or H$_2$O-rich)} fluids \added{can} react extensively with silicates and oxides, producing metallic alloys, hydrides, SiH$_4$, and \replaced{hydrous phases}{H$_2$O-bearing phases}, \added{revealing large exchange of elements between the envelope and the interior} \cite{nisr_Large_2020, kim_Atomicscale_2021, kim_Stability_2023, horn_Building_2025}.
|
|
22
|
+
These studies \deleted{focused on H$_2$-, H$_2$O-, and H$_2$-H$_2$O-bearing systems and} \added{have also} demonstrated that \replaced{synchrotron high-pressure experiments can provide critical data for understanding exoplanets and early terrestrial planets (like Earth).}{atmosphere-interior interactions can modify planetary mineralogy and atmosphere chemistry.}
|
|
23
|
+
|
|
24
|
+
Our preliminary experiments \added{at 13IDD beamline} \replaced{showed}{indicate} that \replaced{N-H}{H$_2$-N$_2$} fluids \added{can} react with silicates and oxides to form nitrides and \replaced{Fe-N alloys}{N-bearing Fe alloys} \added{at 10~GPa and over 3000~K} (Fig.~\ref{Olivine-N2-H2}).
|
|
25
|
+
\added{At lower temperatures}, \added{retainment of N-H bonding in a fluid phase was found}\deleted{exhibit N-H bonding environments consistent with NH$_3$-bearing species}.
|
|
26
|
+
These observations suggest that nitrogen \replaced{can}{may} be \deleted{re}distributed between \replaced{the envelope and the interior}{atmospheric and interior reservoirs} through fluid-silicate reactions.
|
|
27
|
+
\deleted{We therefore propose a systematic investigation of {H$_2$-N$_2$-silicate (and H$_2$-N$_2$-oxide) reactions} over an expanded pressure-temperature range relevant to sub-Neptune exoplanets.}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
\deleted{The primary objectives are to determine the stability of silicates in H$_2$-N$_2$ fluids and to identify reaction products formed under high-pressure and high-temperature conditions.}
|
|
31
|
+
\added{In the proposed beamtimes} at \replaced{13IDD}{13-ID-D}, we will \replaced{investigate the reaction and its pressure and temperature-dependent variations}{monitor reactions} using in situ X-ray diffraction in a laser-heated diamond-anvil cell at {3--30~GPa and 1500--4000~K} conditions relevant to the \replaced{envelope}{atmosphere}-interior boundary of sub-Neptune exoplanets.
|
|
32
|
+
\added{After the synchrotron experiments,} Raman spectroscopy and electron microscopy will \added{be conducted, which will} provide \replaced{additional}{complementary} \replaced{data}{constraints} on reaction products and phase distributions.
|
|
33
|
+
\replaced{The resulting dataset will provide}{The expected results include: changes in silicate composition,} {silicate stability under N-H fluid,} nitride formation, \added{Fe-N alloy formation,} \deleted{nitrogen partitioning,} and the \added{N-H bearing molecule} formation \deleted{ of N-bearing phases in sub-Neptune interiors}\added{at different P-T conditions, providing key (yet currently missing) data for understanding size and age dependent changes in the chemical interaction.}
|
|
34
|
+
\added{Therefore, the proposed data will advance our understanding on atmosphere-interior interactions in early terrestrial planets and sub-Neptune exoplanets}.
|
|
35
|
+
|
|
36
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
37
|
+
\section{What is the scientific or technical purpose and importance of the proposed research? ($<2000$ character)}
|
|
38
|
+
|
|
39
|
+
% 1835
|
|
40
|
+
Sub-Neptunes are among the most abundant classes of exoplanets discovered to date.
|
|
41
|
+
Their low bulk densities (2--4~g/cm$^3$) \replaced{can be}{are commonly} explained by \replaced{envelopes rich in either hydrogen or water}{H$_2$-rich atmospheres} overlying silicate and metallic interiors \added{(gas dwarfs and water worlds, respectively)} \cite{bean_Nature_2021}.
|
|
42
|
+
\added{The conditions and compositions in these settings are dramatically different from those of terrestrial planets, requiring new data to understand the astrophysical data of the exoplanet class.}
|
|
43
|
+
|
|
44
|
+
Recent high\replaced{ P-T}{-pressure and high-temperature} studies have \deleted{investigated reactions between silicates and H2-rich fluids under conditions relevant to the atmosphere-interior boundary of sub-Neptunes. These experiments} demonstrated that \replaced{envelope materials can react with materials of the interior under the conditions, producing}{atmosphere-interior interactions can produce} metal alloys, hydrides, and H$_2$O\replaced{.}{,}
|
|
45
|
+
\replaced{Such reaction can modify the compositions of}{thereby modifying} both \replaced{atmosphere and interior}{atmospheric composition and interior mineralogy} \cite{horn_Building_2025, kim_Stability_2023, miozzi_Experiments_2025}.
|
|
46
|
+
However, previous studies focused primarily on pure \replaced{hydrogen fluid interacting with silicates}{H$_2$ systems}, whereas \replaced{astrophysical surveys have revealed much more complex atmosphere compositions of exoplanets, including abundant presence of nitrogen}{atmospheric models have emphasized the importance of nitrogen chemistry} \cite{radecka_Nitrogen_2025}.
|
|
47
|
+
|
|
48
|
+
To our knowledge, \replaced{interaction between N-H}{H$_2$-N$_2$} fluids \added{and silicates} have not been systematically investigated \replaced{at relevant conditions for the planets}{in laser-heated DAC experiments involving silicates or oxides}. %\sidecomment{Note that by writing N$_2$-H$_2$ you are assuming that nitrogen and hydrogen will exist in these specific forms, not the other forms, such as NH3 or even ingassed forms.}
|
|
49
|
+
It is unknown whether \replaced{nitrogen}{N$_2$} remains in the fluid phase \added{of the envelope}, \added{or} forms nitrides, \replaced{Fe-N}{partitions into metallic} alloys, or \replaced{dissolves into silicates (therefore ingassed)}{is incorporated into silicate structures} under the highly reducing conditions expected in \added{hydrogen-rich environment of} sub-Neptune\replaced{s}{ interiors}.
|
|
50
|
+
|
|
51
|
+
Our preliminary experiments suggest that nitrogen \replaced{can}{may} be incorporated into planetary interiors\deleted{ rather than remaining entirely in atmosphere} (Fig.~\ref{Olivine-N2-H2}).
|
|
52
|
+
The formation of nitrides \replaced{and Fe-N}{N-bearing} alloys \deleted{or} \deleted{NH$_3$-bearing species} \deleted{would} \replaced{implies}{imply} \replaced{strong}{active} nitrogen exchange between \replaced{the envelope and the interior}{atmospheres and interiors}, \deleted{potentially} affecting \deleted{both planetary} evolution and \replaced{interpretation of the measured atmosphere spectra of these planets}{observable atmospheric compositions}.
|
|
53
|
+
|
|
54
|
+
The primary objective\replaced{ of our proposed experiments is to understand nitrogen partitioning between fluid and silicates at high P-T.}{s of the proposed research are to determine the stability of silicates in N-bearing, H-rich fluids and to identify reaction products.}
|
|
55
|
+
\added{In our recent studies} \cite{horn_Building_2025}, \added{we also found that the experiment designed and executed for exoplanets can also provide new insights on early evolution of terrestrial planets (including Earth)} \cite{young_Earth_2023}. %\sidecomment{cite Young 2023 Nature paper here.}
|
|
56
|
+
\added{Considering importance of nitrogen for Earth's atmosphere, our new data can potentially impact our understanding of how the atmosphere chemistry can be affected by underlying geology in early terrestrial planets.}
|
|
57
|
+
\deleted{The {resulting data} will provide {the first systematic experimental constraints} on {phase stability,} reaction {pathways, and nitrogen-bearing products} in {H$_2$-N$_2$}-silicate systems at 5-30 GPa and 1500-4000 K.}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
61
|
+
\section{Why do you need the APS for this research? ($<2000$ character)}
|
|
62
|
+
|
|
63
|
+
% 983
|
|
64
|
+
\replaced{The proposed chemical system will produce low-Z materials with}{We propose X-ray diffraction measurements on} weak\deleted{ly} \added{X-ray} scattering \added{factors.} \deleted{, low-Z materials}
|
|
65
|
+
The \deleted{anticipated} reaction products \replaced{include}{are expected to consist primarily of} \deleted{low-Z phases, including} nitrides, hydrides, and silicates.
|
|
66
|
+
\added{Furthermore, the amount of the materials will be extremely small} under high-pressure and high-temperature conditions in a diamond-anvil cell.
|
|
67
|
+
\replaced{To overcome these factors,}{which require} the high brilliance \added{X-ray beam} available at APS \added{is critical} for reliable phase identification\deleted{with intense diffraction peaks}.
|
|
68
|
+
\replaced{The small apertures of diamond-anvil cells require high energy X-ray beam for ensuring detection of low d-spacing critical for accurate identification of phases and determination of unit-cell volumes.}{Successful execution of these experiments requires both high X-ray flux and high X-ray energy (higher than 30 keV).}
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
Our experimental plan also includes very short heating durations (1-2 \replaced{seconds}{s}).
|
|
72
|
+
\added{The reason is that during longer laser heating in fluid, silicate melts can migrate away from the heated area.}
|
|
73
|
+
\added{Therefore, short heating duration is required.}
|
|
74
|
+
To monitor reactions during these \added{short} heating events, \deleted{the} X-ray beam must be sufficiently intense to produce \added{high-quality} diffraction patterns of weakly scattering nitride, hydride, and silicate phases\deleted{ generated during 1-2 s heating events}.
|
|
75
|
+
\replaced{T}{In addition, t}he laser-heated region is typically less than 20 $\mu$m in diameter at high pressure, necessitating a highly collimated X-ray beam with a size of \replaced{less than}{approximately 1-} 2 $\mu$m.
|
|
76
|
+
|
|
77
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
78
|
+
\section{Describe why you are choosing your requested beamline ($<2000$ character)}
|
|
79
|
+
|
|
80
|
+
% 1435
|
|
81
|
+
\added{Beamline} \replaced{13IDD}{13-IDD} is designed \added{and optimized} for high-pressure experiments.
|
|
82
|
+
The beamline provides high-brilliance X-ray\replaced{s}{ beam} with focusing optics, coupled with state-of-the-art experimental instrumentation for in situ laser heating in a diamond-anvil cell.
|
|
83
|
+
The laser heating system at \replaced{13IDD}{13-IDD} is a crucial component for conducting our proposed experiments\deleted{,} \replaced{where}{which require heating} silicates \added{will be heated} in \replaced{hydrogen}{H2}-rich fluids to temperatures approaching 4000 K.
|
|
84
|
+
|
|
85
|
+
\replaced{The beamline}{13-IDD} features \deleted{a unique} pulsed-laser heating mode and burst (ramp) heating mode, essential for achieving sufficiently high temperatures for melting all the materials \replaced{including silicates and fluid medium}{involved} at high pressures.
|
|
86
|
+
These two heating methods are particularly useful for reaching temperatures above 3000 K, where continuous laser heating could induce severe fluid convection problems, thereby lowering laser coupling efficiency.
|
|
87
|
+
In other words, these dedicated heating techniques enable us to obtain data on chemical reactions without suffering from dynamic instability in the sample chamber during \deleted{partial} melting.
|
|
88
|
+
|
|
89
|
+
\replaced{The beamline}{13-IDD} also \replaced{provides}{has} an extremely well-collimated X-ray beam on the scale of 1-2 \replaced{micrometers}{microns}, and the X-ray beam size can \deleted{now} be \added{further} reduced to a few hundred nanometers.
|
|
90
|
+
This smaller beam size helps to minimize the \replaced{impact from the radial}{horizontal} thermal gradient in the heated area.
|
|
91
|
+
Additionally, the user-friendly interface of the software programs allow\deleted{s} users to obtain and analyze high-quality XRD images and temperature data \replaced{efficiently during beamtime}{under high-temperature and high-pressure conditions}.
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
96
|
+
\section{How many visits during the proposal lifespan do you expect to need? ($<2000$ character)}
|
|
97
|
+
|
|
98
|
+
%2093
|
|
99
|
+
We request \replaced{12}{9} shifts for this project, with 3 shifts allocated per visit.
|
|
100
|
+
\deleted{However, the proposed work can also be completed with 2 shifts per visit if necessary.}
|
|
101
|
+
We plan to prepare four to five \replaced{diamond-anvil cells (DACs)}{DACs} per visit, depending on the number of shifts allocated.
|
|
102
|
+
|
|
103
|
+
For the first visit, we will prepare two DACs containing ferropericlase \replaced{in a}{+} N$_2$-67\%H$_2$ medium and two DACs containing olivine \replaced{in a}{+} N$_2$-67\%H$_2$ medium.
|
|
104
|
+
\added{A gas loading system at ASU is capable of loading gas mixtures and we will prepare these samples before the beamtime trip} \cite{fu_Core_2023}.
|
|
105
|
+
Based on our previous experience \added{for similar experiments at 13IDD}, approximately 5 hours are required per DAC, including sample alignment, laser heating, and post-heating 2D XRD mapping \replaced{(5 hours per DAC and 4 DACs, totaling 20 hours)}{(5 hours x 4 DACs = 20 hours)}.
|
|
106
|
+
The target pressures for the first visit will be 5\replaced{--}{ and }14 GPa, with temperatures ranging from 1500 to 4000 K.
|
|
107
|
+
An additional 4 hours will be required to collect 2D XRD maps of \added{the} recovered samples at \deleted{lower pressures and/or} ambient pressure.
|
|
108
|
+
|
|
109
|
+
During the second visit, we will investigate higher-pressure conditions (15-30 GPa)\deleted{, where more complex phase relations and reaction products are expected}.
|
|
110
|
+
We will prepare two DACs containing ferropericlase \replaced{in a }{+} N$_2$-67\%H$_2$ medium and two DACs containing olivine \replaced{in a }{+} N$_2$-67\%H$_2$ medium.
|
|
111
|
+
|
|
112
|
+
\added{During the third visit, we will target very high temperature (4000~K) at very low pressures (2-5 GPa), which is important for understanding smaller young sub-Neptune exoplanets.
|
|
113
|
+
The same two compositions we discussed above will be investigated.}
|
|
114
|
+
Because pressure instabilities may occur during laser heating \added{to extremely high temperatures} at low pressures, we will prepare one or two \added{more} backup DACs.
|
|
115
|
+
\replaced{If needed, we will further}{and} reduce heating durations\deleted{ when necessary}.
|
|
116
|
+
\deleted{If heating experiments at temperatures up to 4000 K are successfully completed at higher pressures, we will use the backup DACs to explore lower-pressure conditions (2-5 GPa) with moderate heating temperatures (1500-2000 K). These conditions are relevant to smaller sub-Neptunes, where the atmosphere-interior boundary is expected to occur at lower pressures.}
|
|
117
|
+
|
|
118
|
+
During the \replaced{fourth}{third} visit, we will focus on verifying the reproducibility of \replaced{the results obtained in first three visits}{newly identified phases and reaction products} \added{and completing the dataset sufficient for understanding pressure- and temperature-dependent variation in chemical reactions in the N-H-silicate system}.
|
|
119
|
+
\replaced{If previously unknown phases are observed in first three visits, we will synthesize them and measure their equations of state in this beamtime.}{We will also conduct additional measurements to determine the equations of state of newly synthesized materials whenever sufficient diffraction data are available.}
|
|
120
|
+
\deleted{In addition, we will investigate less-explored pressure-temperature conditions identified during the first and second visits and follow up on any intriguing reaction products or phase assemblages.}
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
124
|
+
\section{Describe/provide a list of samples ($<2000$ character)}
|
|
125
|
+
|
|
126
|
+
% 390
|
|
127
|
+
|
|
128
|
+
We will use natural San Carlos olivine ((Mg$_{0.9}$Fe$_{0.1}$)$_2$SiO$_4$), \replaced{which have been also used in our previous experiments}{consistent with that used in the principal investigator's previous studies} \cite{kim_Atomicscale_2021, kim_Solubility_2022}.
|
|
129
|
+
\added{For ferropericlase,} we will \deleted{also} use \deleted{synthetic ferropericlase} (Mg$_{0.75}$Fe$_{0.25}$)O \added{synthesized in} a multi-anvil press at FORCE, ASU.
|
|
130
|
+
\added{Combining these two compositions, we will be able to isolate the effects of Si in the chemical reaction and cover a wide range of Mg/Si ratios for the limited beamtimes.}
|
|
131
|
+
|
|
132
|
+
\replaced{Nitrogen and hydrogen will be mixed in 1:3 ratio in our gas loading system at ASU.
|
|
133
|
+
The gas mixture will be captured together with the silicate/oxide samples to 1500~bars in DACs before the beamtime trips.}{A N$_2$-H$_2$ mixed gas (33 mol\% N$_2$ and 67 mol\% H$_2$) will be used as the reactive fluid during high-pressure and high-temperature experiments.}
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
138
|
+
\section{Overview of the experimental plan and procedures, including sample usage ($<2000$ character)}
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
We will use \added{diamond anvil} culet diameters of 300 and 400 $\mu$m for laser-heating experiments at 15-30 and 5-14 GPa, respectively.
|
|
142
|
+
A thin foil ($\sim$\replaced{10}{15} $\mu$m thick) of compressed olivine or ferropericlase powder will be loaded into a drilled gasket hole (typically 200-300 $\mu$m in diameter) together with a N$_2$-H$_2$ gas \added{mixture as a medium}.
|
|
143
|
+
\replaced{Sample}{Four} spacer\replaced{ grains}{s} will be used to support the foil and prevent direct contact with the diamond anvils.
|
|
144
|
+
The gases will be loaded using \replaced{a}{the} gas-loading system at ASU.
|
|
145
|
+
|
|
146
|
+
During heating to \deleted{extreme} temperatures \added{over} \deleted{(}$\sim$4000 K\deleted{)} at \deleted{relatively} low\added{er} pressures (e.g., 5 GPa), \replaced{mechanical relaxation of the DACs can occur}{the DAC may partially open}, \replaced{which can result in loss of pressure and therefore}{resulting in} leakage of the pressure medium.
|
|
147
|
+
Such failures \added{can} occur primarily during \replaced{long}{prolonged} heating.
|
|
148
|
+
Therefore, we will \replaced{reduce}{minimize} heating durations and use \added{smaller} gasket holes \deleted{that are relatively small compared to the culet diameter} to reduce the risk of \added{potential} sample loss \added{during extreme high temperature heating}.
|
|
149
|
+
|
|
150
|
+
Ruby fluorescence will be used for \added{measuring} pressure\deleted{ calibration}.
|
|
151
|
+
We will employ both burst-mode and continuous laser-heating methods and evaluate their relative effectiveness based on the experimental results \added{during our first visit}.
|
|
152
|
+
\replaced{An}{The} EIGER2 X CdTe 9M detector \added{at the beamline} will enable rapid acquisition of high-quality diffraction patterns during and after heating, with particular emphasis on identifying nitrides, \replaced{Fe-N}{N-bearing metallic} alloys, hydrides, and other reaction products formed during heating.
|
|
153
|
+
Two-dimensional XRD maps will be collected after heating at high pressure\added{s} and \deleted{again} after decompression to ambient pressure.
|
|
154
|
+
|
|
155
|
+
Following \added{the} laser heating, Raman spectra will be \replaced{measured}{collected} using the GSECARS Raman system to characterize reaction products both at high pressure and after recovery to ambient conditions.
|
|
156
|
+
To maximize efficiency during beamtime, one group member will conduct Raman measurements while \replaced{the other researcher}{the principal investigator} performs laser-heating experiments on another DAC.
|
|
157
|
+
After beamtime, \added{the} recovered samples will be characterized using \added{an} FIB-SEM-EDS \added{instrument} at ASU to determine composition\deleted{s} and microstructure\deleted{s}, providing \replaced{additional}{complementary} information\deleted{to the synchrotron XRD and Raman datasets}.
|
|
158
|
+
|
|
159
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
160
|
+
\section{Describe the team's previous experimental experience with synchrotron radiation ($<2000$ character)}
|
|
161
|
+
|
|
162
|
+
Taehyun Kim, the principal investigator (PI), has conducted LHDAC experiments at \replaced{13IDD}{13-IDD} at GSECARS, \replaced{16IDB}{16-IDB} at HPCAT, and P02.2 at PETRA III, and has performed numerous XRD experiments at ALS, SSRL, and PLS-II.
|
|
163
|
+
|
|
164
|
+
Sang-Heon Dan Shim, the PI's advisor, has conducted numerous XRD experiments at APS, CHESS, NSLS, SSRL, and ALS over the past \replaced{30}{28} years.
|
|
165
|
+
|
|
166
|
+
Allison Pease and Alem Tukic, members of Shim's group, have carried out synchrotron X-ray diffraction experiments at APS, including at \replaced{13IDD}{13-IDD}.
|
|
167
|
+
|
|
168
|
+
Taehyun Kim and Sang-Heon Dan Shim have already conducted similar experiments as proposed here in recent years at the \replaced{13IDD}{13-IDD} beamline \cite{kim_Stability_2023, horn_Building_2025}.
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
173
|
+
\section{List publications resulting from work done at the APS ($<2000$ character)}
|
|
174
|
+
|
|
175
|
+
%\inlinecomment{Please identify the beamline(s) where the work was done.}
|
|
176
|
+
|
|
177
|
+
Selected recent publication based on past APS work includes:
|
|
178
|
+
|
|
179
|
+
Fu, S., Chariton, S., Prakapenka, V. B., and Shim, S.-H. (2023). Core origin of seismic velocity anomalies at Earth's core-mantle boundary. Nature. https://doi.org/10.1038/s41586-023-05713-5.
|
|
180
|
+
|
|
181
|
+
Kim, T., O'Rourke, J. G., Lee, J., Chariton, S., Prakapenka, V., Husband, R. J., et al. (2023). A hydrogen-enriched layer in the topmost outer core sourced from deeply subducted water. Nature Geoscience. https://doi.org/10.1038/s41561-023-01324-x
|
|
182
|
+
|
|
183
|
+
Kim, T., Wei, X., Chariton, S., Prakapenka, V. B., Ryu, Y.-J., Yang, S., and Shim, S.-H. (2023). Stability of hydrides in sub-Neptune exoplanets with thick hydrogen-rich atmospheres. Proceedings of the National Academy of Sciences, 120(52), e2309786120. https://doi.org/10.1073/pnas.2309786120
|
|
184
|
+
|
|
185
|
+
Ko, B., Greenberg, E., Prakapenka, V., Alp, E. E., Bi, W., Meng, Y., et al. (2022). Calcium dissolution in bridgmanite in the Earth's deep mantle. Nature. https://doi.org/10.1038/s41586-022-05237-4
|
|
186
|
+
|
|
187
|
+
Horn, H. W., Prakapenka, V., Chariton, S., Speziale, S., and Shim, S.-H. (2023). Reaction between hydrogen and ferrous/ferric oxides at high pressures and high temperatures - implications for sub-Neptunes and super-Earths. The Planetary Science Journal, 4(2), 30. https://doi.org/10.3847/PSJ/acab03
|
|
188
|
+
|
|
189
|
+
\added{Wei, X., Chariton, S., Prakapenka, V. B., Fei, Y. and Shim S. (2026). Effects of hydrogen on Fe-S alloys and their implications for the martian core. JGR Planets 131, e2025JE009217.}
|
|
190
|
+
|
|
191
|
+
These studies were conducted at 13IDD.
|
|
192
|
+
In addition to these papers, we have two submissions from experiments performed at GSECARS, APS.
|
|
193
|
+
|
|
194
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
195
|
+
\clearpage
|
|
196
|
+
|
|
197
|
+
\begin{figure}
|
|
198
|
+
\centering\includegraphics[width=0.7\textwidth]{figs/fig.jpg}
|
|
199
|
+
\caption{
|
|
200
|
+
Preliminary results for the \replaced{N-H-olivine}{olivine-H$_2$-N$_2$} reaction.
|
|
201
|
+
(a) \added{An} XRD pattern collected after heating to 3300 K at 10 GPa.
|
|
202
|
+
\replaced{The colored vertical bars}{Colored lines} indicate the diffraction positions of $\beta$-Si$_3$N$_4$, an Fe-N alloy phase, MgO, and residual olivine.
|
|
203
|
+
The sample was laser-heated at ASU, and synchrotron XRD data were collected at Beamline 12.2.2 of the ALS.
|
|
204
|
+
Diffraction peaks from olivine were \replaced{detected}{also observed} because the X-ray beam size \replaced{was too large at the ALS beamline, highlighting the importance of the high-resolution setup at 13IDD for this investigation}{exceeded the heated region}.
|
|
205
|
+
(b) Raman spectrum \replaced{measured at a lower temperature region}{collected near the edge of the heated region} after laser heating.
|
|
206
|
+
\replaced{The observed peaks}{Broad bands between 3100 and 3500 cm$^{-1}$} are consistent with N-H stretching vibrations \added{reported in previous study} \deleted{(c) Reference Raman spectra from Chidester and Strobel (2011)} \cite{chidester_Ammonia_2011} \added{(c)}.
|
|
207
|
+
\deleted{The positions of the N-H stretching modes closely match those observed in panel (b), supporting the presence of N-H-bearing species.}
|
|
208
|
+
(d) \added{A} cross-sectional SEM image \replaced{from} {corresponding to} the XRD data \added{area} \deleted{shown} in panel (a).
|
|
209
|
+
\deleted{A hole is observed at the center of the heated region.}
|
|
210
|
+
\added{The} elemental maps (e, f) were collected from the boxed area \added{revealing Fe alloy phase and silicon nitride from the reaction between N-H fluid and olivine melt.} \deleted{EDS elemental distribution maps of Fe (red), Mg (green), Si (cyan), O (yellow), and N (dark blue). The spatial correlation between Si and N also supports the formation of Si$_3$N$_4$ during the reaction between olivine and H$_2$-N$_2$ fluids.
|
|
211
|
+
}
|
|
212
|
+
}\label{Olivine-N2-H2}
|
|
213
|
+
\end{figure}
|
|
214
|
+
|
|
215
|
+
%\begin{cbox}
|
|
216
|
+
%{I had to reduce the figure file size by 100 times to prevent latex crashing. Make sure your figure file size is always less than 5 MB.}
|
|
217
|
+
%\end{cbox}
|
|
218
|
+
|
|
219
|
+
\clearpage
|
|
220
|
+
|
|
221
|
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
222
|
+
%\inlinecomment{Literature references (DOIs or citations) - 2000 character limit}
|
|
223
|
+
|
|
224
|
+
\bibliographystyle{proposal2-doi-only}
|
|
225
|
+
\bibliography{./bibs/KimLibrary}
|