Describing GMAW processes¶
Imports¶
[2]:
import asdf
import weldx
from weldx import Q_
from weldx.asdf.extension import WeldxAsdfExtension, WeldxExtension
from weldx.core import TimeSeries as TS
from weldx.welding.processes import GmawProcess
spray arc processes¶
[3]:
# Note: For some reasons, using integers in Q_ fails upon ASDF reading !
params_spray = dict(
wire_feedrate=Q_(10.0, "m/min"),
voltage=TS(data=Q_([40.0,20.0], "V"),time=Q_([0.0,10.0],"s")),
impedance=Q_(10.0, "percent"),
characteristic=Q_(5,"V/A"),
)
process_spray = GmawProcess(
"spray", "CLOOS", "Quinto", params_spray, tag="CLOOS/spray_arc"
)
pulsed arc processes¶
UI modulation¶
[4]:
params_pulse = dict(
wire_feedrate=Q_(10.0, "m/min"),
pulse_voltage=Q_(40.0, "V"),
pulse_duration=Q_(5.0, "ms"),
pulse_frequency=Q_(100.0, "Hz"),
base_current=Q_(60.0, "A"),
)
process_pulse = GmawProcess(
"pulse",
"CLOOS",
"Quinto",
params_pulse,
tag="CLOOS/pulse",
meta={"modulation": "UI"},
)
II modulation¶
[5]:
params_pulse_II = dict(
wire_feedrate=Q_(10.0, "m/min"),
pulse_current=Q_(0.3, "kA"),
pulse_duration=Q_(5.0, "ms"),
pulse_frequency=Q_(100.0, "Hz"),
base_current=Q_(60.0, "A"),
)
process_pulse_II = GmawProcess(
"pulse",
"CLOOS",
"Quinto",
params_pulse_II,
tag="CLOOS/pulse",
meta={"modulation": "II"},
)
using ASDF¶
[6]:
tree = {"spray": process_spray, "pulse_UI": process_pulse, "pulse_II": process_pulse_II}
[7]:
buffer = weldx.asdf.util._write_buffer(tree)
weldx.asdf.util.notebook_fileprinter(buffer)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/process/CLOOS/spray_arc-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/process/CLOOS/spray_arc-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/core/time_series-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/core/time_series-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/time/timedeltaindex-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/time/timedeltaindex-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/time/timedelta-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/time/timedelta-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/core/time_series-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/core/time_series-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/process/CLOOS/pulse-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/process/CLOOS/pulse-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/process/CLOOS/spray_arc-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/process/CLOOS/spray_arc-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
/home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/asdf/schema.py:302: AsdfWarning: Unable to locate schema file for 'tag:weldx.bam.de:weldx/time/timedeltaindex-1.0.0': 'file:///home/docs/checkouts/readthedocs.org/user_builds/weldx/conda/v0.3.2/lib/python3.8/site-packages/weldx/asdf/schemas/weldx.bam.de/weldx/time/timedeltaindex-1.0.0.yaml'
warnings.warn(msg.format(tag, schema_path), AsdfWarning)
[7]:
#ASDF 1.0.0
#ASDF_STANDARD 1.5.0
%YAML 1.1
%TAG ! tag:stsci.edu:asdf/
--- !core/asdf-1.1.0
asdf_library: !core/software-1.0.0 {author: Space Telescope Science Institute, homepage: 'http://github.com/spacetelescope/asdf',
name: asdf, version: 2.7.3}
history:
extensions:
- !core/extension_metadata-1.0.0
extension_class: asdf.extension.BuiltinExtension
software: !core/software-1.0.0 {name: asdf, version: 2.7.3}
- !core/extension_metadata-1.0.0
extension_class: weldx.asdf.extension.WeldxExtension
software: !core/software-1.0.0 {name: weldx, version: 0.3.2}
pulse_II: !<tag:weldx.bam.de:weldx/process/CLOOS/pulse-1.0.0>
base_process: pulse
manufacturer: CLOOS
meta: {modulation: II}
parameters:
base_current: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: ampere,
value: 60.0}
pulse_current: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: kiloampere,
value: 0.3}
pulse_duration: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: millisecond,
value: 5.0}
pulse_frequency: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: hertz,
value: 100.0}
wire_feedrate: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: meter /
minute, value: 10.0}
power_source: Quinto
tag: CLOOS/pulse
pulse_UI: !<tag:weldx.bam.de:weldx/process/CLOOS/pulse-1.0.0>
base_process: pulse
manufacturer: CLOOS
meta: {modulation: UI}
parameters:
base_current: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: ampere,
value: 60.0}
pulse_duration: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: millisecond,
value: 5.0}
pulse_frequency: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: hertz,
value: 100.0}
pulse_voltage: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: volt, value: 40.0}
wire_feedrate: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: meter /
minute, value: 10.0}
power_source: Quinto
tag: CLOOS/pulse
spray: !<tag:weldx.bam.de:weldx/process/CLOOS/spray_arc-1.0.0>
base_process: spray
manufacturer: CLOOS
parameters:
characteristic: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: volt /
ampere, value: 5}
impedance: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: percent, value: 10.0}
voltage: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0>
interpolation: linear
shape: [2]
time: !<tag:weldx.bam.de:weldx/time/timedeltaindex-1.0.0>
end: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M10S}
max: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M10S}
min: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M0S}
start: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M0S}
values: !core/ndarray-1.0.0
source: 0
datatype: int64
byteorder: little
shape: [2]
unit: volt
values: !core/ndarray-1.0.0
source: 1
datatype: float64
byteorder: little
shape: [2]
wire_feedrate: !<tag:weldx.bam.de:weldx/core/time_series-1.0.0> {unit: meter /
minute, value: 10.0}
power_source: Quinto
tag: CLOOS/spray_arc
...
[8]:
data = weldx.asdf.util._read_buffer(buffer)