---
name: "addloself"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/addloself"
---

# addloself(3)

create a logical inductor

## NAME

addloself - create a logical inductor

## SYNOPSYS

```
#include "mlo.h"
loself_list ∗addloself(ptfig,type,self,scon1,scon2,name)
lofig_list ∗ptfig ;
char type ;
double self ;
losig_list ∗scon1, ∗scon2 ;
const char ∗name ;
```

## PARAMETERS

- *ptfig*

  Pointer to the figure in which the inductor should be added

- *type*

  Inductor type

- *self*

  Inductor value in Henry

- *scon1*

  Pointer to the signal to be connected on the inductor top plate

- *scon2*

  Pointer to the signal to be connected on the inductor bottom plate

- *name*

  Inductor instance name

## DESCRIPTION

**addloself** creates a new inductor, and adds it to the list of inductors pointed to by *ptfig -\> LOSELF*. The new inductor is  added in front of the list, and becomes itself the list head.\
 The *type* parameter can take one value :

- **SELFMIM**

  for a metal inductor

The *self* argument is the inductor value in Henry.\
 Two connectors are created each time a inductor is added, and the *scon1* and *scon2* **losigs** are attached to the *SIG* field of the **locon** of the appropriate connector. The connectors names are *scon1*  and *scon2*; their direction, *DIR*, are set to **'L'**, and their *TYPE* **INTERNAL**. For details on the structuself, see [**locon**(3)](/locon/3.md) and [**loself**(3)](/loself/3.md).

## RETURN VALUE

**addloself** returns a pointer to the newly created inductor.

## ERRORS

**"∗∗∗ mbk error ∗∗∗ illegal inductor type :** *type***"**

The *type* is not a legal inductor type.

## EXAMPLE

```
#include "mlo.h"
void parallel_inductors(void) /∗ netlist of two parallel inductors ∗/
{
  lofig_list ∗pt  = NULL ;
  losig_list ∗in  = NULL ;
  losig_list ∗out = NULL ;
  pt = addlofig("parallel_inductors") ;
  addlocon(pt,"in",in = givelosig(pt,0),IN) ;
  addlocon(pt,"out",out = givelosig(pt,1),OUT) ;
  addloself(pt,SELFMIM,0.6e-6,in,out,"self1") ;
  addloself(pt,SELFMIM,0.6e-6,in,out,"self2") ;
}
```

## SEE ALSO

**mbk**(1), [**lofig**(3)](/lofig/3.md), [**loself**(3)](/loself/3.md), [**locon**(3)](/locon/3.md), [**delloself**(3)](/delloself/3.md).
