abaqus_batch_pack.abaqus_automation module¶
- class abaqus_batch_pack.abaqus_automation.AbaqusCalculation(job_name, output_dir, workflow_strategy: JobWorkflowStrategy, cpus_per_job: int, abaqus_exe='abaqus')[source]¶
Bases:
object上下文类,持有并调用一个总的工作流策略来完成任务。
- class abaqus_batch_pack.abaqus_automation.BatchAbaqusProcessor(batch_data: list[dict], base_output_dir: str, cpus_per_job: int, abaqus_exe: str = 'abaqus', duplicate_mode: str = 'interactive')[source]¶
Bases:
objectRun multiple Abaqus calculations in parallel based on a batch configuration.
- run_batch(num_parallel_jobs: int, output_type: str = 'list')[source]¶
Run all calculations in parallel using multiprocessing.
- Parameters:
num_parallel_jobs (int) – Number of parallel jobs to run.
output_type (str) – Type of output, either ‘list’ or ‘dict’.
- Returns:
results of all calculations.
- Return type:
list[dict] or dict[str, dict]
Example
>>> processor.run_batch(num_parallel_jobs=4, output_type='list') [ { 'total_mass': 0.000320662622552476, 'max_stress_mises': 4525.26025390625, 'max_displacement': 4.189039707183838, 'status': 'COMPLETED', 'job_name': 'test_inp_based_job' }, ... ]
>>> processor.run_batch(num_parallel_jobs=4, output_type='dict') { 'test_inp_based_job': { 'total_mass': 0.000320662622552476, 'max_stress_mises': 4525.26025390625, 'max_displacement': 4.189039707183838, 'status': 'COMPLETED'} ... }
- abaqus_batch_pack.abaqus_automation.degenerate_from_array(results, output_names, default_value=nan) ndarray[source]¶
Depack results from a batch job into a 2D numpy array.
- Parameters:
results (list[dict]) – List of results dictionaries from the batch job.
output_names (list[str]) – List of output names to extract from each result.
default_value (optional, default=np.nan) – Value to use if an output is missing in a result.
- Returns:
A 2D numpy array where each row corresponds to a job and each column corresponds to an output name.
- Return type:
np.ndarray
- abaqus_batch_pack.abaqus_automation.generate_from_array(samples_array, param_names, base_config) list[dict][source]¶
Generate batch job configurations from a numerical array (numpy or torch).
- Parameters:
samples_array (np.ndarray or torch.Tensor) – size (n_samples, n_dim)
param_names (list[str]) – A list of strings of length n_dim specifying the parameter names corresponding to each column of the array.
base_config (dict) – The base configuration shared by all tasks.
- Returns:
list of generated batch_jobs_data.
- Return type:
list[dict]