gdsfactory.cross_section.Section

gdsfactory.cross_section.Section#

class gdsfactory.cross_section.Section(*, width: float, offset: float = 0, insets: tuple[float, float] | None = None, layer: tuple[int, int] | str | int | LayerEnum, port_names: tuple[str | None, str | None] = (None, None), port_types: tuple[str, str] = ('optical', 'optical'), name: str | None = None, hidden: bool = False, simplify: float | None = None, width_function: Callable[[...], ndarray[tuple[int, ...], dtype[floating[Any]]]] | None = None, offset_function: Callable[[float], float] | None = None)[source]#

CrossSection to extrude a path with a waveguide.

Parameters:
  • width – of the section (um) or parameterized function from 0 to 1. the width at t==0 is the width at the beginning of the Path. the width at t==1 is the width at the end.

  • offset – center offset (um) or function parameterized function from 0 to 1. the offset at t==0 is the offset at the beginning of the Path. the offset at t==1 is the offset at the end.

  • insets – distance (um) in x to inset section relative to end of the Path (i.e. (start inset, stop_inset)).

  • layer – layer spec. If None does not draw the main section.

  • port_names – Optional port names.

  • port_types – optical, electrical, …

  • name – Optional Section name.

  • hidden – hide layer.

  • simplify – Optional Tolerance value for the simplification algorithm. All points that can be removed without changing the resulting. polygon by more than the value listed here will be removed.

  • width_function – parameterized function from 0 to 1.

  • offset_function – parameterized function from 0 to 1.

0

│        ┌───────┐
         │       │
│        │ layer │
         │◄─────►│
│        │       │
         │ width │
│        └───────┘
             |
│
             |
◄────────────►
   +offset
__init__(**data: Any) None#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Methods

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

construct([_fields_set])

copy(*[, include, exclude, update, deep])

Returns a copy of the model.

dict(*[, include, exclude, by_alias, ...])

from_orm(obj)

generate_default_name(data)

json(*[, include, exclude, by_alias, ...])

model_construct([_fields_set])

Creates a new instance of the Model class with validated data.

model_copy(*[, update, deep])

Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#model_copy

model_dump(*[, mode, include, exclude, ...])

Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#modelmodel_dump

model_dump_json(*[, indent, include, ...])

Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#modelmodel_dump_json

model_json_schema([by_alias, ref_template, ...])

Generates a JSON schema for a model class.

model_parametrized_name(params)

Compute the class name for parametrizations of generic classes.

model_post_init(_BaseModel__context)

Override this method to perform additional initialization after __init__ and model_construct.

model_rebuild(*[, force, raise_errors, ...])

Try to rebuild the pydantic-core schema for the model.

model_validate(obj, *[, strict, ...])

Validate a pydantic model instance.

model_validate_json(json_data, *[, strict, ...])

Usage docs: https://docs.pydantic.dev/2.10/concepts/json/#json-parsing

model_validate_strings(obj, *[, strict, context])

Validate the given object with string data against the Pydantic model.

parse_file(path, *[, content_type, ...])

parse_obj(obj)

parse_raw(b, *[, content_type, encoding, ...])

schema([by_alias, ref_template])

schema_json(*[, by_alias, ref_template])

serialize_functions(func)

update_forward_refs(**localns)

validate(value)

Attributes

model_computed_fields

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_extra

Get extra fields set during validation.

model_fields

model_fields_set

Returns the set of fields that have been explicitly set on this model instance.

width

offset

insets

layer

port_names

port_types

name

hidden

simplify

width_function

offset_function