cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
Projection of Cleaning Solvent Needs by Use of Slider Box - (2023-US-30MP-1507)

Margaret Wilson-Moses, Senior Product Engineer, Inpria Corporation

 

Cleaning large systems effectively is critical to many applications within industrial manufacturing. Establishment of a system's hold-up volume and the target concentration of residual contaminant after cleaning do not fully define a cleaning method, however. Assuming a cleaning method that repeats the same flush volume until the system has reached its target contaminant level, viable cleaning schemes will differ in how many flushes of the volume used to reach that target. By creating a graph showing "Flush volume" as a function of "Number of flushes needed" with editable table variables of "System hold-up volume" and "End contaminant level" in slider boxes, the user can visualize many different scenarios in many different systems before selecting the scheme that best fits their varied needs. 

 

 

Hello,  my  name  is  Margaret  Wilson-Moses,

and  I  work  at  Inpria  Corporation as  a  Senior  Product  Engineer.

Inpria  Corporation is  up  in  Corvallis,  Oregon.

Inpria  designs  and  manufactures metal  oxide  photoresists

to  unlock  the  full  potential of  extreme  ultraviolet

or  EUV  photolithography.

At  its  most  basic  level,

Inpria  is  made  up of  chemists  and  engineers.

The  chemists  at  Inpria  are  the  ones developing  and  designing  the  chemistries,

testing  them  and  refining  them to  behave  how  they  want,

and  then  taking  those  small  formulations

and  giving  the  best  designs to  the  engineers.

The  engineers  scale  up  those  designs

to  manufacture in  our  high- volume  manufacturing  facility

where  we  have  tighter  control over  processing  and  higher  purity,

and  that  finished  product goes  to  our  customers.

Both  the  chemists  and  the  engineers at  Inpria  use  JMP  extensively.

The  chemists  use  JMP to  design  their  experiments

to  analyze  the  results of  those  experiments,

often  using  hypothesis  testing.

They  also  use  JMP  to  build  models, so  they're  better  able  to  predict

how  certain  parameters  will  affect the  response  variables  they're  seeking.

They  also  use  JMP to  present  their  findings

within  their  teams  and  across  Inpria.

Engineers  use  JMP to  work  up  our  process  data.

We  have  sensors on  our  manufacturing  facility

that  are  collecting  data every  two  seconds.

We  have  a  large  amount  of  data and  we  use  automated  scripts  from  JMP

to  pull  out  the  pieces  of  that  data that  we  need

to  be  able  to  analyze  processing much  more  simply.

We  use  control  charts

to  look  at  process  parameters for  different  batches

and  also  analyze  QC  metrics  of  our  product over  time  for  different  formulations.

Those  QC  metrics  end  up on  our  certificates  of  analyzes.

We  also  use  measurement  system  analyzes or  MSA  to  perform  gage  studies

on  the  tools  that  we  use to  collect  the  quality  control  metrics.

We  also  join  data  from  various  sources, as  do  the  chemists,

because  different  groups  at  Inpria are  always  collecting  data,

so  it's  good  to  be  able to  have  a  way  to  join  the  data

and  look  for  correlations between  those  data  sets.

Finally,  we  also  use  JMP to  present  our  data

both  internally  and  to  our  customers.

A  couple  of  years  ago,

when  we  were  bringing  up our  high- volume  manufacturing  facility,

I  was  tasked  with  the  goal

of  developing  a  cleaning  scheme for  our  manufacturing  facility.

Inpri a,  at  that  time,  and  in  a  way  today, cleans  our  manufacturing  systems

by  dilution to  ensure  lot-to-lot  segregation.

To  ensure  that  lot  A does  not  end  up  in  lot  B

or  it's  limited  to  a  very  small  amount.

I've  modeled  that  here.

The  top  left, we  have  our  finished  product.

When  we  transfer  that  to  bottles and  we're  done  wasting,

