SimuBox.schema.structs.DataFile module¶
- class SimuBox.schema.structs.DataFile.Density(*, path: Path | None = None, data: DataFrame, NxNyNz: ndarray | None = None, lxlylz: ndarray | None = None, shape: ndarray | None = None)¶
-
密度类文件的解析结果。密度类文件包括:phout/phin/block/joint/component。
- NxNyNz: ndarray | None¶
- data: DataFrame¶
- lxlylz: ndarray | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'NxNyNz': FieldInfo(annotation=Union[ndarray, NoneType], required=False), 'data': FieldInfo(annotation=DataFrame, required=True), 'lxlylz': FieldInfo(annotation=Union[ndarray, NoneType], required=False), 'path': FieldInfo(annotation=Union[Path, NoneType], required=False), 'shape': FieldInfo(annotation=Union[ndarray, NoneType], required=False)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- path: Path | None¶
- repair_data(inputs: dict | Sequence[int | float] | Iterable[int | float] | ndarray | str = 'auto', species: dict | None = None, constraint: Sequence[int | float] | Iterable[int | float] | ndarray | None = None)¶
对密度数据进行修复(当前仅针对block.txt文件)
- 参数:
inputs – 每个嵌段的体积分数,该输入可以是input.json文件、嵌段体积分数的向量以及’auto’,’auto’代表通过线性方程求解来自动修复密度。
species – 每种分子链的体积分数,字典形式(键为json文件中的SpecyID, 值为VolumeFraction)。
constraint – 对于自动求解的模式,可以增加额外的限制变量。
- 返回:
- repair_from_printout(printout: Printout)¶
基于printout文件对密度进行修复。
- 参数:
printout – printout文件的解析结果。
- 返回:
None
- shape: ndarray | None¶
- class SimuBox.schema.structs.DataFile.DensityParseResult(*, path: Path | None = None, raw_NxNyNz: ndarray, raw_lxlylz: ndarray, raw_mat: ndarray, lxlylz: ndarray, NxNyNz: ndarray, mat: ndarray, expand: ndarray, target: list[int])¶
-
密度文件数据的二次加工结果
- NxNyNz: ndarray¶
- expand: ndarray¶
- lxlylz: ndarray¶
- mat: ndarray¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'NxNyNz': FieldInfo(annotation=ndarray, required=True), 'expand': FieldInfo(annotation=ndarray, required=True), 'lxlylz': FieldInfo(annotation=ndarray, required=True), 'mat': FieldInfo(annotation=ndarray, required=True), 'path': FieldInfo(annotation=Union[Path, NoneType], required=False), 'raw_NxNyNz': FieldInfo(annotation=ndarray, required=True), 'raw_lxlylz': FieldInfo(annotation=ndarray, required=True), 'raw_mat': FieldInfo(annotation=ndarray, required=True), 'target': FieldInfo(annotation=list[int], required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- path: Path | None¶
- raw_NxNyNz: ndarray¶
- raw_lxlylz: ndarray¶
- raw_mat: ndarray¶
- target: list[int]¶
- class SimuBox.schema.structs.DataFile.Fet(*, path: Path | None = None, xACN: float | None = None, xCAN: float | None = None, xABN: float | None = None, xBAN: float | None = None, xCBN: float | None = None, xBCN: float | None = None, stressX: float | None = None, stressY: float | None = None, stressZ: float | None = None, lx: float | None = None, ly: float | None = None, lz: float | None = None, lx_full: float | None = None, ly_full: float | None = None, lz_full: float | None = None, freeEnergy: float | None = None, freeAB_sum: float | None = None, freeAB: float | None = None, freeBA: float | None = None, freeAC: float | None = None, freeCA: float | None = None, freeBC: float | None = None, freeCB: float | None = None, freeW: float | None = None, freeS: float | None = None, freeDiff: float | None = None, inCompMax: float | None = None, Q0: float | None = None, VolumeFraction0: float | None = None, sumVolume: float | None = None, activity0: float | None = None)¶
-
SCFT产出的fet.dat(.txt)文件的解析结果。
- Q0: float | None¶
- VolumeFraction0: float | None¶
- activity0: float | None¶
- freeAB: float | None¶
- freeAB_sum: float | None¶
- freeAC: float | None¶
- freeBA: float | None¶
- freeBC: float | None¶
- freeCA: float | None¶
- freeCB: float | None¶
- freeDiff: float | None¶
- freeEnergy: float | None¶
- freeS: float | None¶
- freeW: float | None¶
- inCompMax: float | None¶
- lx: float | None¶
- lx_full: float | None¶
- ly: float | None¶
- ly_full: float | None¶
- lz: float | None¶
- lz_full: float | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'Q0': FieldInfo(annotation=Union[float, NoneType], required=False), 'VolumeFraction0': FieldInfo(annotation=Union[float, NoneType], required=False), 'activity0': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeAB': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeAB_sum': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeAC': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeBA': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeBC': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeCA': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeCB': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeDiff': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeEnergy': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeS': FieldInfo(annotation=Union[float, NoneType], required=False), 'freeW': FieldInfo(annotation=Union[float, NoneType], required=False), 'inCompMax': FieldInfo(annotation=Union[float, NoneType], required=False), 'lx': FieldInfo(annotation=Union[float, NoneType], required=False), 'lx_full': FieldInfo(annotation=Union[float, NoneType], required=False), 'ly': FieldInfo(annotation=Union[float, NoneType], required=False), 'ly_full': FieldInfo(annotation=Union[float, NoneType], required=False), 'lz': FieldInfo(annotation=Union[float, NoneType], required=False), 'lz_full': FieldInfo(annotation=Union[float, NoneType], required=False), 'path': FieldInfo(annotation=Union[Path, NoneType], required=False), 'stressX': FieldInfo(annotation=Union[float, NoneType], required=False), 'stressY': FieldInfo(annotation=Union[float, NoneType], required=False), 'stressZ': FieldInfo(annotation=Union[float, NoneType], required=False), 'sumVolume': FieldInfo(annotation=Union[float, NoneType], required=False), 'xABN': FieldInfo(annotation=Union[float, NoneType], required=False), 'xACN': FieldInfo(annotation=Union[float, NoneType], required=False), 'xBAN': FieldInfo(annotation=Union[float, NoneType], required=False), 'xBCN': FieldInfo(annotation=Union[float, NoneType], required=False), 'xCAN': FieldInfo(annotation=Union[float, NoneType], required=False), 'xCBN': FieldInfo(annotation=Union[float, NoneType], required=False)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- path: Path | None¶
- stressX: float | None¶
- stressY: float | None¶
- stressZ: float | None¶
- sumVolume: float | None¶
- xABN: float | None¶
- xACN: float | None¶
- xBAN: float | None¶
- xBCN: float | None¶
- xCAN: float | None¶
- xCBN: float | None¶
- class SimuBox.schema.structs.DataFile.Printout(*, path: Path | None = None, box: ndarray, lxlylz: ndarray, step: int, freeEnergy: float, freeW: float, freeS: float, freeWS: float, freeU: float, inCompMax: float, volumes: ndarray, potentials: ndarray)¶
-
TOPS产出的printout.txt文件的解析结果。
- box: ndarray¶
- freeEnergy: float¶
- freeS: float¶
- freeU: float¶
- freeW: float¶
- freeWS: float¶
- inCompMax: float¶
- lxlylz: ndarray¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'box': FieldInfo(annotation=ndarray, required=True), 'freeEnergy': FieldInfo(annotation=float, required=True), 'freeS': FieldInfo(annotation=float, required=True), 'freeU': FieldInfo(annotation=float, required=True), 'freeW': FieldInfo(annotation=float, required=True), 'freeWS': FieldInfo(annotation=float, required=True), 'inCompMax': FieldInfo(annotation=float, required=True), 'lxlylz': FieldInfo(annotation=ndarray, required=True), 'path': FieldInfo(annotation=Union[Path, NoneType], required=False), 'potentials': FieldInfo(annotation=ndarray, required=True), 'step': FieldInfo(annotation=int, required=True), 'volumes': FieldInfo(annotation=ndarray, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- path: Path | None¶
- potentials: ndarray¶
- step: int¶
- volumes: ndarray¶
- class SimuBox.schema.structs.DataFile.XML(*, path: Path, NxNyNz: ndarray, lxlylz: ndarray, grid_spacing: ndarray, data: DataFrame, atoms_type: list, atoms_mapping: dict[str, int])¶
-
- NxNyNz: ndarray¶
- atoms_mapping: dict[str, int]¶
- atoms_type: list¶
- data: DataFrame¶
- grid_spacing: ndarray¶
- lxlylz: ndarray¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'NxNyNz': FieldInfo(annotation=ndarray, required=True), 'atoms_mapping': FieldInfo(annotation=dict[str, int], required=True), 'atoms_type': FieldInfo(annotation=list, required=True), 'data': FieldInfo(annotation=DataFrame, required=True), 'grid_spacing': FieldInfo(annotation=ndarray, required=True), 'lxlylz': FieldInfo(annotation=ndarray, required=True), 'path': FieldInfo(annotation=Path, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- path: Path¶
- class SimuBox.schema.structs.DataFile.XMLTransResult(*, xml: XML, phi: ndarray)¶
-
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'phi': FieldInfo(annotation=ndarray, required=True), 'xml': FieldInfo(annotation=XML, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- phi: ndarray¶
- write(phi: ndarray | None = None, path: str | Path | None = None, scale: bool = False)¶
将密度信息输出到文件。
- 参数:
phi – 密度矩阵。
path – 文件路径。若为空,则默认在对应xml文件的同目录下。
scale – 是否对密度进行归一化。
- 返回: