Source code for model_package.Calibrate.elastic_map_to_material_card

#!python
import argparse
import pathlib
import sys

import pandas

from model_package.Tardigrade_MOOSE import write_elastic_material_card


[docs] def elastic_map_to_material_card(map_file, element_number, output_file): '''Unpack a csv file of elastic parameters and call function to write elastic yaml file :params str map_file: CSV file containing previously calibrated elastic parameters :params int element_number: The id of the element to extract calibration data :params str output_file: The name of the yml material card to write ''' df = pandas.read_csv(map_file) row = df[df['element'] == element_number] write_elastic_material_card.write_elastic_material_card( output_file, lamb=row['lambda'].values[0], mu=row['mu'].values[0], eta=row['eta'].values[0], tau=row['tau'].values[0], kappa=row['kappa'].values[0], nu=row['nu'].values[0], sigma=row['sigma'].values[0], tau1=row['tau1'].values[0], tau2=row['tau2'].values[0], tau3=row['tau3'].values[0], tau4=row['tau4'].values[0], tau5=row['tau5'].values[0], tau6=row['tau6'].values[0], tau7=row['tau7'].values[0], tau8=row['tau8'].values[0], tau9=row['tau9'].values[0], tau10=row['tau10'].values[0], tau11=row['tau11'].values[0]) return 0
def get_parser(): script_name = pathlib.Path(__file__) prog = f"python {script_name.name} " cli_description = "Unpack a csv file of elastic parameters and call function to write elastic yaml file" parser=argparse.ArgumentParser(description=cli_description, prog=prog) parser.add_argument('--map-file', type=str, required=True, help="CSV file containing previously calibrated elastic parameters") parser.add_argument('--element-number', type=int, required=True, help="The id of the element to extract calibration data") parser.add_argument('--output-file', type=str, required=True, help="The name of the yml material card to write") return parser if __name__ == '__main__': parser = get_parser() args, unknown = parser.parse_known_args() sys.exit(elastic_map_to_material_card(map_file=args.map_file, element_number=args.element_number, output_file=args.output_file, ))