we've  taken  all  we  can  take  out,

we're  left  with  a  little  bit  of  heel in  our  system.

That  heel  cannot  be  drained or  flushed  out.

It's  just  unreachable  by  the  pumps.

To  that  heel,  we  add  a  flush  that  doesn't contain  any  of  the  starting  material

and  we  end  up  with  a  diluted  heel.

We  waste  as  much  as  we  can and  end  up  with  the  same  volume  of  heel,

but  at  a  lower  concentration  of  X.

We  repeat  this  process, flushing  and  wasting,  flushing  and  wasting

until  we  have  the  concentration that  we  need  at  the  end.

Further  on, I'll  model  this  by  calling  X₀,

the  concentration  of  X in  the  finished  product

or  whatever  the  heel  starts  at,

so  which  is  going  to  match the  final  product.

Then  X₁  is  the  concentration  of  X after  the  first  flush.

X₂  is  the  concentration after  the  second  flush,

and  so  on  up  through  Xₙ.

The  flush  volume  here,  called  F, is  the  same  volume  repeatedly

throughout  the  process.

My  objective  when  approaching  this  problem

was  to  develop  a  dynamic and  user-friendly  visual  model

to  show  to  my  team how  different  variables  in  this  problem

a ffect  the  potential  cleaning  schemes we  could  use  with  the  overall  goal

of  supporting  selection  of  a  scheme that  would  fulfill  all  our  criteria.

Flushing.

Cleaning  by  dilution  can  be  modeled with  this  equation  here,

which  I  just  pulled  from  the  math that  comes  out  of  the  previous  slide

taken  to  N  flushes.

Xₙ,  the  amount  of  X  remaining after  N  flushes

e quals  to  the  variables  on  the  right.

So  where  H  is  the  volume  of  heel, F  is  the  volume  per  flush  in  the  cleaning,

N  is  the  number  of  flushes, and  X₀  is  the  initial  amount  of  X.

This  equation  does  importantly  assume

that  every  flush  and  heel are  perfectly  mixed  per  flush,

but  we  do  have  experiential  data

that  supports that  that  is  indeed  the  case,  thankfully.

We  are  also  assuming  that  the  heel  volume is  consistent  every  time,

so  we're  wasting  to  the  same  exact  heel,

and  that  the  flush  volume

is  the  same  exact  volume every  single  flush.

But  again,  we  have  experiential  data that  supports  that,

so  we're  okay  with  these  assumptions.

Functionally,

we  are  actually  more  interested in  translating  this  equation

to  be  a  function  of  N, the  number  of  flushes,

and  F,  the  volume  per  flush,

because  the  other  variables in  this  equation  are  pretty  much  set.

Heel  or  H  is  constant per  manufacturing  system.

It  may  vary  per  system,  but  it  is  known

through  the  data  we've  collected in  the  past  to  calculate  what  it  is.

X₀  and  Xₙ  vary  per  cleaning, but  again,  we  have  analytical  methods

to  understand  both  X₀  and  Xₙ  per  cleaning.

Those  are  our  known  variables.

Flush  volume  and  number  of  flushes are  the  two  variables  that  we're  varying

to  figure  out  a  cleaning  scheme.

Those  are  the  ones  to  be  determined.

We  have  a  few  boundary  conditions  also.

The  total  amount  of  solvent  used must  be  as  low  as  possible.

We  didn't  come  into  this with  a  hard  limit,

but  more  solvent  used  is  higher  cost both  in  raw  materials  and  waste,

so  we  want  to  limit  it as  much  as  possible.

Another  boundary  condition  is  that we  want  to  keep  the  number  of  flushes

less  than  or  equal  to  20 in  order  to  be  operational.

That's  because  we  want  to  fit  our  cleaning within  our  production  cadence.

Lower  flushes  is  better  operationally, but  we  have  a  hard  limit  at  20.

Flush  volume  also has  a  boundary  condition.

