PhysArena/2D_Multiscale_Hyperelasticity
owner: Safran license: cc-by-sa-4.0 data_production: type: simulation physics: 2D quasistatic non-linear structural mechanics, finite elasticity (large strains), P1 elements, compressible hyperelastic material simulator: fenics num_samples: train: 764 test: 376 storage_backend: hf_datasets This dataset was generated with plaid, we refer to this documentation for additional details on how to extract data from plaid_sample objects. The simplest way to use this dataset is to… See the full description on the dataset page: https://huggingface.co/datasets/PhysArena/2D_Multiscale_Hyperelasticity.
<p align='center'> <img src='https://i.ibb.co/JR7bWLNn/Logo-2-D-Multiscale-Hyperelasticity-2-consolas-100.png' alt='https://i.ibb.co/JR7bWLNn/Logo-2-D-Multiscale-Hyperelasticity-2-consolas-100.png' width='1000'/> <img src='https://i.ibb.co/zHFQFnPR/2-D-Multiscale-Hyperelasticity.png' alt='https://i.ibb.co/zHFQFnPR/2-D-Multiscale-Hyperelasticity.png' width='1000'/> </p>
owner: Safran
license: cc-by-sa-4.0
data_production:
type: simulation
physics: 2D quasistatic non-linear structural mechanics, finite elasticity (large
strains), P1 elements, compressible hyperelastic material
simulator: fenics
num_samples:
train: 764
test: 376
storage_backend: hf_datasets
This dataset was generated with `plaid`, we refer to this documentation for additional details on how to extract data from plaid_sample objects.
The simplest way to use this dataset is to first download it:
from plaid.storage import download_from_hub
repo_id = "channel/dataset"
local_folder = "downloaded_dataset"
download_from_hub(repo_id, local_folder)Then, to iterate over the dataset and instantiate samples:
from plaid.storage import init_from_disk
local_folder = "downloaded_dataset"
split_name = "train"
datasetdict, converterdict = init_from_disk(local_folder)
dataset = datasetdict[split]
converter = converterdict[split]
for i in range(len(dataset)):
plaid_sample = converter.to_plaid(dataset, i)It is possible to stream the data directly:
from plaid.storage import init_streaming_from_hub
repo_id = "channel/dataset"
datasetdict, converterdict = init_streaming_from_hub(repo_id)
dataset = datasetdict[split]
converter = converterdict[split]
for sample_raw in dataset:
plaid_sample = converter.sample_to_plaid(sample_raw)Sample features can then be retrieved as follows:
from plaid.storage import load_problem_definitions_from_disk
local_folder = "downloaded_dataset"
pb_defs = load_problem_definitions_from_disk(local_folder)
# or
from plaid.storage import load_problem_definitions_from_hub
repo_id = "channel/dataset"
pb_defs = load_problem_definitions_from_hub(repo_id)
pb_def = next(iter(pb_defs.values()))
plaid_sample = ... # use a method from above to instantiate a plaid sample
for t in plaid_sample.get_all_time_values():
for path in pb_def.input_features:
feature = plaid_sample.get_feature_by_path(path=path, time=t)
...
for path in pb_def.output_features:
feature = plaid_sample.get_feature_by_path(path=path, time=t)
...For those familiar with HF's datasets library, raw data can be retrieved without using the plaid library:
from datasets import load_dataset
repo_id = "channel/dataset"
datasetdict = load_dataset(repo_id)
for split_name, dataset in datasetdict.items():
for raw_sample in dataset:
for feat_name in dataset.column_names:
feature = raw_sample[feat_name]Notice that raw data refers to the variable features only, with a specific encoding for time variable features.
Dataset Sources
- Papers:
- arxiv
