►
From YouTube: SimPEG DC Hackathon Part 2
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
B
B
C
B
Evaluate
er,
then,
so
you
are
you
sort
of
calling
that
test.
You
decide.
Okay
before
I
do
something
immediately.
It
takes
a
long
time.
I'm
gonna
run
this
validator
function,
or
is
it
getting
triggered
automatically
in
some
way
so
I've
gotten
my
head
wrapped
around
deep
beginners
and
centers
in
terms
of
properties,
sort
of
the
base
Python
stuff,
yeah
I,
try
and
set
this
property
something
else,
and
it
triggers
the
center
and
says
I'm
allowed
to
do
this.
Yeah.
A
A
Gonna
pull
up
Franklin's
talk,
it's
actually
really
good.
Oh.
B
A
A
So
the
observers
are
called,
as
are
the
validators
when
you
update
a
value
so
like
when
I
tried
to
write
that
X
naught
in
this
example.
Sorry,
in
this
example,
when
I
tried
to
set
my
X
naught
something
of
the
wrong
shape,
it
looked
at
the
validator
said:
is
this
value
valid
and
then
that
said?
No,
it's
not
so
it's
your
name
so.
A
Effectively,
but
it
is
a
little
more
advanced,
then
yeah,
yes,
but
effectively.
Yes,
so
it
functions
like
I
said
er,
the
other
thing
that
it
can
be
used
for
and
the
way
I'm
using
it
in
a
lot
of
my
casing
stuff
is,
you
can
actually
explicitly
validate
before
you
run
a
simulation
and
so
and
then
you
can
also
have
validators
on
the
class
that
basically
like
looks
more
so
at
the
wires
between
things.
A
B
A
B
A
A
B
B
Glass
is
like
just
an
example
like
what
like
what
I've
been
doing
end
of
last
week
is
a
static
study
community
and,
for
example,
for
the
fighting
I
cried
in
5000
between
sign
between
singing.
Is
that
one
who
makes
a
lot
of
function
to
crazy
when
they
sit
on
dipole-dipole
duration
exam,
not
working
with
that,
for
example.
Together,
it's.
C
B
B
B
A
That
was
actually
one,
and
that
might
be
worth
chatting
about,
maybe
more
like
one-on-one
or
smaller,
is
like
breaking
breaking
out
Dennis
code
and
like
because
if
something
is
handled
differently
for
each
of
those
three
cases
then
like,
let's
just
write
a
simple
and
it
could
just
be
an
internal
function
for
each
of
the
cases.
And
then
it's
pretty
evident
internally.
What
these
set
of
expectations
are
in
each
chunk
of
code.
So
that's
something
we.
A
A
Maybe
I
hadn't
injected
properties.
At
this
point,
that's
interesting!
So
let's
look
at
the
regularization
okay.
So
if
we
look
at
nice,
combo
regularization
so.
A
There's
a
few
different
things
here
that
are
properties
so
M
ref,
M
Rathod,
smooth,
my
inductive,
which
we
should
rename
that's
good.
The
Reg
mesh
in
the
mapping,
and
so
each
of
those
I
have
put
observers
and
validators
on
them.
So
the
first
thing
that
I
do
is
make
sure
that
my
the
inductive
our
goals,
we're
gonna,
expect
that
this
is
pools,
if
not
I'll
cast
it
if
we
can,
but
if
not
then
it'll.
A
A
A
A
Okay,
I,
don't
know
that's
this
way,
so
sorry
I'm,
throwing
around
the
term
rank
mesh.
That
is
the
regularization
mesh.
It's
slightly
distinct
from
a
true
mesh,
because
we
use
sort
of
only
interior
cell
gradients.
So
we
don't
actually
like.
We
make
sure
that
we're
not
sort
of
double
counting
on
the
edges
and
stuff
like
that.
So
if
you
were
to
try
and
use
that
as
a
differential
operator,
it
wouldn't
work,
but
it
works
for
regularization,
and
so
that
holds
all
those
operators.
A
We
need
to
know
if
you're,
using
a
model
that
has
active
cells
versus
not,
we
need
to
know
what
those
are.
So
we
ask
that
as
an
input
for
the
combo
regularization,
so
here
at
combo
regularization
is
something
like
HTML
regularization,
where
it's
made
up
of
multiple
things,
and
so,
if
I
go
in
and
I
change
the
inductive
on
that
top
level
class
I
need
to
propagate
that
change,
because
I
made
that
here
but
I
need
to
tell
the
master
about
it.
So
that's
I,
first
check
that
it's
a
valid
change
that
you've
made.
A
So
this
just
says:
like:
do
these
values
make
sense
I'm
expecting
a
bool
did
I
get
a
vector
of
pool
up
the
right
size?
Yes,
we
can
move
on.
Then.
What
we
do
is
we
say:
okay,
the
the
observers
are
now
gonna
kick
in
so
I
now
also
I'm
gonna
go
tell
the
reg
mesh
hey
my
inductive
of
changed
here,
since
this
is
a.
B
B
So
the
observer
result
observer
also
has
another
kind
of
flavor
too,
as
being
a
setter.
So
for
a
centered,
you
know
you
go
and
decide
to
want
to
change
a
property,
and
it
just
says
every
everything
under
this
centered
function
carry
out
these
yeah,
you
sort
of
split
it
into
two
parts.
One
we
say
is
this
an
acceptable
thing
that
I
can
change
my
property
to
and
the
observer
is
the
thing
that
recognizes?
Oh,
this
property
changed
and
now
I
want
to
like
the
subsequent
chain.
A
A
So
same
thing
like
with
mrs,
we
can
check
that
and
then
we
also
then
need
to
feed
that
to
the
children
objective
functions.
So
that's
what
all
of
these
observers
are
doing.
So
in
the
changes
that
were
made
in
the
DC,
it
deletes
properties,
yeah
and
so
that
broke
all
of
these
hooks.
So
that's
why
it's
family,
it's
because
if
MRAP
is
updated,
Emre
was
no
longer
a
property,
and
so
it's
no
longer
propagated.
So
we
can
go
into
that
more
detail
if
you
want
afterwards,
but
that's
the
high
level
explanation
of
what
broke.
Oh.
B
B
A
B
D
A
A
I
can
put
Franklin's
video
in
here
and
just
recommend
that
you
watch
it
convention
sort
of
goes
with
eight.
A
B
C
B
B
A
B
That's
one
way:
I
saw
to
fix
it
so
that
I
wouldn't
because
I
guess
I
I
want
to
make
sure
that
whenever
I'm,
using
a
simple
programming
and
I
want
to
call
methods
on
a
particular
object
that
I
don't
have
a
bunch
of
options
that
are
redundant
or
that
options
that
don't
apply
to
my
problem.
Obviously
I
don't
want
to.
You
know,
call
like
problem,
erm,
dot,
n,
pi
I,
don't
want
n
pi
it
to
be
something
and
shows
up
in
a
list
of
do.
A
So
that
that
is
been
just
a
thing,
with
tab,
completion
and
also
Jupiter's
working
on
that
one
of
the
things
that
we
can
do
is
at
the
top
of
a
file
is
just
say
this
all
equals
whatever
and
then
what
should
happen?
I,
don't
know
if
this
is
happening
yet.
Is
that
the
the
tab
completer
will
look
at
this
list
as
the
only
things
that
are
coming
regular,
easy.
B
A
B
B
You
know,
and
one
of
the
other
looks
some
of
the
other
stuff-
you
know
you
guys
have.
Maybe
you've
got
a
property
or
a
method.
That's
defined
for,
like
a
base
are
like
a
parent
class,
doesn't
really
apply
to
this
sort
of
child
class
that
you're
working
on.
So
for
me,
yes,
I'm
dealing
with
a
time
domain
problem,
but
I
don't
want
inherit.
B
B
A
I
I
think
this
is.
Why
should
we
should
look
at
that
issue
again?
I
think
this
is
where
they
were.
Leaning
is
reinstating.
This
yeah,
please
don't
like
mess
with
your
imports
just
to
satisfy
the
tab
completion.
This
should.
A
Okay,
I
guess
perhaps
okay,
so
the
other
things
to
look
at
documentation,
try
and
use
the
Sphinx
Convention
for
everything.
There's
some
really
good,
Doc's
that
they
have
online
some
of
our
better
documentation
like
this.
This
follow
Sphinx
so
Bram,
then
you
start
with
the
class
and
then
the
name
of
the
parameter
and
then
a
description
of
it.
Then,
when
you
are
writing
a
function
or
something
like
that
or
a
property
in
this
case,
our
type
is
what
the
return
type
is,
and
then
this
is
a
description
of
whatever.
A
If
you
want
to
see
if
something
is
actually
documented,
because
a
lot
of
the
stuff
I
think
that
was
written
in
BC
is
not
actually
built
in
the
docs
check
out
the
docs.
And
then,
if
you
go
to
content
and
if
you
go
to
DC,
you
can
see
what
is
built.
If
you
look
at
each
of
these
modules
like
which
module
is
built,
if
you
have
something
new,
just
copy/paste
this
and
like
fix
the
inheritance
name
and
then
should
build.
B
B
B
A
Like
the
high
level
yeah,
no
I,
don't
think
so.
Most
of
our
docs
on
each
of
the
methods
are
like
all
very
distinct,
like
one
of
the
things
that
would
be
nice
to
have
eventually
for
each
of
the
methods
is
like
a
getting
started.
Here's
the
minimal
example,
so
you
don't
have
that
for
anything
actually
yeah
yeah,
so
that
actually
would
be
worse,
like
creating
an
issue,
and
we
could
try
and
make
a
template
for
each
of
the
methods.
A
A
So
here,
if
we
go
to
simple,
what
did
you
want
to
see.
A
B
A
Yeah,
so
that
I
guess
would
be
my
vote.
It's
like
github
already
takes
care
of
it,
okay,
cool,
then.
The
other
thing
that
we
do
need
to
make
sure
is
that
so
originally
I
put
an
issue
on
dis
critize,
just
asking.
If
we
want
to
manually
track
authors,
because
the
list
is
at
a
date
but
I
actually
do
you
agree
that
it
is
a
good
idea
to
track
them
manually,
because
some
of
these
people
contributed
like
way
before
it
was
on
github
and
have
contributed
in
other
ways
yeah.
A
A
That's
something
I
need
to
look
into
more
because
I
know
what.
A
We
have
a
file
called
Frank's
txt
and
then.
A
B
B
A
There's
I
think
there's
a
way
to
check
I'm
the
thing
I'm
just
trying
to
be
careful
of
is
in
the
scenario
where
we're
inverting
for
two
parameters
like
mu
and
Sigma.
You
need
to
update
them
both,
but
I.
Think
that
that's
fine
I
think
on
the
props
class.
We
should
be
able
to
check
what
is,
if
not,
we
can
write
a
very
simple
just
like
underscore
active
maps
or
something
like
that
or
active
properties,
and
just
mean
that
so
it.
A
B
A
C
A
That
quite
yet,
no
no
worries
no
worries,
yeah
no
problem.
There
I
mean,
if
there's
stuff,
that
you
want
to
look
at
and
you
can
post
questions
on
or
if
there's
examples
that
you're
interested
in
seeing
like
feel
free
to
make
issues
on
that
examples
are
one
thing:
we're
trying
to
expand.
I
think
a
fair
bit
in
the
new
year,
so
Oh
boom.
A
So
yeah
sounds
good
I'll
just
leave
the
the
hangout
open
when
I
think
we're
gonna
start
hacking
on
some
stuff
so
feel
free
to
chime
in
if
you've
got
other
questions
or
if
you
have
other
things,
you
need
to
be
doing.
No
worries,
yeah,
I'll,
take.
B
B
A
B
A
B
A
B
A
A
B
A
So
this
non-trivial
to
just
like
sort
of
revert
this
once
it's
already
in
so
like
what
we
could
do
is
because
are
these
I
mean
anything
to
do?
Is
if
you
don't
mind,
just
look
through
this
commit
and
see
what
are
the
things
that
we
actually
need,
and
then
what
we
can
do
is
bring
in
the
old
there's
the
regularization
da
from
master
and
then
superimpose
the
changes
that
actually
need.
B
A
C
B
A
B
B
B
B
B
B
A
B
A
A
B
A
B
A
It
can
go
there
for
now
and
then
we
can
move
it.
That's
fine
yeah
because,
like
right
here
right
here
this,
like
the
order
that
you're
returning
things
is
somewhat
arbitrary,
arguably,
and
so
that's
not
necessarily
gonna
be
transparent
to
anybody
on
the
outside.
So
if
you
wanted
to
do
like
get
distance
and
then
you
could
hand
in
a
beep,
that
would
be
fine.
It's
like
an
input
arguments
or
as
a
list
if
you
want
to
get
a
list
of
like
I,
need
a
BM
n
right.
A
B
A
B
A
B
A
So
just
like,
maybe
so
so
that
I
guess
should
be
like
survey
tight.
B
A
B
B
B
B
D
A
B
B
B
C
B
C
B
C
A
B
A
B
A
C
A
B
A
B
A
A
C
A
C
A
A
B
B
A
A
B
B
B
A
B
B
A
B
A
B
A
B
B
A
B
B
A
B
B
D
D
B
B
B
B
B
A
A
D
B
We're
not
interpolating
between
the
source
location,
so
if
your
source
location
is
not
exactly
on
the
stealth
center,
the
accuracy
of
that
code,
it's
not
going
to
be
great.
So
it's
a
difference.
I
think
you'd
rather
use
problem
m
to
compare
okay,
now
yeah
unless
you're
doing
pull,
pull
I,
think
problem
and
it's
actually
better.
That's
my
experience
and
then
actually
it's
a
it's
more
closer
to
you,
B
C,
to
D
curve.
Okay,.
D
B
B
B
A
B
B
C
B
C
A
B
B
A
B
B
B
B
A
C
B
B
B
B
C
A
A
B
D
D
A
C
B
B
A
I
think
it
should
be
private.
It's
just
like
just
the
underscore
should
be
there,
because
it's
not
necessarily
top-level
accessible,
and
it's
not
gonna,
be
there
unless
you've
gone
and
created
it
so
like
just
calling
it
doesn't
create
itself
if
it's
not
already
there
right
yeah,
if
you
just
call
Jane,
mat
or
T
matrix,
and
it
hasn't
yet
been
created,
it's
not
going
to
return
anything
to
you.
So
all
I'm
saying
is
that
just
like
it
shouldn't
necessarily
be
top-level
accessible.