It  has  to  be  less  than  or  equal to  the  capacity  of  the  system.

In  this  case, I've  set  our  capacity  equal  to  60  gallons.

The  maximum  flush  volume you  could  have  is  clearly  60.

If  you  take  the  equation I  showed  on  the  previous  slide

and  these  boundary  conditions

along  with  the  fact that  we  know  H,  X,  not  an  N,

you  can  actually  solve  this  equation.

You  can  find  F  and  N to  satisfy  the  boundary  conditions.

But  that  misses  the  goal  that  I  had when  I  came  into  this  process.

To  explain  a  little  bit  more  about  that, there's  many  ways

why  going  with  a  visual  model  through  JMP was  more  advantageous  for  me

when  I  approach  this  problem

than  just  working with  this  stagnant  equation.

First  off,  this  equation  is  not  intuitive.

I'm  pretty  good  at  math,

and  I  can't  see  what  this  equation  means in  a  graph  form  by  just  looking  at  it,

versus  when  you  have  a  visual  model,

you  can  see how  different  variables  affect  each  other.

The  equation  is  limited.

You  may  have  one  H, where  you  may  have  one  H,

when you  want  to  have one  yield  value  per  manufacturing  system,

but  you  have different  manufacturing  systems.

You  may  want  to  vary  H  and  see what  the  different  cleaning  schemes  are.

This  equation  really  fits.

You  get  one  answer per  one  set  of  input  variables.

With  a  visual  model,

you  have  a  very  versatile  relationship that  you  can  see

and  it  covers infinite  different  cleaning  schemes.

The  equation  is  also  very  individual.

I  crunch  this  math, I  make  the  assumptions,

I  put  the  input  values  in, and  then  I  tell  my  team

how  many  flushes  we  should  use and  what  the  volume  per  flush  should  be.

They  can  check  my  math,

but  they're  not  involved in  that  process  at  all.

They  just  say,  "Okay."

Versus  the  visual  model  that  I  built is  user-friendly  and  dynamic,

so  they  can  tinker  around  with  themselves

and  see  how  the  variables affect  each  other

and  come  to  their  own  conclusions,

which  also  leads to  more  buy-in  from  the  team

when  we  end  up  choosing  a  cleaning  scheme.

Lastly,  an  equation  is  boring.

I  like  math,  and  it's  still  more  fun for  me  to  play  around  with  the  graph

than  it  is  to  use  an  equation.

The  visual  is  much  more  interactive.

I'm  going  to  move  from  here to  sharing  my  model.

I  started  with  just  a  simple  data  table with  three  table  variables.

I  have  X   here  and  Xₙ  both  in  ppm.

And  I've  started  X₀  to  be   1 million  ppm,

and  Xₙ  is  the  target  end  goal for  the  cleaning,

and  heel  is  the  heel  of  the  system.

The  number  of  flushes  here is  just  an  independent  variable,

so  it's  just  an  integer  value between  1  and  35.

I  did  go  beyond the  maximum  number  of  flushes

just  to  get  a  better  view of  the  relationship.

Then  the  flush  volume  column  here

is  built  off  the  equation that  I  showed  previously.

I  open  up  this  formula,

you  can  see  that  this  is  the  same  equation I  shared  in  the  slide,

and  it's  a  function of  the  table  variables.

It's  a  function  of  these  table  variables here  that  are  brought  into  the  equation.

I've  also  rounded  it  to  one  decimal  place because  our  control  system

only  has  that  amount  of  sensitivity when  adding  flush  volume.

Finally,  I  have  a  third  column  here which  is  the  total  solvent  used.

This  is  simply  a  product of  the  first  two  columns.

It  will  show  you

how  much  solvent  you've  used per  cleaning  scheme.

It  just  multiplies  the  number  of  flushes by  the  flush  volume

to  give  the  total  amount  of  solvent  used.

When  I  go  into  my  cleaning  model, it's  built  around  Graph  Builder.

I'm  going  to  set  my  standard  here to  be  1  million  ppm  as  the  starting  value.

Let's  say  our  target  is  10  ppm of  residual  X  at  the  end  of  cleaning

and  our  heel  is  five  gallons.

You  can  see  here  that  we  have  an  X on  the  graph  of  number  of  flushes

and  then  there's  two  different  Y  values.

There's  the  flush  volume  in  gallons and  the  total  solvent  used  in  gallons.

I  also  have  a  reference  line  here  at  20

to  show  the  maximum  flushes that  are  operable.

Each  of  these  points  reflected  here is  a  full  cleaning  scheme.

If  I  select  this  point  right  here, this  is  saying  10  flushes.

With  this  starting  value  of  X,

this  goal  end  of  X  at  this  heel  value,

and  you're  going  to  have the  flush  volume  of  10.8  gallons  per  flush

in  that  cleaning  scheme.

When  you  look  at  this  graph,

all  of  the  red  points to  the  left  of  this  black  line

are  valid  cleaning  schemes.

Some  of  them  use  more  solvent, total  solvent,  and  some  of  them  use  less,

but  they're  all  valid per  our  boundary  conditions.

Then  I  have  at  the  right  here the  table  variables  in  slider  form,

these  top  three  things, which  are  editable  either  by  a  slider

or  by  the  number  edit  box  here that  are  connected  to  the  table  variable.

Then  I   have  a  button  box  here which  will  take  all  this  information

and  compute  it  and  give  you a  simple  answer  for  the  total  solvent  use.

If  I  click  that  right  here, I  get  a  box  that  says,

"Okay,  if  you  have  20  flushes, the  volume  per  flush  will  be  3.9

and  you're  going  to  use  a  total of  78  gallons  in  this  cleaning  flush."

There's  a  few  things  we  can  get without  really  even  tinkering

with  the  slider  variables  over  here

with  this  visual  model that  we  couldn't  get  from  the  equation,

like  I  said  before.

First  off, you  do  see  this  negative  correlation

between  number  of  flushes and  total  solvent  use.

When  I  said that  you  could  solve  the  equation

using  the  boundary  conditions and  our  known  table  variables,

I  meant  that  if  you  are  trying  to  use the  least  amount  of  total  solvent

and  you  have  a  maximum  of  20  flushes, then  your  best  scheme,

assuming  you're  trying to  minimize  solvent  used,

is  going  to  be  at  20  flushes.

That's  due to  this  negative  correlation  here.

The  more  flushes  you  used, the  less  total  volume  you're  using

because  it's  negative  correlation.

You  also  see  with  this  visual that  it's  an  exponential  decay.

While  20  flushes  may  be  the  least  amount of  total  solvent  you're  using

with  these  boundary  conditions,

18  flushes  only  uses  81  gallons,

which  is  only  three  gallons  more than  you  use  at  20  flushes.

This  is  where  it  becomes  important to  have  this  visual  here

because  it  might  be  the  case that  the  time  we  save  in  operations

by  reducing  flushes  from  20  to  18

is  actually  worth  the  three  gallons we  lose  in  total  solvent  used.

All  right,  so  with  the  sliders,

now  we  can  start  looking  at  the  sliders,

with  the  sliders,

you  can  see  how  these  variables affect  the  possible  cleaning  schemes.

The  sliders  here  are  in  the  range  of,

maybe  not  as  possible, but  what's  reasonable  for  this  model.

So  you  can  see.

You're  looking at  how  these  red  dots  change

with  relationship  to  the  Y-axis.

You're  looking at  both  the  steepness  of  this  curve

because  that'll  show  you

how  important  it  is  to  maximize your  flushes  within  these  bounds.

You're  also  looking  at  the  overall  level.

You  want  to  reduce  total  solvent.

The  lower  down  your  red  dots  are, the  better  off  you're  going  to  be.

By  manipulating  these,

I  can  show  how  much  it  matters  to  start at  a  lower  or  higher  concentration.

You  can  see  that,  yes, the  red  dots  are  moving  a  little  bit,

but  it  takes  quite  a  while before  they  have  an  effect

on  the  height  of  those  red  dots in  the  lower  graph.

Xₙ ,  you  can  see  how  much  it  matters

to  have  a  goal of  residual  solvent  in  there.

If  your  goal  is a  higher  amount  of  solvent,

if  you  have  more  buffer to  reach  your  goal,

then  you're  going  to  need  less  solvent.

Whereas  if  you  have  higher  criteria for  residual  solvent,  so  a  lower  goal,

you're  going  to  use quite  a  bit  of  solvent.

You  can  see  here  you  have  fewer and  fewer  cleaning  schemes  that  are  viable

when  you  have that  lower  goal  of  residual  solvent.

Let  me  just  back  to  10.

Then  with  heel,

you  can  tink  around  this and  see  how  much  the  heel  of  a  system

affects  how  much  solvent and  what  cleaning  schemes  are  possible.

A  greater  heel  means  you  have  to  use

more  and  more  solvent to  achieve  your  goal  criteria.

A  smaller  heel  mean  you  need  to  use  less  and  less  solvent.

Beyond  just  selecting  a  cleaning  scheme,

this  visual  model  allowed  our  team to  look  for  what  we  should  focus  on

if  we're  trying  to  reduce the  overall  amount  of  solvent

when  we're  cleaning.

We  did  that  by  looking  at if  we  had  some  options

to  change  our  variables of   X₀ Xₙ,  and  heel,

which  one  would  give  us the  most  bang  for  our  buck?

Which  one  could  we  change with  reasonable   effort  on  our  part

to  get  the  biggest  reduction in  total  solvent  used  per  cleaning?

Here,  I'll  say  we  had  three  options.

I'll  say  that  we  had  an  option to  reduce  the  starting  value  by  50%.

Say  we  could  arrange  our  batch  schedule.

Cleanings  would  only  start at  50%  of  what  they  originally  started  at.

We  could  change  our  goal from  10  ppm  to  50  ppm,

so  multiply  it  by  five.

That's  because  we  had different  sensitivity  techniques

or  different  restrictions for  material  following  a  certain  batch.

Then  we  could  also  reduce  our gal, our  heel  by  one  gallon

by  engineering  improvements to  the  actual  manufacturing  systems.

Really  quickly, we'll  look  for  using  this  graph,

we'll  see  what  happens

when  you  change from  this  standard  set  of  input  variables

and  keep  the  number  of  flush  to  the  20 to  the  overall  volume  of  cleaning,

solven t  needed.

Again,  our  standard  level  is  78  gallons.

If  you  change from  100%  of  X i n  your  system

at  the  beginning  to  only  50%, so  500,000  ppm,

and  I'll  set  the  variable  values  there,

we're  now  only  using 72  gallons  to  clean  out.

But  that's  only  a  reduction of  six  gallons  for  cleaning.

That  really  didn't  move the  needle  very  much.

Next,  we'll  look  at  changing  our  Xₙ  to  50

and  then  setting our  variable  values  again.

That  says  that  we  will  need 64  gallons  of  solvent  to  clean  at  the  end.

That's  a  better  improvement for  the  total  solvent  needed.

Finally,  we'll  look at  reducing  the  heel  in  the  system

from  five  gallons  to  four  gallons

and  see  that  the  total  solvent  needed is  62  gallons  here.

That's  the  greatest  reduction in  solvent  needed  to  clean.

With  this  information,

and  it  was  similar  information  that we  used  to  actually  pursue  this  option,

we  did  look  at  ways to  reduce  the  heel  in  our  system

to  reduce  the  overall  solvent  needed

because  we  saw  that  variable  is  going  to affect  the  total  solvent  used  most

with  the  amount  that  we  can  change any  of  these  variables.

That  is  reflected  here.

These  were  the  three  options I  just  went  over.

You  can  see  that  option  A, the  reduction  in  starting  level,

you  only  are  gaining  yourself  six  gallons.

Option  B,  the  increase  of  the  end  level,

you  have  14  extra  gallons, and  option  C  was  16  extra  gallons.

But  really  looking  at  these  values, again,  it's  important  that

a  team  is  involved  in  this

because  that's  only  two  gallons  different between  option  B  and  option  C.

If  option  B  were  very  easy compared  to  option  C,

we  probably  would  have  gone  with  option  B.

But  a  heel  reduction  of  one  gallon would  be  most  effective

in  these  three  options at  reducing  total  volume  for  cleaning.

Some  concluding  remarks  I  have.

Basically,  I  just  want  to  circle  back to  what  I  brought  up  originally.

It  could  be that  mathematically-minded  people

would  look  at  the  equation  on  the  left and  automatically  know

that  changing  the  heel is  going  to  have  the  greatest  effect

on  the  goal of solvent  used.

That's  not  instinctive  to  me,

to  know  that just  looking  at  this  equation.

I  know  that  the  people  I  work  with, that's  not  instinctive  to  them  either.

In  the  case  where  I'm  in  a  team trying  to  come  to  a  conclusion

with  consensus  of  all  of  us,

it's  very  helpful to  have  a  visual  model  in  JMP

where  people  can  manipulate the  variables  themselves

and  see  how  a  variable like  total  solvent  used  is  changed

by  changing  variables that  we  know  what  they  mean.

can  see  many  applications

of  using  a  visual  model with  slider  variables,

even  in  my  company.

Any  multivariable  process

where  the  relationship between  those  variables  is  known

has  the  potential  to  make  use  of  a  model with  the  slider  variables

to  give  a  visual  model  of  how  the  process reacts  to  changes  in  those  variables.

I'm  thinking  of  there's  predictable  ways that  fluid  temperature  affects

how  hard  a  pump  has  to  push  fluid to  reach  a  certain  flow  rate.

That  could  be  helpful in  selecting  filters  for  a  given  process.

I  believe  it  could  be  useful for  many  other  applications  as  well.

Ease  of  generation.

I  am  not  a  coder  and  I  was  able to  build  this  model  relatively  easily

with  help  from  Jordan  Hiller,

oh,  shout  out  Jordan  Hiller,  thank  you,

also  from  the  scripting  index,

which  had  many  great  examples, and  the  JMP  user  community.

Because  I  was  able  to  look through  historical  questions

and  piece  together  how  I  wanted to  go  about  a  certain  problem.

It  was  relatively  simple to  make  this  model.

Having  made  this  model,

it  would  be  very  easy  to  manipulate in  the  future  for  other  purposes.

Room  for  improvement.

Again,  there  may  be  a  place  that  I  missed where  it  was  possible  to  do  this,

but  in  my  exploration,

I  couldn't  find  a  way to  make  a  reference  line  that  connected,

basically  intersected  the  graph at  this  point

and  moved  along with  the  graph  to  different  points.

A  reference  line  that  is  a  function.

I  wasn't  able  to  do  that.

I  know  I  saw  different  examples  of  it, but  I  wasn't  able  to  do  it

with  using  table  variables as  part  of  that  function.

But  again,  that's  probably due  to  my  not  being  a  coder,

but  it  would  be  helpful if  that  were  a  simpler,

more  accessible  feature in  modeling  in  JMP.

But  really, I  do  think  that  the  model  I  created,

it  was  very  helpful  for  our  purposes,

and  it  will  be  helpful for  other  applications  in  the  future.

I  hope  it's  helpful  to  other  people. Thank  you.

Comments

A relatable, enjoyable talk, Margaret. Thanks for sharing your experiences in such a digestable format!